diff --git a/package.json b/package.json index d020293..da48b4d 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "SpessaSynth", - "version": "3.23.2", + "version": "3.23.3", "type": "module", "scripts": { "start": "node src/website/server/server.js", diff --git a/src/spessasynth_lib/synthetizer/key_modifier_manager.js b/src/spessasynth_lib/synthetizer/key_modifier_manager.js index 94295a8..19a42b5 100644 --- a/src/spessasynth_lib/synthetizer/key_modifier_manager.js +++ b/src/spessasynth_lib/synthetizer/key_modifier_manager.js @@ -9,6 +9,12 @@ export class KeyModifierManager constructor(synth) { this.synth = synth; + /** + * The velocity override mappings for MIDI keys + * @type {KeyModifier[][]} + * @private + */ + this._keyModifiers = []; } /** @@ -44,12 +50,29 @@ export class KeyModifierManager const velocity = options?.velocity ?? -1; const program = options?.patch?.program ?? -1; const bank = options?.patch?.bank ?? -1; + const mod = new KeyModifier(velocity, bank, program); + if (this._keyModifiers[channel] === undefined) + { + this._keyModifiers[channel] = []; + } + this._keyModifiers[channel][midiNote] = mod; this._sendToWorklet( workletKeyModifierMessageType.addMapping, - [channel, midiNote, new KeyModifier(velocity, bank, program)] + [channel, midiNote, mod] ); } + /** + * Gets a key modifier + * @param channel {number} the channel affected. Usually 0-15 + * @param midiNote {number} the MIDI note to change. 0-127 + * @returns {KeyModifier|undefined} + */ + getModifier(channel, midiNote) + { + return this._keyModifiers?.[channel]?.[midiNote]; + } + /** * Deletes a key modifier * @param channel {number} the channel affected. Usually 0-15 @@ -61,6 +84,11 @@ export class KeyModifierManager workletKeyModifierMessageType.deleteMapping, [channel, midiNote] ); + if (this._keyModifiers[channel]?.[midiNote] === undefined) + { + return; + } + this._keyModifiers[channel][midiNote] = undefined; } /** @@ -69,5 +97,6 @@ export class KeyModifierManager clearModifiers() { this._sendToWorklet(workletKeyModifierMessageType.clearMappings, undefined); + this._keyModifiers = []; } } \ No newline at end of file diff --git a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/worklet_key_modifier.js b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/worklet_key_modifier.js index a15ba01..6023c50 100644 --- a/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/worklet_key_modifier.js +++ b/src/spessasynth_lib/synthetizer/worklet_system/worklet_methods/worklet_key_modifier.js @@ -31,9 +31,9 @@ export class KeyModifier * @enum {number} */ export const workletKeyModifierMessageType = { - addMapping: 0, // [channel, mapping] - deleteMapping: 1, // [channel] - clearMappings: 2 // + addMapping: 0, // [channel, midiNote, mapping] + deleteMapping: 1, // [channel, midiNote] + clearMappings: 2 // }; export class WorkletKeyModifierManager diff --git a/src/website/js/synthesizer_ui/methods/key_modifier_ui.js b/src/website/js/synthesizer_ui/methods/key_modifier_ui.js index 8d88378..eeffdf8 100644 --- a/src/website/js/synthesizer_ui/methods/key_modifier_ui.js +++ b/src/website/js/synthesizer_ui/methods/key_modifier_ui.js @@ -71,7 +71,9 @@ async function doModifyKey(synth, locale, keyboard, presetList) { presetOptions[p.presetName] = p.presetName; } - showNotification( + const mod = synth.keyModifierManager.getModifier(keyboard.channel, key); + const vel = mod?.velocity ?? -1; + const n = showNotification( locale.getLocaleString(LOCALE_PATH + "modifyKey.title"), [ { @@ -96,7 +98,7 @@ async function doModifyKey(synth, locale, keyboard, presetList) { type: "input", translatePathTitle: LOCALE_PATH + "modifyKey.velocity", - attributes: getInput("vel", 0, 127, -1) + attributes: getInput("vel", 0, 127, vel) }, { type: "select", @@ -135,6 +137,12 @@ async function doModifyKey(synth, locale, keyboard, presetList) true, locale ); + const prog = mod?.patch?.program ?? -1; + const bank = mod?.patch?.bank ?? -1; + if (bank !== -1 && prog !== -1) + { + n.div.querySelector("select[preset-selector]").value = presetList.find(p => p.bank === bank && p.program === prog).presetName; + } } /** @@ -159,7 +167,7 @@ async function doRemoveModification(synth, locale, keyboard) onClick: async n => { closeNotification(n.id); - await doModifyKey(synth, locale, keyboard); + await doRemoveModification(synth, locale, keyboard); } }, { diff --git a/src/website/minified/demo_main.min.js b/src/website/minified/demo_main.min.js index ffe480a..6afc1cc 100644 --- a/src/website/minified/demo_main.min.js +++ b/src/website/minified/demo_main.min.js @@ -1,4 +1,4 @@ -var vE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var j5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((d,p)=>d+p.length,0),A=new j5(i),c=0;for(let d of n)A.set(d,c),c+=d.length;return A}function w$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function qC(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var y7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var Z3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function $y(n){let i=n&240,A=n&15,c=-1,d=n;return i>=128&&i<=224&&(c=A,d=i),{status:d,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var kE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&Object.values(this.events[i]).forEach(c=>c(A))}};var Hr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},kp=class{constructor(i,A=Hr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let d=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],O=[],H=A.oscillatorFrequency,P=A.defaultDelay;for(let U=0;U{let p=await d.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var Q4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Sp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},s7=-1,v$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var wD=!1,vD=!0,HC=!1;function _5(...n){wD&&console.info(...n)}function I9(...n){vD&&console.warn(...n)}function M7(...n){HC&&console.group(...n)}function y8(...n){HC&&console.groupCollapsed(...n)}function g9(){HC&&console.groupEnd()}var cy={chorusEnabled:!0,chorusConfig:Hr,reverbEnabled:!0,reverbImpulseResponse:void 0};var bp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var SE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:Q4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(d=>d.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(bp.addNewSoundFont,[i,A,c]),await new Promise(d=>this.synth.resolveWhenReady=d),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){I9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){I9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(bp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(bp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(bp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var m0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},Z6=[];Z6[m0.startAddrsOffset]={min:0,max:32768,def:0};Z6[m0.endAddrOffset]={min:-32768,max:32768,def:0};Z6[m0.startloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.endloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.startAddrsCoarseOffset]={min:0,max:32768,def:0};Z6[m0.modLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.initialFilterFc]={min:1500,max:13500,def:13500};Z6[m0.initialFilterQ]={min:0,max:960,def:0};Z6[m0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.modLfoToVolume]={min:-960,max:960,def:0};Z6[m0.chorusEffectsSend]={min:0,max:1e3,def:0};Z6[m0.reverbEffectsSend]={min:0,max:1e3,def:0};Z6[m0.pan]={min:-500,max:500,def:0};Z6[m0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqModLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqVibLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayModEnv]={min:-32768,max:5e3,def:-32768};Z6[m0.attackModEnv]={min:-32768,max:8e3,def:-32768};Z6[m0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainModEnv]={min:0,max:1e3,def:0};Z6[m0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainVolEnv]={min:0,max:1440,def:0};Z6[m0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.keyNum]={min:-1,max:127,def:-1};Z6[m0.velocity]={min:-1,max:127,def:-1};Z6[m0.initialAttenuation]={min:-250,max:1440,def:0};Z6[m0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.coarseTune]={min:-120,max:120,def:0};Z6[m0.fineTune]={min:-12700,max:12700,def:0};Z6[m0.scaleTuning]={min:0,max:1200,def:100};Z6[m0.exclusiveClass]={min:0,max:99999,def:0};Z6[m0.overridingRootKey]={min:-1,max:127,def:-1};Z6[m0.sampleModes]={min:0,max:3,def:0};var u6=class{generatorType=m0.INVALID;generatorValue=0;constructor(i=m0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let d=Z6[i];d!==void 0&&(this.generatorValue=Math.max(d.min,Math.min(d.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},X7={linear:0,concave:1,convex:2,switch:3},$e=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=m0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===m0.reverbEffectsSend||this.modulatorDestination===m0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(d,p){return Object.keys(d).find(O=>d[O]===p)}let A=i(X7,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(X7,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: +var vE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var j5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((d,p)=>d+p.length,0),A=new j5(i),c=0;for(let d of n)A.set(d,c),c+=d.length;return A}function w$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function qC(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var y7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var Z3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function Ay(n){let i=n&240,A=n&15,c=-1,d=n;return i>=128&&i<=224&&(c=A,d=i),{status:d,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var kE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&Object.values(this.events[i]).forEach(c=>c(A))}};var Hr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},kp=class{constructor(i,A=Hr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let d=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],U=[],j=A.oscillatorFrequency,O=A.defaultDelay;for(let P=0;P{let p=await d.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var Q4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},Sp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},s7=-1,v$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var vD=!1,kD=!0,HC=!1;function _5(...n){vD&&console.info(...n)}function I9(...n){kD&&console.warn(...n)}function M7(...n){HC&&console.group(...n)}function y8(...n){HC&&console.groupCollapsed(...n)}function g9(){HC&&console.groupEnd()}var ly={chorusEnabled:!0,chorusConfig:Hr,reverbEnabled:!0,reverbImpulseResponse:void 0};var bp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var SE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:Q4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(d=>d.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(bp.addNewSoundFont,[i,A,c]),await new Promise(d=>this.synth.resolveWhenReady=d),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){I9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){I9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(bp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(bp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(bp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var m0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},Z6=[];Z6[m0.startAddrsOffset]={min:0,max:32768,def:0};Z6[m0.endAddrOffset]={min:-32768,max:32768,def:0};Z6[m0.startloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.endloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.startAddrsCoarseOffset]={min:0,max:32768,def:0};Z6[m0.modLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.initialFilterFc]={min:1500,max:13500,def:13500};Z6[m0.initialFilterQ]={min:0,max:960,def:0};Z6[m0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.modLfoToVolume]={min:-960,max:960,def:0};Z6[m0.chorusEffectsSend]={min:0,max:1e3,def:0};Z6[m0.reverbEffectsSend]={min:0,max:1e3,def:0};Z6[m0.pan]={min:-500,max:500,def:0};Z6[m0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqModLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqVibLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayModEnv]={min:-32768,max:5e3,def:-32768};Z6[m0.attackModEnv]={min:-32768,max:8e3,def:-32768};Z6[m0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainModEnv]={min:0,max:1e3,def:0};Z6[m0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainVolEnv]={min:0,max:1440,def:0};Z6[m0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.keyNum]={min:-1,max:127,def:-1};Z6[m0.velocity]={min:-1,max:127,def:-1};Z6[m0.initialAttenuation]={min:-250,max:1440,def:0};Z6[m0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.coarseTune]={min:-120,max:120,def:0};Z6[m0.fineTune]={min:-12700,max:12700,def:0};Z6[m0.scaleTuning]={min:0,max:1200,def:100};Z6[m0.exclusiveClass]={min:0,max:99999,def:0};Z6[m0.overridingRootKey]={min:-1,max:127,def:-1};Z6[m0.sampleModes]={min:0,max:3,def:0};var u6=class{generatorType=m0.INVALID;generatorValue=0;constructor(i=m0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let d=Z6[i];d!==void 0&&(this.generatorValue=Math.max(d.min,Math.min(d.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},X7={linear:0,concave:1,convex:2,switch:3},$e=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=m0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===m0.reverbEffectsSend||this.modulatorDestination===m0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(d,p){return Object.keys(d).find(U=>d[U]===p)}let A=i(X7,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(X7,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: Source: ${A} Secondary source: ${c} Destination: ${i(m0,this.modulatorDestination)} @@ -6,12 +6,12 @@ var vE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( Transform type: ${this.transformType} -`}},YC=960,VC=X7.concave;function Yr(n,i,A,c,d){return n<<10|i<<9|A<<8|c<<7|d}var bE=[new $e({srcEnum:Yr(VC,0,1,0,q4.noteOnVelocity),dest:m0.initialAttenuation,amt:YC,secSrcEnum:0,transform:0}),new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(VC,0,1,1,$3.mainVolume),dest:m0.initialAttenuation,amt:YC,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:526,dest:m0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new $e({srcEnum:650,dest:m0.pan,amt:500,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(VC,0,1,1,$3.expressionController),dest:m0.initialAttenuation,amt:YC,secSrcEnum:0,transform:0}),new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,0,0,0,q4.polyPressure),dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,0,0,1,$3.tremoloDepth),dest:m0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,1,0,1,$3.releaseTime),dest:m0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,1,0,1,$3.brightness),dest:m0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,1,0,1,$3.timbreHarmonicContent),dest:m0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var k$=128,gy=147,kD=new Int16Array(gy).fill(0),a7=(n,i)=>kD[n]=i<<7;a7($3.mainVolume,100);a7($3.balance,64);a7($3.expressionController,127);a7($3.pan,64);a7($3.timbreHarmonicContent,64);a7($3.releaseTime,64);a7($3.attackTime,64);a7($3.brightness,64);a7($3.soundController6,64);a7($3.soundController7,64);a7($3.soundController8,64);a7($3.soundController9,64);a7($3.generalPurposeController6,64);a7($3.generalPurposeController8,64);a7(k$+q4.pitchWheel,64);a7(k$+q4.pitchWheelRange,2);var DE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},uy=Object.keys(DE).length,SD=new Float32Array(uy);SD[DE.modulationMultiplier]=1;var dy={velocityOverride:128};var _E=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},xE={addMapping:0,deleteMapping:1,clearMappings:2};var LE=class{constructor(i){this.synth=i}_sendToWorklet(i,A){this.synth.post({messageType:Q4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let d=c?.velocity??-1,p=c?.patch?.program??-1,O=c?.patch?.bank??-1;this._sendToWorklet(xE.addMapping,[i,A,new _E(d,O,p)])}deleteModifier(i,A){this._sendToWorklet(xE.deleteMapping,[i,A])}clearModifiers(){this._sendToWorklet(xE.clearMappings,void 0)}};var bD="spessasynth-worklet-system",JC=350,R7=9,DD=16;var fu=class{constructor(i,A,c=!0,d=void 0,p=cy){_5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let O=d?.oneOutput===!0;this.eventHandler=new kE,this._voiceCap=JC,this._destroyed=!1,this._outputsAmount=DD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(U=>this.resolveWhenReady=U),this.channelProperties=[];for(let U=0;Uthis.handleMessage(U.data),this.soundfontManager=new SE(this),this.keyModifierManager=new LE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!O&&(this.reverbProcessor=ly(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!O&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),O)this.worklet.connect(i,0);else for(let U=2;U{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(Sp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,d){this.post({channelNumber:s7,messageType:Q4.setLogLevel,messageData:[i,A,c,d]})}_setMasterParam(i,A){this.post({channelNumber:s7,messageType:Q4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(Sp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case v$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,d)=>c+d.voicesAmount,0);break;case v$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case v$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case v$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case v$.ready:this.resolveWhenReady();break;case v$.soundfontError:I9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:Q4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:s7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:Q4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:Q4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:Q4.ccChange,messageData:[A,c,d]})}resetControllers(){this.post({channelNumber:s7,messageType:Q4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:Q4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:Q4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:Q4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(s7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:Q4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(Sp.mainVolume,i)}setMasterPan(i){this._setMasterParam(Sp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:Q4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:Q4.ccChange,messageData:[dy.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:Q4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:Q4.muteChannel,messageData:A})}async reloadSoundFont(i){I9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:s7,messageType:Q4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:Q4.setDrums,messageData:A})}sendMessage(i,A=0){let c=$y(i[0]);switch(c.channel+=A,c.status){case Z3.noteOn:let d=i[2];d>0?this.noteOn(c.channel,i[1],d):this.noteOff(c.channel,i[1]);break;case Z3.noteOff:this.noteOff(c.channel,i[1]);break;case Z3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case Z3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case Z3.programChange:this.programChange(c.channel,i[1]);break;case Z3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case Z3.channelPressure:this.channelPressure(c.channel,i[1]);break;case Z3.systemExclusive:this.systemExclusive(new j5(i.slice(1)));break;case Z3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new kp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:Q4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:Q4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,d)=>{let p;if(F7)p=127;else{let H=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let P=d.clientX-H.left,U=H.width;p=Math.floor((U-P)/U*127)}else{let P=d.clientY-H.top,U=H.height;p=Math.floor(P/U*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let d=c.touches?Array.from(c.touches):[c],p=new Set;d.forEach(O=>{let H=document.elementFromPoint(O.clientX,O.clientY),P=parseInt(H.id.replace("note",""));p.add(P),!(isNaN(P)||P<0||this.pressedKeys.has(P))&&(this.pressedKeys.add(P),i(P,O))}),this.pressedKeys.forEach(O=>{p.has(O)||n(O)})};F7||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var fy=20,Dp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let d=0;d<128;d++)this.releaseNote(d,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(O=A(i+1)),O&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):O&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let d=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,O;for(let H of p)if(H.selectorText==="#keyboard .key"){O=H;break}if(O.style.setProperty("--pressed-transform-skew",`${8e-4/(d/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let H=getComputedStyle(this.keyboard),P=parseFloat(H.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),U=this.keyboard.getBoundingClientRect().height,W0=d/P,_=U*W0-U,e0=(this._keyRange.min+this._keyRange.max)/2,i0=(i.min+i.max)/2;this._keyRange=i;let a1=this.keys.find(C2=>C2.classList.contains("sharp_key")).getBoundingClientRect().width,_1=(e0-i0)*a1,f1=parseFloat(H.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${W0}) translateX(${_1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${f1/W0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${d}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${d}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let d=this.keys[i-this._keyRange.min];if(d===void 0)return;d.classList.add("pressed");let p=d.classList.contains("sharp_key"),O=c/127,H=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),P;if(!p&&this.mode==="light"?P=`rgba(${H.slice(0,3).map(W0=>255-(255-W0)*O).join(", ")}, ${H[3]})`:P=`rgba(${H.slice(0,3).map(W0=>W0*O).join(", ")}, ${H[3]})`,d.style.background=P,this.mode==="dark"){let U=fy*O;d.style.boxShadow=`${P} 0px 0px ${U}px ${U/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let d=this.keyColors[i-this._keyRange.min];if(!d)return;let p=d.findLastIndex(O=>O===this.channelColors[A]);p!==-1&&(d.splice(p,1),c.style.background=d[d.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${fy}px ${d[d.length-1]}`),d.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Dp.prototype._handlePointers=hy;function S$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var xD="#000";function Iy(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let d=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*d,A){i.fillRect(c.xPos,c.yPos-c.height*d,c.width,c.height*(d*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*d,c.yPos,c.width*(d*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=xD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var zC=!1;function my(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(zC){n&&requestAnimationFrame(this.render.bind(this));return}else zC=!0;else zC=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||Iy(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let d=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${ME}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,ME*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(d).toString()+" FPS",this.canvas.width,ME+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function py(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,d=i/(c+1),p=d-D$*2,O=this.noteFallingTimeMs/1e3,H=this.noteAfterTriggerTimeMs/1e3,P=this.seq.currentHighResolutionTime,U=P-H,W0=O+H,_=U+W0,e0=Cy/W0,i0=[];this.synth.channelProperties.forEach(_1=>{if(this.showVisualPitch){let f1=_1.pitchBend-8192+this.visualPitchBendOffset;i0.push(_1.pitchBendRangeSemitones*(f1/8192*d))}else i0.push(0)});let a1=[];return this.noteTimes.forEach((_1,f1)=>{if(_1.renderStartIndex>=_1.notes.length||!this.renderChannels[f1])return;let C2=_1.renderStartIndex,u2=_1.notes,I2=u2[C2],K2=-1;for(;I2.start<=_&&(C2++,!(this.notesOnScreen>By));){let J2=I2.start+I2.length;if(J2>U&&I2.length>0){let A0=I2.length/W0*A-D$*2;if(this.notesOnScreen<1e3||A0>e0){K2===-1&&(K2=C2-1);let C5=(I2.start-U)/W0*A,p3;if(this._notesFall?p3=A-A0-C5+D$:p3=C5+D$,I2.midiNotethis.keyRange.max){if(C2>=u2.length)break;I2=u2[C2];continue}let w3=I2.midiNote-this.keyRange.min,m6=d*w3+D$,v3,x6,u9,P3;if(this.sideways?(v3=p3,x6=m6,P3=p,u9=A0):(x6=p3,v3=m6,u9=p,P3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[f1],this.drawingContext.fillRect(v3+b$+D$,x6+b$,u9-b$*2,P3-b$*2);else{let w6;if(I2.start>P||J2=u2.length)break;I2=u2[C2]}K2>-1&&(_1.renderStartIndex=K2)}),a1.sort((_1,f1)=>f1.height-_1.height),a1}function Qy(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let d=c%4,p=Math.floor(c/4),O=!1;for(let _=c;_0){O=!0;break}if(!O){let _=this.canvas.width/4,e0=this.canvas.height/4,i0=_*d,a1=e0*p+e0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(i0,a1),this.drawingContext.lineTo(i0+_,a1),this.drawingContext.stroke();return}let H=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(H);let P=n*d,U=i*p+i/2,W0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=H.length/4,e0=n/_,i0=Math.floor(_/2),a1=H.length-i0;for(let u2=a1;u2>=1;u2--)if(H[u2-1]<0&&H[u2]>=0){a1=u2;break}let _1=P,f1=a1-i0,C2=a1+i0;for(let u2=f1;u2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function vy(){for(let n=0;n4096?this.delayNode.delayTime.value=d/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function ky(n){n.connectIndividualOutputs(this.channelAnalysers),n.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{setTimeout(this.updateFftSize.bind(this),100)})}function Sy(){for(let n of this.channelAnalysers)n.disconnect();_5("%cAnalysers disconnected!",C1.recognized)}function by(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),d=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${d}), rgba(0, 0, 0, ${d})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function Dy(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function KC(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function _p(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var Iu=.02;function _y(n){function i(U){return U.messageData=new j5(U.messageData.buffer),U.messageData.currentIndex=0,6e7/KC(U.messageData,3)}let A=[],d=n.tracks.flat();d.sort((U,W0)=>U.ticks-W0.ticks);for(let U=0;U<16;U++)A.push({renderStartIndex:0,notes:[]});let p=0,O=60/(120*n.timeDivision),H=0,P=0;for(;H>4,_=U.messageStatusByte&15;if(W0===8){let e0=A[_].notes.findLast(i0=>i0.midiNote===U.messageData[0]&&i0.length===-1);if(e0){let i0=p-e0.start;e0.length=i0i0.midiNote===U.messageData[0]&&i0.length===-1);if(e0){let i0=p-e0.start;e0.length=i0=d.length)break;p+=O*(d[H].ticks-U.ticks)}P>0&&A.forEach((U,W0)=>U.notes.filter(_=>_.length===-1).forEach(_=>{let e0=p-_.start;_.length=e0i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*FE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*FE*RE)),A.addColorStop(1,S$(i,c=>c*RE)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*FE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*FE*RE)),A.addColorStop(1,S$(i,c=>c*RE)),A})}};T7.prototype.render=my;T7.prototype.computeNotePositions=py;T7.prototype.createChannelAnalysers=wy;T7.prototype.updateFftSize=vy;T7.prototype.connectChannelAnalysers=ky;T7.prototype.disconnectChannelAnalysers=Sy;T7.prototype.connectSequencer=by;T7.prototype.calculateNoteTimes=_y;T7.prototype.resetIndexes=Dy;T7.prototype.renderWaveforms=Qy;function s3(n,i){let A=0;for(let c=0;c>>0}function fi(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function p9(n,i){fi(n,i,4)}function Ga(n,i){let A=i<<8|n;return A>32767?A-65536:A}function xy(n){return n>127?n-256:n}function y4(n,i,A=void 0,c=!0){if(A){let d=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(d.buffer)}else{let d=!1,p="";for(let O=0;O127)&&H!==10){if(c){d=!0;continue}else if(H===0){d=!0;continue}}p+=String.fromCharCode(H)}}return p}}function N7(n,i=0){let A=n.length;i>0&&(A=i);let c=new j5(A);return P8(c,n,i),c}function P8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,y4(A.chunkData,4)===i))}function TE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function NE(n){let i=[];for(let d of n.tracks){let p=[],O=0,H;for(let P of d){let U=P.ticks-O,W0;P.messageStatusByte<=Z3.keySignature||P.messageStatusByte===Z3.sequenceSpecific?W0=[255,P.messageStatusByte,...TE(P.messageData.length),...P.messageData]:P.messageStatusByte===Z3.systemExclusive?W0=[240,...TE(P.messageData.length),...P.messageData]:(W0=[],H!==P.messageStatusByte&&(H=P.messageStatusByte,W0.push(P.messageStatusByte)),W0.push(...P.messageData)),p.push(...TE(U)),p.push(...W0),O+=U}i.push(new Uint8Array(p))}function A(d,p){for(let O=0;O{n.tracks.forEach((a1,_1)=>{if(n.midiPorts[_1]===i0)for(let f1=a1.length-1;f1>=0;f1--)a1[f1].messageStatusByte>=128&&a1[f1].messageStatusByte<240&&(a1[f1].messageStatusByte&15)===e0&&a1.splice(f1,1)})};c.forEach(e0=>{let i0=e0%16,a1=e0-i0,_1=n.midiPortChannelOffsets.findIndex(f1=>f1===a1);p(i0,_1),_5(`%cRemoving channel %c${e0}%c!`,C1.info,C1.recognized,C1.info)});let O=!1,H="gs",P=[],U=[];n.tracks.forEach((e0,i0)=>{e0.forEach(a1=>{let _1=a1.messageStatusByte&240;_1===Z3.controllerChange?P.push({track:i0,message:a1,channel:a1.messageStatusByte&15}):_1===Z3.programChange?U.push({track:i0,message:a1,channel:a1.messageStatusByte&15}):a1.messageStatusByte===Z3.systemExclusive&&(a1.messageData[0]===67&&a1.messageData[2]===76&&a1.messageData[5]===126&&a1.messageData[6]===0?(_5("%cXG system on detected",C1.info),H="xg",O=!0):a1.messageData[0]===67&&a1.messageData[2]===76&&a1.messageData[3]===8&&a1.messageData[5]===3&&U.push({track:i0,message:a1,channel:a1.messageData[4]}))})});let W0=(e0,i0,a1)=>n.tracks.reduce((_1,f1,C2)=>{if(n.usedChannelsOnTrack[C2].has(e0)&&n.midiPorts[C2]===i0){let u2;a1?u2=f1.findIndex(I2=>(I2.messageStatusByte&240)===Z3.noteOn):u2=f1.findIndex(I2=>I2.messageStatusByte>128&&I2.messageStatusByte<240&&(I2.messageStatusByte&15)===e0&&!(I2.messageStatusByte&Z3.controllerChange===240&&(I2.messageData[0]===$3.resetAllControllers||I2.messageData[0]===$3.allNotesOff||I2.messageData[0]===$3.allSoundOff))),u2!==-1&&_1.push({index:u2,track:C2})}return _1},[]),_=(e0,i0,a1)=>{let _1=P.filter(f1=>f1.channel===e0&&f1.message.messageData[0]===a1&&n.midiPorts[f1.track]===i0);for(let f1=0;f1<_1.length;f1++){let C2=_1[f1];n.tracks[C2.track].splice(n.tracks[C2.track].indexOf(C2.message),1),P.splice(P.indexOf(C2),1)}};A.forEach(e0=>{let i0=e0.channel,a1=i0%16,_1=i0-a1,f1=n.midiPortChannelOffsets.findIndex(A0=>A0===_1),C2=e0.controllerValue,u2=e0.controllerNumber;_(a1,f1,u2),_5(`%cNo controller %c${u2}%c on channel %c${i0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let I2=W0(a1,f1,!0);if(I2.length===0){I9("Program change but no notes... ignoring!");return}let K2=I2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let i0=e0.channel%16,a1=e0.channel-i0,_1=n.midiPortChannelOffsets.findIndex(w3=>w3===a1),f1=e0.isDrum?0:e0.bank,C2=e0.program,u2=U.filter(w3=>n.midiPorts[w3.track]===_1&&w3.channel===i0);if(_(i0,_1,$3.bankSelect),_(i0,_1,$3.lsbForControl0BankSelect),(e0.isDrum||f1>0)&&!O&&(n.tracks.forEach(w3=>{for(let m6=0;m60);if(I2.length===0){I9("Program change but no notes... ignoring!");return}let K2=I2.reduce((w3,m6)=>n.tracks[m6.track][m6.index].ticks{if(n.midiPorts[u2]!==a1||!n.usedChannelsOnTrack[u2].has(i0))return;let I2=Z3.noteOn|i0,K2=Z3.noteOff|i0,J2=Z3.polyPressure|i0;C2.forEach(A0=>{A0.messageStatusByte!==I2&&A0.messageStatusByte!==K2&&A0.messageStatusByte!==J2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+_1)))})}),f1!==0){let C2=n.tracks.find((v3,x6)=>n.usedChannelsOnTrack[x6].has(e0.channel));if(C2===void 0){I9(`Channel ${e0.channel} unused but transpose requested???`);continue}let u2=Z3.noteOn|e0.channel%16,I2=C2.findIndex(v3=>v3.messageStatusByte===u2);if(I2===-1){I9(`No notes on channel ${e0.channel} but transpose requested???`);continue}let K2=C2[I2].ticks,J2=f1*64+64,A0=Z3.controllerChange|e0.channel%16,C5=new y7(K2,A0,new j5([$3.RPNMsb,0])),p3=new y7(K2,A0,new j5([$3.RPNLsb,1])),w3=new y7(K2,A0,new j5([$3.dataEntryMsb,J2])),m6=new y7(K2,A0,new j5([$3.lsbForControl6DataEntry,0]));C2.splice(I2,0,m6),C2.splice(I2,0,w3),C2.splice(I2,0,p3),C2.splice(I2,0,C5)}}g9()}function Ua(n,i){let A=[],c=[],d=[],p=[];i.channelSnapshots.forEach((O,H)=>{if(O.isMuted){c.push(H);return}let P=O.channelTransposeKeyShift+O.customControllers[DE.channelTransposeFine]/100;P!==0&&A.push({channel:H,keyShift:P}),O.lockPreset&&d.push({channel:H,program:O.program,bank:O.bank,isDrum:O.drumChannel}),O.lockedControllers.forEach((U,W0)=>{if(!U||W0>127||W0===$3.bankSelect)return;let _=O.midiControllers[W0]>>7;p.push({channel:H,controllerNumber:W0,controllerValue:_})})}),ND(n,d,p,c,A)}var O8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Pa="utf-8",GD="Created using SpessaSynth";function Ly(n,i,A,c=0,d="Shift_JIS",p={},O=!0){if(M7("%cWriting the RMIDI File...",C1.info),_5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${d}`,C1.info,C1.value,C1.info,C1.value),_5("metadata",p),_5("Initial bank offset",i.bankOffset),O){let C2=function(){let J2=0,A0=1/0;return i.tracks.forEach((C5,p3)=>{_1[p3]>=C5.length||C5[_1[p3]].ticksA0>J2?A0:J2),K2=[];for(let J2=0;J20;){let J2=C2(),A0=i.tracks[J2];if(_1[J2]>=A0.length){f1--;continue}let C5=A0[_1[J2]];_1[J2]++;let p3=i.midiPortChannelOffsets[u2[J2]];if(C5.messageStatusByte===Z3.midiPort){u2[J2]=C5.messageData[0];continue}let w3=C5.messageStatusByte&240;if(w3!==Z3.controllerChange&&w3!==Z3.programChange&&w3!==Z3.systemExclusive)continue;if(w3===Z3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?i0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?i0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(i0="gm",a1.push({tNum:J2,e:C5}));continue}let x6=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+p3;K2[x6].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let m6=(C5.messageStatusByte&15)+p3,v3=K2[m6];if(w3===Z3.programChange){v3.drums?A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank===128)?.program||0):A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank!==128)?.program||0),v3.program=C5.messageData[0];let x6=Math.max(0,v3.lastBank?.messageData[1]-i.bankOffset),u9=v3.drums?128:x6;if(v3.lastBank===void 0)continue;if(i0==="xg"&&v3.drums&&(K2[m6].lastBank.messageData[1]=127),A.presets.findIndex(P3=>P3.bank===u9&&P3.program===C5.messageData[0])===-1){let P3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;v3.lastBank.messageData[1]=P3,_5(`%cNo preset %c${u9}:${C5.messageData[0]}%c. Changing bank to ${P3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(u9===128?i0==="xg"?127:0:x6)+c;v3.lastBank.messageData[1]=w6,_5(`%cPreset %c${u9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(v3.hasBankSelect=!0,i0==="xg"&&(v3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),v3.lastBank=C5)}if(K2.forEach((J2,A0)=>{if(J2.hasBankSelect===!0)return;let C5=A0%16,p3=Z3.programChange|C5,w3=Math.floor(A0/16)*16,m6=i.midiPortChannelOffsets.indexOf(w3),v3=i.tracks.find((w6,Me)=>i.midiPorts[Me]===m6&&i.usedChannelsOnTrack[Me].has(C5));if(v3===void 0)return;let x6=v3.findIndex(w6=>w6.messageStatusByte===p3);if(x6===-1){let w6=v3.findIndex(er=>er.messageStatusByte>128&&er.messageStatusByte<240&&(er.messageStatusByte&15)===C5);if(w6===-1)return;let Me=v3[w6].ticks,Wr=A.getPreset(0,0).program;v3.splice(w6,0,new y7(Me,Z3.programChange|C5,new j5([Wr]))),x6=w6}_5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let u9=v3[x6].ticks,P3=A.getPreset(0,J2.program)?.bank+c||c;v3.splice(x6,0,new y7(u9,Z3.controllerChange|C5,new j5([$3.bankSelect,P3])))}),i0!=="gs"&&i0!=="xg"){for(let A0 of a1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let J2=0;i.tracks[0][0].messageStatusByte===Z3.trackName&&J2++,i.tracks[0].splice(J2,0,ZC(0))}}let H=new j5(NE(i).buffer),P=[N7("INFO")],U=new TextEncoder;if(P.push(k6(O8.software,U.encode("SpessaSynth"),!0)),p.name!==void 0?(P.push(k6(O8.name,U.encode(p.name),!0)),d=Pa):P.push(k6(O8.name,i.rawMidiName,!0)),p.creationDate!==void 0)d=Pa,P.push(k6(O8.creationDate,U.encode(p.creationDate),!0));else{let i0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});P.push(k6(O8.creationDate,N7(i0),!0))}if(p.comment!==void 0&&(d=Pa,P.push(k6(O8.comment,U.encode(p.comment)))),p.engineer!==void 0&&P.push(k6(O8.engineer,U.encode(p.engineer),!0)),p.album!==void 0&&(d=Pa,P.push(k6(O8.album,U.encode(p.album),!0))),p.artist!==void 0&&(d=Pa,P.push(k6(O8.artist,U.encode(p.artist),!0))),p.genre!==void 0&&(d=Pa,P.push(k6(O8.genre,U.encode(p.genre),!0))),p.picture!==void 0&&P.push(k6(O8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)d=Pa,P.push(k6(O8.copyright,U.encode(p.copyright),!0));else{let i0=i.copyright.length>0?i.copyright:GD;P.push(k6(O8.copyright,N7(i0)))}let W0=new j5(2);fi(W0,c,2),P.push(k6(O8.bankOffset,W0)),p.midiEncoding!==void 0&&(P.push(k6(O8.midiEncoding,U.encode(p.midiEncoding))),d=Pa),P.push(k6(O8.encoding,N7(d)));let _=St(P),e0=St([N7("RMID"),k6("data",H),k6("LIST",_),n]);return _5("%cFinished!",C1.info),g9(),k6("RIFF",e0)}function xp(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case Oa.songChange:let d=A[0];this.songIndex=A[1],this.midiData=d,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(H=>H[1](d)),A[2]===!0&&this.unpause();break;case Oa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case Oa.timeChange:let O=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(H=>H[1](O)),this._recalculateStartTime(O),this.paused&&this._preservePlaybackState?this.pausedTime=O:this.unpause();break;case Oa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(H=>H[1]());break;case Oa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case Oa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(A)}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage(A7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=My,this.hasDummyData=!0,this.duration=99999,this._sendMessage(A7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage(A7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){I9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(A7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(A7.play,i)}stop(){this._sendMessage(A7.stop)}};var Lp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Ry(n){return` +`}},YC=960,VC=X7.concave;function Yr(n,i,A,c,d){return n<<10|i<<9|A<<8|c<<7|d}var bE=[new $e({srcEnum:Yr(VC,0,1,0,q4.noteOnVelocity),dest:m0.initialAttenuation,amt:YC,secSrcEnum:0,transform:0}),new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(VC,0,1,1,$3.mainVolume),dest:m0.initialAttenuation,amt:YC,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:526,dest:m0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new $e({srcEnum:650,dest:m0.pan,amt:500,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(VC,0,1,1,$3.expressionController),dest:m0.initialAttenuation,amt:YC,secSrcEnum:0,transform:0}),new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,0,0,0,q4.polyPressure),dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,0,0,1,$3.tremoloDepth),dest:m0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,1,0,1,$3.releaseTime),dest:m0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,1,0,1,$3.brightness),dest:m0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(X7.linear,1,0,1,$3.timbreHarmonicContent),dest:m0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var k$=128,cy=147,SD=new Int16Array(cy).fill(0),a7=(n,i)=>SD[n]=i<<7;a7($3.mainVolume,100);a7($3.balance,64);a7($3.expressionController,127);a7($3.pan,64);a7($3.timbreHarmonicContent,64);a7($3.releaseTime,64);a7($3.attackTime,64);a7($3.brightness,64);a7($3.soundController6,64);a7($3.soundController7,64);a7($3.soundController8,64);a7($3.soundController9,64);a7($3.generalPurposeController6,64);a7($3.generalPurposeController8,64);a7(k$+q4.pitchWheel,64);a7(k$+q4.pitchWheelRange,2);var DE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},gy=Object.keys(DE).length,bD=new Float32Array(gy);bD[DE.modulationMultiplier]=1;var uy={velocityOverride:128};var _E=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},xE={addMapping:0,deleteMapping:1,clearMappings:2};var LE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:Q4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let d=c?.velocity??-1,p=c?.patch?.program??-1,U=c?.patch?.bank??-1,j=new _E(d,U,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=j,this._sendToWorklet(xE.addMapping,[i,A,j])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(xE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(xE.clearMappings,void 0),this._keyModifiers=[]}};var DD="spessasynth-worklet-system",JC=350,R7=9,_D=16;var fu=class{constructor(i,A,c=!0,d=void 0,p=ly){_5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let U=d?.oneOutput===!0;this.eventHandler=new kE,this._voiceCap=JC,this._destroyed=!1,this._outputsAmount=_D,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(P=>this.resolveWhenReady=P),this.channelProperties=[];for(let P=0;Pthis.handleMessage(P.data),this.soundfontManager=new SE(this),this.keyModifierManager=new LE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!U&&(this.reverbProcessor=$y(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!U&&(this.chorusProcessor=new kp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),U)this.worklet.connect(i,0);else for(let P=2;P{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(Sp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,d){this.post({channelNumber:s7,messageType:Q4.setLogLevel,messageData:[i,A,c,d]})}_setMasterParam(i,A){this.post({channelNumber:s7,messageType:Q4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(Sp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case v$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,d)=>c+d.voicesAmount,0);break;case v$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case v$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case v$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case v$.ready:this.resolveWhenReady();break;case v$.soundfontError:I9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:Q4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:s7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:Q4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:Q4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:Q4.ccChange,messageData:[A,c,d]})}resetControllers(){this.post({channelNumber:s7,messageType:Q4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:Q4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:Q4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:Q4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(s7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:Q4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(Sp.mainVolume,i)}setMasterPan(i){this._setMasterParam(Sp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:Q4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:Q4.ccChange,messageData:[uy.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:Q4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:Q4.muteChannel,messageData:A})}async reloadSoundFont(i){I9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:s7,messageType:Q4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:Q4.setDrums,messageData:A})}sendMessage(i,A=0){let c=Ay(i[0]);switch(c.channel+=A,c.status){case Z3.noteOn:let d=i[2];d>0?this.noteOn(c.channel,i[1],d):this.noteOff(c.channel,i[1]);break;case Z3.noteOff:this.noteOff(c.channel,i[1]);break;case Z3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case Z3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case Z3.programChange:this.programChange(c.channel,i[1]);break;case Z3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case Z3.channelPressure:this.channelPressure(c.channel,i[1]);break;case Z3.systemExclusive:this.systemExclusive(new j5(i.slice(1)));break;case Z3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new kp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:Q4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:Q4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,d)=>{let p;if(F7)p=127;else{let j=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let O=d.clientX-j.left,P=j.width;p=Math.floor((P-O)/P*127)}else{let O=d.clientY-j.top,P=j.height;p=Math.floor(O/P*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let d=c.touches?Array.from(c.touches):[c],p=new Set;d.forEach(U=>{let j=document.elementFromPoint(U.clientX,U.clientY),O=parseInt(j.id.replace("note",""));p.add(O),!(isNaN(O)||O<0||this.pressedKeys.has(O))&&(this.pressedKeys.add(O),i(O,U))}),this.pressedKeys.forEach(U=>{p.has(U)||n(U)})};F7||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var hy=20,Dp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let d=0;d<128;d++)this.releaseNote(d,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(U=A(i+1)),U&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):U&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let d=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,U;for(let j of p)if(j.selectorText==="#keyboard .key"){U=j;break}if(U.style.setProperty("--pressed-transform-skew",`${8e-4/(d/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let j=getComputedStyle(this.keyboard),O=parseFloat(j.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),P=this.keyboard.getBoundingClientRect().height,W0=d/O,_=P*W0-P,q=(this._keyRange.min+this._keyRange.max)/2,t0=(i.min+i.max)/2;this._keyRange=i;let n1=this.keys.find(I2=>I2.classList.contains("sharp_key")).getBoundingClientRect().width,S1=(q-t0)*n1,c1=parseFloat(j.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${W0}) translateX(${S1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${c1/W0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${d}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${d}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let d=this.keys[i-this._keyRange.min];if(d===void 0)return;d.classList.add("pressed");let p=d.classList.contains("sharp_key"),U=c/127,j=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),O;if(!p&&this.mode==="light"?O=`rgba(${j.slice(0,3).map(W0=>255-(255-W0)*U).join(", ")}, ${j[3]})`:O=`rgba(${j.slice(0,3).map(W0=>W0*U).join(", ")}, ${j[3]})`,d.style.background=O,this.mode==="dark"){let P=hy*U;d.style.boxShadow=`${O} 0px 0px ${P}px ${P/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let d=this.keyColors[i-this._keyRange.min];if(!d)return;let p=d.findLastIndex(U=>U===this.channelColors[A]);p!==-1&&(d.splice(p,1),c.style.background=d[d.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${hy}px ${d[d.length-1]}`),d.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};Dp.prototype._handlePointers=dy;function S$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var LD="#000";function fy(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let d=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*d,A){i.fillRect(c.xPos,c.yPos-c.height*d,c.width,c.height*(d*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*d,c.yPos,c.width*(d*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=LD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var zC=!1;function Iy(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(zC){n&&requestAnimationFrame(this.render.bind(this));return}else zC=!0;else zC=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||fy(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let d=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${ME}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,ME*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(d).toString()+" FPS",this.canvas.width,ME+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function my(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,d=i/(c+1),p=d-D$*2,U=this.noteFallingTimeMs/1e3,j=this.noteAfterTriggerTimeMs/1e3,O=this.seq.currentHighResolutionTime,P=O-j,W0=U+j,_=P+W0,q=Ey/W0,t0=[];this.synth.channelProperties.forEach(S1=>{if(this.showVisualPitch){let c1=S1.pitchBend-8192+this.visualPitchBendOffset;t0.push(S1.pitchBendRangeSemitones*(c1/8192*d))}else t0.push(0)});let n1=[];return this.noteTimes.forEach((S1,c1)=>{if(S1.renderStartIndex>=S1.notes.length||!this.renderChannels[c1])return;let I2=S1.renderStartIndex,$2=S1.notes,f2=$2[I2],K2=-1;for(;f2.start<=_&&(I2++,!(this.notesOnScreen>Cy));){let J2=f2.start+f2.length;if(J2>P&&f2.length>0){let A0=f2.length/W0*A-D$*2;if(this.notesOnScreen<1e3||A0>q){K2===-1&&(K2=I2-1);let C5=(f2.start-P)/W0*A,p3;if(this._notesFall?p3=A-A0-C5+D$:p3=C5+D$,f2.midiNotethis.keyRange.max){if(I2>=$2.length)break;f2=$2[I2];continue}let w3=f2.midiNote-this.keyRange.min,m6=d*w3+D$,v3,x6,u9,P3;if(this.sideways?(v3=p3,x6=m6,P3=p,u9=A0):(x6=p3,v3=m6,u9=p,P3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[c1],this.drawingContext.fillRect(v3+b$+D$,x6+b$,u9-b$*2,P3-b$*2);else{let w6;if(f2.start>O||J2=$2.length)break;f2=$2[I2]}K2>-1&&(S1.renderStartIndex=K2)}),n1.sort((S1,c1)=>c1.height-S1.height),n1}function By(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let d=c%4,p=Math.floor(c/4),U=!1;for(let _=c;_0){U=!0;break}if(!U){let _=this.canvas.width/4,q=this.canvas.height/4,t0=_*d,n1=q*p+q/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(t0,n1),this.drawingContext.lineTo(t0+_,n1),this.drawingContext.stroke();return}let j=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(j);let O=n*d,P=i*p+i/2,W0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=j.length/4,q=n/_,t0=Math.floor(_/2),n1=j.length-t0;for(let $2=n1;$2>=1;$2--)if(j[$2-1]<0&&j[$2]>=0){n1=$2;break}let S1=O,c1=n1-t0,I2=n1+t0;for(let $2=c1;$2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function wy(){for(let n=0;n4096?this.delayNode.delayTime.value=d/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function vy(n){n.connectIndividualOutputs(this.channelAnalysers),n.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{setTimeout(this.updateFftSize.bind(this),100)})}function ky(){for(let n of this.channelAnalysers)n.disconnect();_5("%cAnalysers disconnected!",C1.recognized)}function Sy(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),d=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${d}), rgba(0, 0, 0, ${d})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function by(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function KC(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function _p(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var Iu=.02;function Dy(n){function i(P){return P.messageData=new j5(P.messageData.buffer),P.messageData.currentIndex=0,6e7/KC(P.messageData,3)}let A=[],d=n.tracks.flat();d.sort((P,W0)=>P.ticks-W0.ticks);for(let P=0;P<16;P++)A.push({renderStartIndex:0,notes:[]});let p=0,U=60/(120*n.timeDivision),j=0,O=0;for(;j>4,_=P.messageStatusByte&15;if(W0===8){let q=A[_].notes.findLast(t0=>t0.midiNote===P.messageData[0]&&t0.length===-1);if(q){let t0=p-q.start;q.length=t0t0.midiNote===P.messageData[0]&&t0.length===-1);if(q){let t0=p-q.start;q.length=t0=d.length)break;p+=U*(d[j].ticks-P.ticks)}O>0&&A.forEach((P,W0)=>P.notes.filter(_=>_.length===-1).forEach(_=>{let q=p-_.start;_.length=qi.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*FE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,S$(i,c=>c*FE*RE)),A.addColorStop(1,S$(i,c=>c*RE)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*FE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,S$(i,c=>c*FE*RE)),A.addColorStop(1,S$(i,c=>c*RE)),A})}};T7.prototype.render=Iy;T7.prototype.computeNotePositions=my;T7.prototype.createChannelAnalysers=yy;T7.prototype.updateFftSize=wy;T7.prototype.connectChannelAnalysers=vy;T7.prototype.disconnectChannelAnalysers=ky;T7.prototype.connectSequencer=Sy;T7.prototype.calculateNoteTimes=Dy;T7.prototype.resetIndexes=by;T7.prototype.renderWaveforms=By;function s3(n,i){let A=0;for(let c=0;c>>0}function fi(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function p9(n,i){fi(n,i,4)}function Ga(n,i){let A=i<<8|n;return A>32767?A-65536:A}function _y(n){return n>127?n-256:n}function y4(n,i,A=void 0,c=!0){if(A){let d=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(d.buffer)}else{let d=!1,p="";for(let U=0;U127)&&j!==10){if(c){d=!0;continue}else if(j===0){d=!0;continue}}p+=String.fromCharCode(j)}}return p}}function N7(n,i=0){let A=n.length;i>0&&(A=i);let c=new j5(A);return P8(c,n,i),c}function P8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,y4(A.chunkData,4)===i))}function TE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function NE(n){let i=[];for(let d of n.tracks){let p=[],U=0,j;for(let O of d){let P=O.ticks-U,W0;O.messageStatusByte<=Z3.keySignature||O.messageStatusByte===Z3.sequenceSpecific?W0=[255,O.messageStatusByte,...TE(O.messageData.length),...O.messageData]:O.messageStatusByte===Z3.systemExclusive?W0=[240,...TE(O.messageData.length),...O.messageData]:(W0=[],j!==O.messageStatusByte&&(j=O.messageStatusByte,W0.push(O.messageStatusByte)),W0.push(...O.messageData)),p.push(...TE(P)),p.push(...W0),U+=P}i.push(new Uint8Array(p))}function A(d,p){for(let U=0;U{n.tracks.forEach((n1,S1)=>{if(n.midiPorts[S1]===t0)for(let c1=n1.length-1;c1>=0;c1--)n1[c1].messageStatusByte>=128&&n1[c1].messageStatusByte<240&&(n1[c1].messageStatusByte&15)===q&&n1.splice(c1,1)})};c.forEach(q=>{let t0=q%16,n1=q-t0,S1=n.midiPortChannelOffsets.findIndex(c1=>c1===n1);p(t0,S1),_5(`%cRemoving channel %c${q}%c!`,C1.info,C1.recognized,C1.info)});let U=!1,j="gs",O=[],P=[];n.tracks.forEach((q,t0)=>{q.forEach(n1=>{let S1=n1.messageStatusByte&240;S1===Z3.controllerChange?O.push({track:t0,message:n1,channel:n1.messageStatusByte&15}):S1===Z3.programChange?P.push({track:t0,message:n1,channel:n1.messageStatusByte&15}):n1.messageStatusByte===Z3.systemExclusive&&(n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[5]===126&&n1.messageData[6]===0?(_5("%cXG system on detected",C1.info),j="xg",U=!0):n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[3]===8&&n1.messageData[5]===3&&P.push({track:t0,message:n1,channel:n1.messageData[4]}))})});let W0=(q,t0,n1)=>n.tracks.reduce((S1,c1,I2)=>{if(n.usedChannelsOnTrack[I2].has(q)&&n.midiPorts[I2]===t0){let $2;n1?$2=c1.findIndex(f2=>(f2.messageStatusByte&240)===Z3.noteOn):$2=c1.findIndex(f2=>f2.messageStatusByte>128&&f2.messageStatusByte<240&&(f2.messageStatusByte&15)===q&&!(f2.messageStatusByte&Z3.controllerChange===240&&(f2.messageData[0]===$3.resetAllControllers||f2.messageData[0]===$3.allNotesOff||f2.messageData[0]===$3.allSoundOff))),$2!==-1&&S1.push({index:$2,track:I2})}return S1},[]),_=(q,t0,n1)=>{let S1=O.filter(c1=>c1.channel===q&&c1.message.messageData[0]===n1&&n.midiPorts[c1.track]===t0);for(let c1=0;c1{let t0=q.channel,n1=t0%16,S1=t0-n1,c1=n.midiPortChannelOffsets.findIndex(A0=>A0===S1),I2=q.controllerValue,$2=q.controllerNumber;_(n1,c1,$2),_5(`%cNo controller %c${$2}%c on channel %c${t0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let f2=W0(n1,c1,!0);if(f2.length===0){I9("Program change but no notes... ignoring!");return}let K2=f2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let t0=q.channel%16,n1=q.channel-t0,S1=n.midiPortChannelOffsets.findIndex(w3=>w3===n1),c1=q.isDrum?0:q.bank,I2=q.program,$2=P.filter(w3=>n.midiPorts[w3.track]===S1&&w3.channel===t0);if(_(t0,S1,$3.bankSelect),_(t0,S1,$3.lsbForControl0BankSelect),(q.isDrum||c1>0)&&!U&&(n.tracks.forEach(w3=>{for(let m6=0;m60);if(f2.length===0){I9("Program change but no notes... ignoring!");return}let K2=f2.reduce((w3,m6)=>n.tracks[m6.track][m6.index].ticks{if(n.midiPorts[$2]!==n1||!n.usedChannelsOnTrack[$2].has(t0))return;let f2=Z3.noteOn|t0,K2=Z3.noteOff|t0,J2=Z3.polyPressure|t0;I2.forEach(A0=>{A0.messageStatusByte!==f2&&A0.messageStatusByte!==K2&&A0.messageStatusByte!==J2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+S1)))})}),c1!==0){let I2=n.tracks.find((v3,x6)=>n.usedChannelsOnTrack[x6].has(q.channel));if(I2===void 0){I9(`Channel ${q.channel} unused but transpose requested???`);continue}let $2=Z3.noteOn|q.channel%16,f2=I2.findIndex(v3=>v3.messageStatusByte===$2);if(f2===-1){I9(`No notes on channel ${q.channel} but transpose requested???`);continue}let K2=I2[f2].ticks,J2=c1*64+64,A0=Z3.controllerChange|q.channel%16,C5=new y7(K2,A0,new j5([$3.RPNMsb,0])),p3=new y7(K2,A0,new j5([$3.RPNLsb,1])),w3=new y7(K2,A0,new j5([$3.dataEntryMsb,J2])),m6=new y7(K2,A0,new j5([$3.lsbForControl6DataEntry,0]));I2.splice(f2,0,m6),I2.splice(f2,0,w3),I2.splice(f2,0,p3),I2.splice(f2,0,C5)}}g9()}function Ua(n,i){let A=[],c=[],d=[],p=[];i.channelSnapshots.forEach((U,j)=>{if(U.isMuted){c.push(j);return}let O=U.channelTransposeKeyShift+U.customControllers[DE.channelTransposeFine]/100;O!==0&&A.push({channel:j,keyShift:O}),U.lockPreset&&d.push({channel:j,program:U.program,bank:U.bank,isDrum:U.drumChannel}),U.lockedControllers.forEach((P,W0)=>{if(!P||W0>127||W0===$3.bankSelect)return;let _=U.midiControllers[W0]>>7;p.push({channel:j,controllerNumber:W0,controllerValue:_})})}),GD(n,d,p,c,A)}var O8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Pa="utf-8",UD="Created using SpessaSynth";function xy(n,i,A,c=0,d="Shift_JIS",p={},U=!0){if(M7("%cWriting the RMIDI File...",C1.info),_5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${d}`,C1.info,C1.value,C1.info,C1.value),_5("metadata",p),_5("Initial bank offset",i.bankOffset),U){let I2=function(){let J2=0,A0=1/0;return i.tracks.forEach((C5,p3)=>{S1[p3]>=C5.length||C5[S1[p3]].ticksA0>J2?A0:J2),K2=[];for(let J2=0;J20;){let J2=I2(),A0=i.tracks[J2];if(S1[J2]>=A0.length){c1--;continue}let C5=A0[S1[J2]];S1[J2]++;let p3=i.midiPortChannelOffsets[$2[J2]];if(C5.messageStatusByte===Z3.midiPort){$2[J2]=C5.messageData[0];continue}let w3=C5.messageStatusByte&240;if(w3!==Z3.controllerChange&&w3!==Z3.programChange&&w3!==Z3.systemExclusive)continue;if(w3===Z3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?t0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?t0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(t0="gm",n1.push({tNum:J2,e:C5}));continue}let x6=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+p3;K2[x6].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let m6=(C5.messageStatusByte&15)+p3,v3=K2[m6];if(w3===Z3.programChange){v3.drums?A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank===128)?.program||0):A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank!==128)?.program||0),v3.program=C5.messageData[0];let x6=Math.max(0,v3.lastBank?.messageData[1]-i.bankOffset),u9=v3.drums?128:x6;if(v3.lastBank===void 0)continue;if(t0==="xg"&&v3.drums&&(K2[m6].lastBank.messageData[1]=127),A.presets.findIndex(P3=>P3.bank===u9&&P3.program===C5.messageData[0])===-1){let P3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;v3.lastBank.messageData[1]=P3,_5(`%cNo preset %c${u9}:${C5.messageData[0]}%c. Changing bank to ${P3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(u9===128?t0==="xg"?127:0:x6)+c;v3.lastBank.messageData[1]=w6,_5(`%cPreset %c${u9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(v3.hasBankSelect=!0,t0==="xg"&&(v3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),v3.lastBank=C5)}if(K2.forEach((J2,A0)=>{if(J2.hasBankSelect===!0)return;let C5=A0%16,p3=Z3.programChange|C5,w3=Math.floor(A0/16)*16,m6=i.midiPortChannelOffsets.indexOf(w3),v3=i.tracks.find((w6,Me)=>i.midiPorts[Me]===m6&&i.usedChannelsOnTrack[Me].has(C5));if(v3===void 0)return;let x6=v3.findIndex(w6=>w6.messageStatusByte===p3);if(x6===-1){let w6=v3.findIndex(er=>er.messageStatusByte>128&&er.messageStatusByte<240&&(er.messageStatusByte&15)===C5);if(w6===-1)return;let Me=v3[w6].ticks,Wr=A.getPreset(0,0).program;v3.splice(w6,0,new y7(Me,Z3.programChange|C5,new j5([Wr]))),x6=w6}_5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let u9=v3[x6].ticks,P3=A.getPreset(0,J2.program)?.bank+c||c;v3.splice(x6,0,new y7(u9,Z3.controllerChange|C5,new j5([$3.bankSelect,P3])))}),t0!=="gs"&&t0!=="xg"){for(let A0 of n1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let J2=0;i.tracks[0][0].messageStatusByte===Z3.trackName&&J2++,i.tracks[0].splice(J2,0,ZC(0))}}let j=new j5(NE(i).buffer),O=[N7("INFO")],P=new TextEncoder;if(O.push(k6(O8.software,P.encode("SpessaSynth"),!0)),p.name!==void 0?(O.push(k6(O8.name,P.encode(p.name),!0)),d=Pa):O.push(k6(O8.name,i.rawMidiName,!0)),p.creationDate!==void 0)d=Pa,O.push(k6(O8.creationDate,P.encode(p.creationDate),!0));else{let t0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});O.push(k6(O8.creationDate,N7(t0),!0))}if(p.comment!==void 0&&(d=Pa,O.push(k6(O8.comment,P.encode(p.comment)))),p.engineer!==void 0&&O.push(k6(O8.engineer,P.encode(p.engineer),!0)),p.album!==void 0&&(d=Pa,O.push(k6(O8.album,P.encode(p.album),!0))),p.artist!==void 0&&(d=Pa,O.push(k6(O8.artist,P.encode(p.artist),!0))),p.genre!==void 0&&(d=Pa,O.push(k6(O8.genre,P.encode(p.genre),!0))),p.picture!==void 0&&O.push(k6(O8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)d=Pa,O.push(k6(O8.copyright,P.encode(p.copyright),!0));else{let t0=i.copyright.length>0?i.copyright:UD;O.push(k6(O8.copyright,N7(t0)))}let W0=new j5(2);fi(W0,c,2),O.push(k6(O8.bankOffset,W0)),p.midiEncoding!==void 0&&(O.push(k6(O8.midiEncoding,P.encode(p.midiEncoding))),d=Pa),O.push(k6(O8.encoding,N7(d)));let _=St(O),q=St([N7("RMID"),k6("data",j),k6("LIST",_),n]);return _5("%cFinished!",C1.info),g9(),k6("RIFF",q)}function xp(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case Oa.songChange:let d=A[0];this.songIndex=A[1],this.midiData=d,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(j=>j[1](d)),A[2]===!0&&this.unpause();break;case Oa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case Oa.timeChange:let U=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(j=>j[1](U)),this._recalculateStartTime(U),this.paused&&this._preservePlaybackState?this.pausedTime=U:this.unpause();break;case Oa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(j=>j[1]());break;case Oa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case Oa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(A)}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage(A7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=Ly,this.hasDummyData=!0,this.duration=99999,this._sendMessage(A7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage(A7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){I9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(A7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(A7.play,i)}stop(){this._sendMessage(A7.stop)}};var Lp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function My(n){return` `}function _$(n){return` - `}function Fy(n){return` + `}function Ry(n){return` -`}function Ty(n){return` +`}function Fy(n){return` -`}function Ny(n){return` +`}function Ty(n){return` -`}function Gy(n){return` +`}function Ny(n){return` `}function Mp(n){return` @@ -37,10 +37,10 @@ var vE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( `}function mu(n){return` -`}function Uy(n){return` +`}function Gy(n){return` -`}function Py(n){return` +`}function Uy(n){return` `}function UE(n){return` ( -`}function Oy(n){return` +`}function Py(n){return` -`}function qy(n){return` +`}function Oy(n){return` -`}function Hy(n){return` +`}function qy(n){return` `}function Rp(n){return` `}function jC(n){return` -`}function Yy(n){return` +`}function Hy(n){return` `}function Fp(n){return` `}function XC(n){return` -`}function pu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var oi={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Vy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Jy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=qC(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,d)=>c+d.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var PD=parseFloat(getComputedStyle(document.body).fontSize);function zy(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Lp.forEach(W0=>{let _=document.createElement("option");_.innerText=W0,_.value=W0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let d=document.createElement("p");d.classList.add("lyrics_text"),n.appendChild(d);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),d.appendChild(p);let O=document.createElement("span");O.classList.add("lyrics_text_gray"),d.appendChild(O);let H=document.createElement("details"),P=document.createElement("summary");this.locale.bindObjectProperty(P,"textContent","locale.sequencerController.lyrics.otherText.title"),H.appendChild(P);let U=document.createElement("div");U.innerText="",H.appendChild(U),n.appendChild(H),this.lyricsElement.text={highlight:p,gray:O,main:d,other:U},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function Ky(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-PD*5)}function Wy(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(Z3).find(A=>Z3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Vr=32,Zy="#ccc",jy="#555",OD="#333",qD="#ddd",HD="Shift_JIS",Po=class{constructor(i,A,c){this.iconColor=Zy,this.iconDisabledColor=jy,this.controls=i,this.encoding=HD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=OD,this.iconDisabledColor=qD):(this.mode="dark",this.iconColor=Zy,this.iconDisabledColor=jy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=_$(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Ry(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Lp[c]),this.encodingSelector.value=Lp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let d=this.decodeTextFix(A.buffer);switch(c){default:return;case Z3.text:case Z3.copyright:case Z3.cuePoint:case Z3.trackName:case Z3.instrumentName:case Z3.programName:case Z3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case Z3.lyric:this.text+=d,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[O8.encoding]!==void 0,A.isEmbedded){let c=(H,P,U,W0="")=>this.seq.midiData.RMIDInfo?.[H]===void 0?P:W0+U.decode(this.seq.midiData.RMIDInfo?.[H]).replace(/\0$/,""),d=new TextDecoder,p=c(O8.midiEncoding,this.encoding,d),O=c(O8.encoding,"utf-8",d);this.infoDecoder=new TextDecoder(O),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let e0=i.getBoundingClientRect(),i0=_.clientX-e0.left,a1=e0.width;this.seq.currentTime=i0/a1*this.seq.duration,c.innerHTML=_$(Vr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=pu("Play/Pause",_$(Vr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let d=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=d;let p=pu("Previous song",Gy(Vr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let O=pu("Next song",Ny(Vr));this.locale.bindObjectProperty(O,"title","locale.sequencerController.nextSong"),O.onclick=()=>this.switchToNextSong();let H=pu("Loop this",Fy(Vr));this.locale.bindObjectProperty(H,"title","locale.sequencerController.loopThis");let P=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),H.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};H.onclick=P,this.loopButton=H;let U=pu("Show lyrics",Ty(Vr));this.locale.bindObjectProperty(U,"title","locale.sequencerController.lyrics.show"),U.firstElementChild.setAttribute("fill",this.iconDisabledColor);let W0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),U.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};U.onclick=W0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.playPause:_.preventDefault(),d();break;case oi.toggleLoop:_.preventDefault(),P();break;case oi.toggleLyrics:_.preventDefault(),W0();break;default:break}}),A.appendChild(p),A.appendChild(H),A.appendChild(c),A.appendChild(U),A.appendChild(O),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=_$(Vr);break;case oi.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=_$(Vr);break;case oi.previousSong:this.switchToPreviousSong();break;case oi.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let e0=parseInt(_.key);0<=e0&&e0<=9&&(this.seq.currentTime=this.seq.duration*(e0/10),c.innerHTML=_$(Vr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=w$(this.seq.currentTime),A=w$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Po.prototype.createNavigatorHandler=Vy;Po.prototype.updateTitleAndMediaStatus=Jy;Po.prototype.createLyrics=zy;Po.prototype.setLyricsText=Ky;Po.prototype.updateOtherTextEvents=Wy;function Xy(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function ew(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function tw(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var pr=class{constructor(i="none",A,c,d,p=0,O=100,H=!1,P=void 0,U=void 0,W0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=O,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=U,this.unlockCallback=W0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",d),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,H){if(P===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let e0=_.currentTarget.getBoundingClientRect(),i0=e0.left,a1=e0.width,_1=_.clientX-i0,f1=Math.max(0,Math.min(1,_1/a1));P(f1*(O-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,F7&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var iw=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var OE=class{constructor(i,A,c,d,p=void 0,O=void 0){this.elements=i.map(H=>({name:H.name,program:H.program,bank:H.bank,stringified:`${H.bank.toString().padStart(3,"0")}:${H.program.toString().padStart(3,"0")} ${H.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",d),this.locale=A,this.localePath=c,this.localeArgs=d,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=O,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let d=document.createElement("input");d.type="text",this.locale.bindObjectProperty(d,"placeholder",this.localePath+".searchPrompt"),c.appendChild(d),d.onkeydown=U=>U.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Rp(si):jC(si),this.locale.bindObjectProperty(p,"title",e4+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Rp(si):p.innerHTML=jC(si)},c.appendChild(p),this.presetLock=p;let O=document.createElement("div");O.classList.add("voice_selector_table_wrapper"),i.appendChild(O);let P=this.generateTable(O,this.elements).querySelector(".voice_selector_selected");d.oninput=U=>{U.stopPropagation();let W0=d.value,_=this.elements.filter(_1=>_1.stringified.search(new RegExp(W0,"i"))>=0);if(_.length===this.elements.length)return;O.replaceChildren();let e0=this.generateTable(O,_),i0=e0.querySelector(".voice_selector_selected");if(i0){P=i0;return}let a1=e0.querySelector(".voice_selector_option");a1.classList.add("voice_selector_selected"),P=a1},d.addEventListener("keydown",U=>{switch(U.key){case"Enter":let W0=P.getAttribute("bank"),_=P.getAttribute("program"),e0=`${W0}:${_}`;if(this.value===e0){this.hideSelectionMenu();return}this.editCallback(e0),this.locked=!0,this.presetLock.innerHTML=Rp(si),this.hideSelectionMenu();break;case"ArrowDown":let i0=P.nextElementSibling;for(;i0;){if(i0.classList.contains("voice_selector_option")){P.classList.remove("voice_selector_selected"),i0.classList.add("voice_selector_selected"),P=i0;return}i0=i0.nextElementSibling}break;case"ArrowUp":let a1=P.previousElementSibling;for(;a1;){if(a1.classList.contains("voice_selector_option")){P.classList.remove("voice_selector_selected"),a1.classList.add("voice_selector_selected"),P=a1;return}a1=a1.previousElementSibling}break}}),i.onclick=U=>{U.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=U=>{U.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,F7||d.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),O=-20;for(let H of A){let P=document.createElement("tr"),U=H.program;if(P.classList.add("voice_selector_option"),P.setAttribute("program",U.toString()),P.setAttribute("bank",H.bank.toString()),U===p&&H.bank===d&&(P.classList.add("voice_selector_selected"),setTimeout(()=>{P.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),P.onclick=()=>{let _1=`${H.bank}:${U}`;if(this.value===_1){this.hideSelectionMenu();return}this.editCallback(_1),this.locked=!0,this.presetLock.innerHTML=Rp(si),this.hideSelectionMenu()},U!==O&&(O=U,H.bank!==128)){let _1=document.createElement("tr"),f1=document.createElement("th");f1.colSpan="3",f1.textContent=iw[O],_1.appendChild(f1),c.appendChild(_1)}let W0=`${H.program.toString().padStart(3,"0")}`,_=`${H.bank.toString().padStart(3,"0")}`,e0=document.createElement("td");e0.classList.add("voice_selector_preset_name"),e0.textContent=H.name;let i0=document.createElement("td");e0.classList.add("voice_selector_preset_program"),i0.textContent=W0;let a1=document.createElement("td");e0.classList.add("voice_selector_preset_program"),a1.textContent=_,P.appendChild(a1),P.appendChild(i0),P.appendChild(e0),c.appendChild(P)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,d=parseInt(this.value.split(":")[1]),p=d;this.elements.find(O=>O.program===d)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let O of c.rows){if(O.cells.length===1)continue;let H=parseInt(O.cells[0].textContent),P=parseInt(O.cells[1].textContent);H===d&&P===p&&(O.classList.add("voice_selector_selected"),O.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),d=parseInt(A[1]),p=this.elements.find(O=>O.bank===c&&O.program===d);return p?c===128||this.elements.filter(O=>O.program===d&&O.bank!==128).length<2?`${d}. ${p.name}`:`${c}:${d} ${p.name}`:""}};var si=32;function rw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,u2=>{let I2=c.isLocked;I2&&this.synth.lockController(n,k$+q4.pitchWheel,!1),u2=Math.round(u2)+8192;let K2=u2>>7,J2=u2&127;this.synth.pitchWheel(n,K2,J2),I2&&this.synth.lockController(n,k$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,k$+q4.pitchWheel,!0),()=>this.synth.lockController(n,k$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let d=(u2,I2,K2)=>{K2.isLocked?(this.synth.lockController(n,u2,!1),this.synth.controllerChange(n,u2,I2),this.synth.lockController(n,u2,!0)):this.synth.controllerChange(n,u2,I2)},p=(u2,I2,K2)=>{let J2=new pr(this.channelColors[n%this.channelColors.length],e4+I2,this.locale,[n+1],0,127,!0,A0=>d(u2,Math.round(A0),J2),()=>this.synth.lockController(n,u2,!0),()=>this.synth.lockController(n,u2,!1));return J2.update(K2),J2},O=p($3.pan,"channelController.panMeter",64);i.appendChild(O.div);let H=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(H.div);let P=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(P.div);let U=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(U.div);let W0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(W0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let e0=p($3.brightness,"channelController.filterMeter",64);i.appendChild(e0.div);let i0=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,u2=>{u2=Math.round(u2),this.synth.transposeChannel(n,u2,!0),i0.update(u2)});i0.update(0),i.appendChild(i0.div);let a1=new OE([],this.locale,e4+"channelController.presetSelector",[n+1],async u2=>{let I2=u2.split(":");this.synth.lockController(n,s7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(I2[0]),!0),this.synth.programChange(n,parseInt(I2[1]),!0),a1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,s7,!0)},u2=>this.synth.lockController(n,s7,u2));i.appendChild(a1.mainButton);let _1=document.createElement("div");_1.innerHTML=mu(si),this.locale.bindObjectProperty(_1,"title",e4+"channelController.soloButton.description",[n+1]),_1.classList.add("controller_element"),_1.classList.add("mute_button"),_1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let u2=0;u2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let u2=0;u2{if(f1.hasAttribute("is_muted")){f1.removeAttribute("is_muted");let u2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!u2),f1.innerHTML=Mp(si)}else this.synth.muteChannel(n,!0),f1.setAttribute("is_muted","true"),f1.innerHTML=Py(si)},i.appendChild(f1);let C2=document.createElement("div");return C2.innerHTML=n===R7?UE(si):PE(si),this.locale.bindObjectProperty(C2,"title",e4+"channelController.drumToggleButton.description",[n+1]),C2.classList.add("controller_element"),C2.classList.add("mute_button"),C2.onclick=()=>{a1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,s7,!1),a1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(C2),{controller:i,voiceMeter:A,pitchWheel:c,pan:O,expression:H,volume:P,mod:U,chorus:W0,reverb:_,brightness:e0,preset:a1,drumsToggle:C2,soloButton:_1,muteButton:f1,transpose:i0}}function nw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function eB(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),d=n.getAttribute("max"),p=n.getAttribute("value"),O=n.getAttribute("units"),H=n.getAttribute("input_id"),P=document.createElement("input");P.classList.add("settings_slider"),P.type="range",P.id=H,P.min=c,P.max=d,P.value=p;let U;i&&(U=document.createElement("span"),U.textContent=p+O);let W0=document.createElement("div");W0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),W0.appendChild(_);let e0=document.createElement("div");return e0.classList.add("settings_slider_thumb"),W0.appendChild(e0),W0.appendChild(P),P.addEventListener("input",()=>{let i0=parseInt(W0.style.getPropertyValue("--visual-width").replace("%","")),a1=Math.round((P.value-P.min)/(P.max-P.min)*100);Math.abs((i0-a1)/100)>.05?W0.classList.add("settings_slider_transition"):W0.classList.remove("settings_slider_transition"),W0.style.setProperty("--visual-width",`${a1}%`)}),W0.style.setProperty("--visual-width",`${(P.value-P.min)/(P.max-P.min)*100}%`),A.appendChild(W0),i&&A.appendChild(U),A}function Oo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function sw(n,i){switch(n.type){case"button":let A=document.createElement("button");return Oo(A,n,i),qa(n,[A]),A;case"text":let c=document.createElement("p");return Oo(c,n,i),qa(n,[c]),c;case"input":let d=document.createElement("div");d.classList.add("notification_input_wrapper");let p=document.createElement("input");Oo(p,n,i),p.addEventListener("keydown",K2=>K2.stopPropagation());let O=document.createElement("label");return Oo(O,n,i),qa(n,[p,O]),d.append(O),d.appendChild(p),d;case"select":let H=document.createElement("div");H.classList.add("notification_input_wrapper");let P=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let K2 of Object.entries(n.selectOptions)){let J2=document.createElement("option");J2.value=K2[0],J2.textContent=K2[1],P.appendChild(J2)}let U=document.createElement("label");return Oo(U,n,i),qa(n,[P,U]),H.appendChild(U),H.appendChild(P),H;case"file":let W0=document.createElement("label");W0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let e0=document.createElement("label");e0.classList.add("notification_file_button"),Oo(e0,n,i);let i0=document.createElement("label");return Oo(i0,n,i),qa(n,[e0,_,i0]),e0.appendChild(_),W0.append(i0),W0.appendChild(e0),W0;case"progress":let a1=document.createElement("div");a1.classList.add("notification_progress_background");let _1=document.createElement("div");return _1.classList.add("notification_progress"),qa(n,[_1,a1]),a1.appendChild(_1),a1;case"toggle":return YD(n,i);case"range":let f1=document.createElement("input");f1.type="range";let C2=document.createElement("label");qa(n,[f1,C2]),Oo(C2,n,i);let u2=eB(f1,!1),I2=document.createElement("div");return I2.classList.add("notification_slider_wrapper"),I2.appendChild(C2),I2.appendChild(u2),I2}}function qa(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let d of i)A.startsWith("onchange")?d[A]=c:d.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let d of i)d.addEventListener(A,c)}function YD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");Oo(c,n,i);let d=document.createElement("input");d.type="checkbox",qa(n,[c,d]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(d);let O=document.createElement("div");return O.classList.add("notification_switch_slider"),p.appendChild(O),A.appendChild(c),A.appendChild(p),A}var VD=13,JD=0,Tp={};function qe(n,i,A=VD,c=!0,d=void 0,p=void 0,O=void 0){let H=document.createElement("div"),P=JD++;H.classList.add("notification"),H.innerHTML=` +`}function pu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var oi={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Yy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Vy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=qC(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,d)=>c+d.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var OD=parseFloat(getComputedStyle(document.body).fontSize);function Jy(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Lp.forEach(W0=>{let _=document.createElement("option");_.innerText=W0,_.value=W0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let d=document.createElement("p");d.classList.add("lyrics_text"),n.appendChild(d);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),d.appendChild(p);let U=document.createElement("span");U.classList.add("lyrics_text_gray"),d.appendChild(U);let j=document.createElement("details"),O=document.createElement("summary");this.locale.bindObjectProperty(O,"textContent","locale.sequencerController.lyrics.otherText.title"),j.appendChild(O);let P=document.createElement("div");P.innerText="",j.appendChild(P),n.appendChild(j),this.lyricsElement.text={highlight:p,gray:U,main:d,other:P},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function zy(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-OD*5)}function Ky(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(Z3).find(A=>Z3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Vr=32,Wy="#ccc",Zy="#555",qD="#333",HD="#ddd",YD="Shift_JIS",Po=class{constructor(i,A,c){this.iconColor=Wy,this.iconDisabledColor=Zy,this.controls=i,this.encoding=YD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=qD,this.iconDisabledColor=HD):(this.mode="dark",this.iconColor=Wy,this.iconDisabledColor=Zy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=_$(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=My(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Lp[c]),this.encodingSelector.value=Lp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let d=this.decodeTextFix(A.buffer);switch(c){default:return;case Z3.text:case Z3.copyright:case Z3.cuePoint:case Z3.trackName:case Z3.instrumentName:case Z3.programName:case Z3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case Z3.lyric:this.text+=d,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[O8.encoding]!==void 0,A.isEmbedded){let c=(j,O,P,W0="")=>this.seq.midiData.RMIDInfo?.[j]===void 0?O:W0+P.decode(this.seq.midiData.RMIDInfo?.[j]).replace(/\0$/,""),d=new TextDecoder,p=c(O8.midiEncoding,this.encoding,d),U=c(O8.encoding,"utf-8",d);this.infoDecoder=new TextDecoder(U),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let q=i.getBoundingClientRect(),t0=_.clientX-q.left,n1=q.width;this.seq.currentTime=t0/n1*this.seq.duration,c.innerHTML=_$(Vr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=pu("Play/Pause",_$(Vr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let d=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=d;let p=pu("Previous song",Ny(Vr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let U=pu("Next song",Ty(Vr));this.locale.bindObjectProperty(U,"title","locale.sequencerController.nextSong"),U.onclick=()=>this.switchToNextSong();let j=pu("Loop this",Ry(Vr));this.locale.bindObjectProperty(j,"title","locale.sequencerController.loopThis");let O=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),j.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};j.onclick=O,this.loopButton=j;let P=pu("Show lyrics",Fy(Vr));this.locale.bindObjectProperty(P,"title","locale.sequencerController.lyrics.show"),P.firstElementChild.setAttribute("fill",this.iconDisabledColor);let W0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),P.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};P.onclick=W0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.playPause:_.preventDefault(),d();break;case oi.toggleLoop:_.preventDefault(),O();break;case oi.toggleLyrics:_.preventDefault(),W0();break;default:break}}),A.appendChild(p),A.appendChild(j),A.appendChild(c),A.appendChild(P),A.appendChild(U),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=_$(Vr);break;case oi.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=_$(Vr);break;case oi.previousSong:this.switchToPreviousSong();break;case oi.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let q=parseInt(_.key);0<=q&&q<=9&&(this.seq.currentTime=this.seq.duration*(q/10),c.innerHTML=_$(Vr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=w$(this.seq.currentTime),A=w$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Po.prototype.createNavigatorHandler=Yy;Po.prototype.updateTitleAndMediaStatus=Vy;Po.prototype.createLyrics=Jy;Po.prototype.setLyricsText=zy;Po.prototype.updateOtherTextEvents=Ky;function jy(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function Xy(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function ew(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var pr=class{constructor(i="none",A,c,d,p=0,U=100,j=!1,O=void 0,P=void 0,W0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=U,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=P,this.unlockCallback=W0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",d),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,j){if(O===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let q=_.currentTarget.getBoundingClientRect(),t0=q.left,n1=q.width,S1=_.clientX-t0,c1=Math.max(0,Math.min(1,S1/n1));O(c1*(U-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,F7&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var tw=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var OE=class{constructor(i,A,c,d,p=void 0,U=void 0){this.elements=i.map(j=>({name:j.name,program:j.program,bank:j.bank,stringified:`${j.bank.toString().padStart(3,"0")}:${j.program.toString().padStart(3,"0")} ${j.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",d),this.locale=A,this.localePath=c,this.localeArgs=d,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=U,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let d=document.createElement("input");d.type="text",this.locale.bindObjectProperty(d,"placeholder",this.localePath+".searchPrompt"),c.appendChild(d),d.onkeydown=P=>P.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?Rp(si):jC(si),this.locale.bindObjectProperty(p,"title",e4+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=Rp(si):p.innerHTML=jC(si)},c.appendChild(p),this.presetLock=p;let U=document.createElement("div");U.classList.add("voice_selector_table_wrapper"),i.appendChild(U);let O=this.generateTable(U,this.elements).querySelector(".voice_selector_selected");d.oninput=P=>{P.stopPropagation();let W0=d.value,_=this.elements.filter(S1=>S1.stringified.search(new RegExp(W0,"i"))>=0);if(_.length===this.elements.length)return;U.replaceChildren();let q=this.generateTable(U,_),t0=q.querySelector(".voice_selector_selected");if(t0){O=t0;return}let n1=q.querySelector(".voice_selector_option");n1.classList.add("voice_selector_selected"),O=n1},d.addEventListener("keydown",P=>{switch(P.key){case"Enter":let W0=O.getAttribute("bank"),_=O.getAttribute("program"),q=`${W0}:${_}`;if(this.value===q){this.hideSelectionMenu();return}this.editCallback(q),this.locked=!0,this.presetLock.innerHTML=Rp(si),this.hideSelectionMenu();break;case"ArrowDown":let t0=O.nextElementSibling;for(;t0;){if(t0.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),t0.classList.add("voice_selector_selected"),O=t0;return}t0=t0.nextElementSibling}break;case"ArrowUp":let n1=O.previousElementSibling;for(;n1;){if(n1.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),n1.classList.add("voice_selector_selected"),O=n1;return}n1=n1.previousElementSibling}break}}),i.onclick=P=>{P.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=P=>{P.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,F7||d.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),U=-20;for(let j of A){let O=document.createElement("tr"),P=j.program;if(O.classList.add("voice_selector_option"),O.setAttribute("program",P.toString()),O.setAttribute("bank",j.bank.toString()),P===p&&j.bank===d&&(O.classList.add("voice_selector_selected"),setTimeout(()=>{O.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),O.onclick=()=>{let S1=`${j.bank}:${P}`;if(this.value===S1){this.hideSelectionMenu();return}this.editCallback(S1),this.locked=!0,this.presetLock.innerHTML=Rp(si),this.hideSelectionMenu()},P!==U&&(U=P,j.bank!==128)){let S1=document.createElement("tr"),c1=document.createElement("th");c1.colSpan="3",c1.textContent=tw[U],S1.appendChild(c1),c.appendChild(S1)}let W0=`${j.program.toString().padStart(3,"0")}`,_=`${j.bank.toString().padStart(3,"0")}`,q=document.createElement("td");q.classList.add("voice_selector_preset_name"),q.textContent=j.name;let t0=document.createElement("td");q.classList.add("voice_selector_preset_program"),t0.textContent=W0;let n1=document.createElement("td");q.classList.add("voice_selector_preset_program"),n1.textContent=_,O.appendChild(n1),O.appendChild(t0),O.appendChild(q),c.appendChild(O)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,d=parseInt(this.value.split(":")[1]),p=d;this.elements.find(U=>U.program===d)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],d=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let U of c.rows){if(U.cells.length===1)continue;let j=parseInt(U.cells[0].textContent),O=parseInt(U.cells[1].textContent);j===d&&O===p&&(U.classList.add("voice_selector_selected"),U.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),d=parseInt(A[1]),p=this.elements.find(U=>U.bank===c&&U.program===d);return p?c===128||this.elements.filter(U=>U.program===d&&U.bank!==128).length<2?`${d}. ${p.name}`:`${c}:${d} ${p.name}`:""}};var si=32;function iw(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,$2=>{let f2=c.isLocked;f2&&this.synth.lockController(n,k$+q4.pitchWheel,!1),$2=Math.round($2)+8192;let K2=$2>>7,J2=$2&127;this.synth.pitchWheel(n,K2,J2),f2&&this.synth.lockController(n,k$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,k$+q4.pitchWheel,!0),()=>this.synth.lockController(n,k$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let d=($2,f2,K2)=>{K2.isLocked?(this.synth.lockController(n,$2,!1),this.synth.controllerChange(n,$2,f2),this.synth.lockController(n,$2,!0)):this.synth.controllerChange(n,$2,f2)},p=($2,f2,K2)=>{let J2=new pr(this.channelColors[n%this.channelColors.length],e4+f2,this.locale,[n+1],0,127,!0,A0=>d($2,Math.round(A0),J2),()=>this.synth.lockController(n,$2,!0),()=>this.synth.lockController(n,$2,!1));return J2.update(K2),J2},U=p($3.pan,"channelController.panMeter",64);i.appendChild(U.div);let j=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(j.div);let O=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(O.div);let P=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(P.div);let W0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(W0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let q=p($3.brightness,"channelController.filterMeter",64);i.appendChild(q.div);let t0=new pr(this.channelColors[n%this.channelColors.length],e4+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,$2=>{$2=Math.round($2),this.synth.transposeChannel(n,$2,!0),t0.update($2)});t0.update(0),i.appendChild(t0.div);let n1=new OE([],this.locale,e4+"channelController.presetSelector",[n+1],async $2=>{let f2=$2.split(":");this.synth.lockController(n,s7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(f2[0]),!0),this.synth.programChange(n,parseInt(f2[1]),!0),n1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,s7,!0)},$2=>this.synth.lockController(n,s7,$2));i.appendChild(n1.mainButton);let S1=document.createElement("div");S1.innerHTML=mu(si),this.locale.bindObjectProperty(S1,"title",e4+"channelController.soloButton.description",[n+1]),S1.classList.add("controller_element"),S1.classList.add("mute_button"),S1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let $2=0;$2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let $2=0;$2{if(c1.hasAttribute("is_muted")){c1.removeAttribute("is_muted");let $2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!$2),c1.innerHTML=Mp(si)}else this.synth.muteChannel(n,!0),c1.setAttribute("is_muted","true"),c1.innerHTML=Uy(si)},i.appendChild(c1);let I2=document.createElement("div");return I2.innerHTML=n===R7?UE(si):PE(si),this.locale.bindObjectProperty(I2,"title",e4+"channelController.drumToggleButton.description",[n+1]),I2.classList.add("controller_element"),I2.classList.add("mute_button"),I2.onclick=()=>{n1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,s7,!1),n1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(I2),{controller:i,voiceMeter:A,pitchWheel:c,pan:U,expression:j,volume:O,mod:P,chorus:W0,reverb:_,brightness:q,preset:n1,drumsToggle:I2,soloButton:S1,muteButton:c1,transpose:t0}}function rw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function eB(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),d=n.getAttribute("max"),p=n.getAttribute("value"),U=n.getAttribute("units"),j=n.getAttribute("input_id"),O=document.createElement("input");O.classList.add("settings_slider"),O.type="range",O.id=j,O.min=c,O.max=d,O.value=p;let P;i&&(P=document.createElement("span"),P.textContent=p+U);let W0=document.createElement("div");W0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),W0.appendChild(_);let q=document.createElement("div");return q.classList.add("settings_slider_thumb"),W0.appendChild(q),W0.appendChild(O),O.addEventListener("input",()=>{let t0=parseInt(W0.style.getPropertyValue("--visual-width").replace("%","")),n1=Math.round((O.value-O.min)/(O.max-O.min)*100);Math.abs((t0-n1)/100)>.05?W0.classList.add("settings_slider_transition"):W0.classList.remove("settings_slider_transition"),W0.style.setProperty("--visual-width",`${n1}%`)}),W0.style.setProperty("--visual-width",`${(O.value-O.min)/(O.max-O.min)*100}%`),A.appendChild(W0),i&&A.appendChild(P),A}function Oo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function ow(n,i){switch(n.type){case"button":let A=document.createElement("button");return Oo(A,n,i),qa(n,[A]),A;case"text":let c=document.createElement("p");return Oo(c,n,i),qa(n,[c]),c;case"input":let d=document.createElement("div");d.classList.add("notification_input_wrapper");let p=document.createElement("input");Oo(p,n,i),p.addEventListener("keydown",K2=>K2.stopPropagation());let U=document.createElement("label");return Oo(U,n,i),qa(n,[p,U]),d.append(U),d.appendChild(p),d;case"select":let j=document.createElement("div");j.classList.add("notification_input_wrapper");let O=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let K2 of Object.entries(n.selectOptions)){let J2=document.createElement("option");J2.value=K2[0],J2.textContent=K2[1],O.appendChild(J2)}let P=document.createElement("label");return Oo(P,n,i),qa(n,[O,P]),j.appendChild(P),j.appendChild(O),j;case"file":let W0=document.createElement("label");W0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let q=document.createElement("label");q.classList.add("notification_file_button"),Oo(q,n,i);let t0=document.createElement("label");return Oo(t0,n,i),qa(n,[q,_,t0]),q.appendChild(_),W0.append(t0),W0.appendChild(q),W0;case"progress":let n1=document.createElement("div");n1.classList.add("notification_progress_background");let S1=document.createElement("div");return S1.classList.add("notification_progress"),qa(n,[S1,n1]),n1.appendChild(S1),n1;case"toggle":return VD(n,i);case"range":let c1=document.createElement("input");c1.type="range";let I2=document.createElement("label");qa(n,[c1,I2]),Oo(I2,n,i);let $2=eB(c1,!1),f2=document.createElement("div");return f2.classList.add("notification_slider_wrapper"),f2.appendChild(I2),f2.appendChild($2),f2}}function qa(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let d of i)A.startsWith("onchange")?d[A]=c:d.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let d of i)d.addEventListener(A,c)}function VD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");Oo(c,n,i);let d=document.createElement("input");d.type="checkbox",qa(n,[c,d]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(d);let U=document.createElement("div");return U.classList.add("notification_switch_slider"),p.appendChild(U),A.appendChild(c),A.appendChild(p),A}var JD=13,zD=0,Tp={};function qe(n,i,A=JD,c=!0,d=void 0,p=void 0,U=void 0){let j=document.createElement("div"),O=zD++;j.classList.add("notification"),j.innerHTML=`

${n}

\xD7 -
`;let U=document.createElement("div");if(U.classList.add("notification_content"),p)for(let[_,e0]of Object.entries(p))U.style[_]=e0;H.appendChild(U);for(let _ of i){let e0=sw(_,d);_.onClick&&(e0.onclick=()=>_.onClick({div:H,id:P},e0)),U.appendChild(e0)}c?H.getElementsByClassName("close_btn")[0].onclick=()=>{le(P)}:H.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{H.classList.add("drop")},75);let W0=setTimeout(()=>{le(P)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(H),Tp[P]={div:H,timeout:W0,onclose:O},{div:H,id:P}}function le(n){if(Tp[n]===void 0)return;let i=Tp[n],A=i.div;clearTimeout(Tp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Tp[n]=void 0}var $7={nodesAmount:Hr.nodesAmount,defaultDelay:Hr.defaultDelay,delayVariation:Hr.delayVariation,stereoDifference:Hr.stereoDifference,oscillatorFrequency:Hr.oscillatorFrequency,oscillatorFrequencyVariation:Hr.oscillatorFrequencyVariation,oscillatorGain:Hr.oscillatorGain};function aw(n,i,A){let c=i+"effectsConfig.",d=qe(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,O)=>{A.disableGSNRPparams(),O.parentNode.removeChild(O)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let O=p.target.parentElement.parentElement;O.textContent=n.getLocaleString("locale.synthInit.genericLoading");let H=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(H),O.textContent=n.getLocaleString("locale.synthInit.done"),_5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:$7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:$7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:$7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:$7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:$7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:$7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:$7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{$7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),$7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),$7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),$7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig($7)}}],999999,!0,n);return d.div.onclick=p=>p.stopImmediatePropagation(),d}var d8="locale.synthesizerController.keyModifiers.";async function Aw(n,i){return new Promise(A=>{let c=qe(n.getLocaleString(d8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(d8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=d=>{le(c.id),i.onNotePressed=void 0,A(d)}})}async function tB(n,i,A,c){let d=await Aw(i,A),p=(H,P,U,W0)=>{let _={type:"number",min:P.toString(),max:U.toString(),value:W0.toString()};return _[H]="true",_},O={};O.unchanged=i.getLocaleString(d8+"modifyKey.preset.unchanged");for(let H of c.toSorted((P,U)=>P.presetNameU.presetName?1:0))O[H.presetName]=H.presetName;qe(i.getLocaleString(d8+"modifyKey.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[d.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async H=>{le(H.id),await tB(n,i,A,c)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:d8+"modifyKey.velocity",attributes:p("vel",0,127,-1)},{type:"select",translatePathTitle:d8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:O},{type:"button",translatePathTitle:d8+"modifyKey.apply",onClick:H=>{let P=parseInt(H.div.querySelector("input[chan]").value)??-1,U=parseInt(H.div.querySelector("input[vel]").value)??-1,W0=H.div.querySelector("select[preset-selector]").value,_=-1,e0=-1;if(W0!=="unchanged"){let i0=c.find(a1=>a1.presetName===W0);_=i0.bank,e0=i0.program}n.keyModifierManager.addModifier(P,d,{velocity:U,patch:{program:e0,bank:_}}),le(H.id)}}],99999,!0,i)}async function zD(n,i,A){let c=await Aw(i,A);qe(i.getLocaleString(d8+"removeModification.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async d=>{le(d.id),await tB(n,i,A)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:d8+"removeModification.remove",onClick:d=>{let p=parseInt(d.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),le(d.id)}}],99999,!0,i)}function $w(n,i,A,c){qe(i.getLocaleString(d8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(d8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(d8+"prompt")},{type:"button",translatePathTitle:d8+"modifyKey",onClick:d=>{le(d.id),tB(n,i,A,c).then()}},{type:"button",translatePathTitle:d8+"removeModification",onClick:d=>{le(d.id),zD(n,i,A).then()}},{type:"button",translatePathTitle:d8+"resetModifications",onClick:d=>{le(d.id),qe(i.getLocaleString(d8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(d8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{le(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{le(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function lw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new pr("",e4+"mainVoiceMeter",this.locale,[],0,JC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new pr("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,U=>{this.synth.setMainVolume(Math.round(U)/100),this.volumeController.update(U)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new pr("",e4+"mainPanMeter",this.locale,[],-1,1,!0,U=>{this.synth.setMasterPan(U),this.panController.update(U)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new pr("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,U=>{this.synth.transpose(Math.round(U*2)/2),this.transposeController.update(Math.round(U*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",e4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",e4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",e4+"systemReset.title"),this.locale.bindObjectProperty(A,"title",e4+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((U,W0)=>{U.pitchWheel.isLocked&&U.pitchWheel.lockMeter(),U.pan.isLocked&&U.pan.lockMeter(),U.expression.isLocked&&U.expression.lockMeter(),U.volume.isLocked&&U.volume.lockMeter(),U.mod.isLocked&&U.mod.lockMeter(),U.chorus.isLocked&&U.chorus.lockMeter(),U.reverb.isLocked&&U.reverb.lockMeter(),U.brightness.isLocked&&U.brightness.lockMeter(),U.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(W0,s7,!1),U.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(W0,0,!0),U.transpose.update(0),U.soloButton.innerHTML=mu(si),U.muteButton.innerHTML=Mp(si),this.synth.muteChannel(W0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",e4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let d=document.createElement("button");this.locale.bindObjectProperty(d,"textContent",e4+"keyModifiers.button.title"),this.locale.bindObjectProperty(d,"title",e4+"keyModifiers.button.description"),d.classList.add("synthui_button"),d.classList.add("main_controller_element"),d.onclick=()=>{$w(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",e4+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){le(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=aw(this.locale,e4,this.synth).id};let O=document.createElement("select");O.classList.add("main_controller_element"),O.classList.add("synthui_button"),this.locale.bindObjectProperty(O,"title",e4+"interpolation.description");{let U=document.createElement("option");U.value="0",this.locale.bindObjectProperty(U,"textContent",e4+"interpolation.linear"),O.appendChild(U);let W0=document.createElement("option");W0.value="1",this.locale.bindObjectProperty(W0,"textContent",e4+"interpolation.nearestNeighbor"),O.appendChild(W0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",e4+"interpolation.cubic"),O.appendChild(_),O.onchange=()=>{this.synth.setInterpolationType(parseInt(O.value))}}let H=document.createElement("div");H.classList.add("synthui_controller"),this.uiDiv.appendChild(H);let P=document.createElement("button");this.locale.bindObjectProperty(P,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(P,"title",e4+"toggleButton.description"),P.classList.add("synthui_button"),P.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(O),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,d,p,P,O],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(P),H.appendChild(n),this.mainControllerDiv=H,this.mainControllerDiv.onclick=U=>U.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),H.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function cw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,d=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(d);break;case $3.mainVolume:p.volume.update(d);break;case $3.pan:p.pan.update(d);break;case $3.modulationWheel:p.mod.update(d);break;case $3.chorusDepth:p.chorus.update(d);break;case $3.reverbDepth:p.reverb.update(d);break;case $3.brightness:p.brightness.update(d)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?UE(32):PE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",Jr=class{constructor(i,A,c){this.channelColors=i;let d=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),d.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case oi.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case oi.settingsShow:this.isShown=!0,this.toggleVisibility();break;case oi.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case oi.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,d)=>c.program===d.program?c.bank-d.bank:c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,d)=>c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,d)=>{let p=this.synth.channelProperties[d].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Jr.prototype.hideControllers=Xy;Jr.prototype.showControllers=ew;Jr.prototype.toggleDarkMode=tw;Jr.prototype.createChannelController=rw;Jr.prototype.createChannelControllers=nw;Jr.prototype.createMainSynthController=lw;Jr.prototype.setEventListeners=cw;var Np=null,qE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Np,this.selectedOutput=Np,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,_5("%cMIDI handler created!",C1.recognized),!0}catch(i){return I9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return I9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),_5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Np,i.connectMidiOutput(void 0),_5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},_5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Np,i.onmidimessage=void 0,_5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Np;for(let i of this.inputs)i[1].onmidimessage=void 0}};var HE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let d=c.map(p=>parseInt(p,16));i.sendMessage(d)}),_5("%cWeb MIDI Link handler created!",C1.recognized)}};var Ha="midi range";function gw(n,i,A){let c=0,d=this.htmlControls.keyboard,p=[],O=[],H,P=e0=>{let i0=O[e0],a1=i0.drum?128:i0.bank,_1=H.find(f1=>f1.bank===a1&&f1.program===i0.program);_1||(_1=H[0]),p[e0].textContent=": "+_1.presetName},U=()=>{if(H)for(let e0=0;e0{let e0=document.createElement("option");e0.value=c.toString();let i0=document.createElement("p");this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let a1=document.createElement("p");a1.textContent=": not ",p.push(a1),O.push({program:0,bank:0,drum:c%16===9}),U(),e0.appendChild(i0),e0.appendChild(a1),e0.style.background=i.channelColors[c%i.channelColors.length],e0.style.color="rgb(0, 0, 0)",d.channelSelector.appendChild(e0),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",e0=>{H=e0,U()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),_.eventHandler.addEvent("programchange","settings-program-change",e0=>{let i0=O[e0.channel];i0.bank=e0.bank,i0.program=e0.program,P(e0.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",e0=>{O[e0.channel].drum=e0.isDrumChannel,P(e0.channel)});for(let e0=0;e0{n.selectChannel(parseInt(d.channelSelector.value))},d.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{d.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},600);return}d.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},this.addSequencer=e0=>{e0.addOnSongChangeEvent(i0=>{this.autoKeyRange&&(n.keyRange=i0.keyRange,A.keyRange=i0.keyRange),i0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",e0=>{e0.userCalled&&(n.selectChannel(e0.channel),d.channelSelector.value=e0.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",e0=>{if(e0.isMuted&&e0.channel===n.channel){let i0=0;for(;i.synth.channelProperties[i0].isMuted;)i0++;i0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},d.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var uw=` + `;let P=document.createElement("div");if(P.classList.add("notification_content"),p)for(let[_,q]of Object.entries(p))P.style[_]=q;j.appendChild(P);for(let _ of i){let q=ow(_,d);_.onClick&&(q.onclick=()=>_.onClick({div:j,id:O},q)),P.appendChild(q)}c?j.getElementsByClassName("close_btn")[0].onclick=()=>{le(O)}:j.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{j.classList.add("drop")},75);let W0=setTimeout(()=>{le(O)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(j),Tp[O]={div:j,timeout:W0,onclose:U},{div:j,id:O}}function le(n){if(Tp[n]===void 0)return;let i=Tp[n],A=i.div;clearTimeout(Tp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Tp[n]=void 0}var $7={nodesAmount:Hr.nodesAmount,defaultDelay:Hr.defaultDelay,delayVariation:Hr.delayVariation,stereoDifference:Hr.stereoDifference,oscillatorFrequency:Hr.oscillatorFrequency,oscillatorFrequencyVariation:Hr.oscillatorFrequencyVariation,oscillatorGain:Hr.oscillatorGain};function sw(n,i,A){let c=i+"effectsConfig.",d=qe(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,U)=>{A.disableGSNRPparams(),U.parentNode.removeChild(U)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let U=p.target.parentElement.parentElement;U.textContent=n.getLocaleString("locale.synthInit.genericLoading");let j=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(j),U.textContent=n.getLocaleString("locale.synthInit.done"),_5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:$7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:$7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:$7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:$7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:$7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:$7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:$7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{$7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),$7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),$7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),$7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig($7)}}],999999,!0,n);return d.div.onclick=p=>p.stopImmediatePropagation(),d}var d8="locale.synthesizerController.keyModifiers.";async function aw(n,i){return new Promise(A=>{let c=qe(n.getLocaleString(d8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(d8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=d=>{le(c.id),i.onNotePressed=void 0,A(d)}})}async function Aw(n,i,A,c){let d=await aw(i,A),p=(q,t0,n1,S1)=>{let c1={type:"number",min:t0.toString(),max:n1.toString(),value:S1.toString()};return c1[q]="true",c1},U={};U.unchanged=i.getLocaleString(d8+"modifyKey.preset.unchanged");for(let q of c.toSorted((t0,n1)=>t0.presetNamen1.presetName?1:0))U[q.presetName]=q.presetName;let j=n.keyModifierManager.getModifier(A.channel,d),O=j?.velocity??-1,P=qe(i.getLocaleString(d8+"modifyKey.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[d.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async q=>{le(q.id),await Aw(n,i,A,c)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:d8+"modifyKey.velocity",attributes:p("vel",0,127,O)},{type:"select",translatePathTitle:d8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:U},{type:"button",translatePathTitle:d8+"modifyKey.apply",onClick:q=>{let t0=parseInt(q.div.querySelector("input[chan]").value)??-1,n1=parseInt(q.div.querySelector("input[vel]").value)??-1,S1=q.div.querySelector("select[preset-selector]").value,c1=-1,I2=-1;if(S1!=="unchanged"){let $2=c.find(f2=>f2.presetName===S1);c1=$2.bank,I2=$2.program}n.keyModifierManager.addModifier(t0,d,{velocity:n1,patch:{program:I2,bank:c1}}),le(q.id)}}],99999,!0,i),W0=j?.patch?.program??-1,_=j?.patch?.bank??-1;_!==-1&&W0!==-1&&(P.div.querySelector("select[preset-selector]").value=c.find(q=>q.bank===_&&q.program===W0).presetName)}async function $w(n,i,A){let c=await aw(i,A);qe(i.getLocaleString(d8+"removeModification.title"),[{type:"text",translatePathTitle:d8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(d8+"selectKey.change"),onClick:async d=>{le(d.id),await $w(n,i,A)}},{type:"input",translatePathTitle:d8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:d8+"removeModification.remove",onClick:d=>{let p=parseInt(d.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),le(d.id)}}],99999,!0,i)}function lw(n,i,A,c){qe(i.getLocaleString(d8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(d8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(d8+"prompt")},{type:"button",translatePathTitle:d8+"modifyKey",onClick:d=>{le(d.id),Aw(n,i,A,c).then()}},{type:"button",translatePathTitle:d8+"removeModification",onClick:d=>{le(d.id),$w(n,i,A).then()}},{type:"button",translatePathTitle:d8+"resetModifications",onClick:d=>{le(d.id),qe(i.getLocaleString(d8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(d8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{le(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{le(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function cw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new pr("",e4+"mainVoiceMeter",this.locale,[],0,JC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new pr("",e4+"mainVolumeMeter",this.locale,[],0,200,!0,P=>{this.synth.setMainVolume(Math.round(P)/100),this.volumeController.update(P)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new pr("",e4+"mainPanMeter",this.locale,[],-1,1,!0,P=>{this.synth.setMasterPan(P),this.panController.update(P)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new pr("",e4+"mainTransposeMeter",this.locale,[],-12,12,!0,P=>{this.synth.transpose(Math.round(P*2)/2),this.transposeController.update(Math.round(P*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",e4+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",e4+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",e4+"systemReset.title"),this.locale.bindObjectProperty(A,"title",e4+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((P,W0)=>{P.pitchWheel.isLocked&&P.pitchWheel.lockMeter(),P.pan.isLocked&&P.pan.lockMeter(),P.expression.isLocked&&P.expression.lockMeter(),P.volume.isLocked&&P.volume.lockMeter(),P.mod.isLocked&&P.mod.lockMeter(),P.chorus.isLocked&&P.chorus.lockMeter(),P.reverb.isLocked&&P.reverb.lockMeter(),P.brightness.isLocked&&P.brightness.lockMeter(),P.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(W0,s7,!1),P.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(W0,0,!0),P.transpose.update(0),P.soloButton.innerHTML=mu(si),P.muteButton.innerHTML=Mp(si),this.synth.muteChannel(W0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",e4+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",e4+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let d=document.createElement("button");this.locale.bindObjectProperty(d,"textContent",e4+"keyModifiers.button.title"),this.locale.bindObjectProperty(d,"title",e4+"keyModifiers.button.description"),d.classList.add("synthui_button"),d.classList.add("main_controller_element"),d.onclick=()=>{lw(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",e4+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",e4+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){le(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=sw(this.locale,e4,this.synth).id};let U=document.createElement("select");U.classList.add("main_controller_element"),U.classList.add("synthui_button"),this.locale.bindObjectProperty(U,"title",e4+"interpolation.description");{let P=document.createElement("option");P.value="0",this.locale.bindObjectProperty(P,"textContent",e4+"interpolation.linear"),U.appendChild(P);let W0=document.createElement("option");W0.value="1",this.locale.bindObjectProperty(W0,"textContent",e4+"interpolation.nearestNeighbor"),U.appendChild(W0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",e4+"interpolation.cubic"),U.appendChild(_),U.onchange=()=>{this.synth.setInterpolationType(parseInt(U.value))}}let j=document.createElement("div");j.classList.add("synthui_controller"),this.uiDiv.appendChild(j);let O=document.createElement("button");this.locale.bindObjectProperty(O,"textContent",e4+"toggleButton.title"),this.locale.bindObjectProperty(O,"title",e4+"toggleButton.description"),O.classList.add("synthui_button"),O.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(d),n.appendChild(p),n.appendChild(U),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,d,p,O,U],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(O),j.appendChild(n),this.mainControllerDiv=j,this.mainControllerDiv.onclick=P=>P.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),j.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function gw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,d=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(d);break;case $3.mainVolume:p.volume.update(d);break;case $3.pan:p.pan.update(d);break;case $3.modulationWheel:p.mod.update(d);break;case $3.chorusDepth:p.chorus.update(d);break;case $3.reverbDepth:p.reverb.update(d);break;case $3.brightness:p.brightness.update(d)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?UE(32):PE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var e4="locale.synthesizerController.",Jr=class{constructor(i,A,c){this.channelColors=i;let d=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),d.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case oi.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case oi.settingsShow:this.isShown=!0,this.toggleVisibility();break;case oi.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case oi.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(le(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,d)=>c.program===d.program?c.bank-d.bank:c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,d)=>c.program-d.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,d)=>{let p=this.synth.channelProperties[d].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Jr.prototype.hideControllers=jy;Jr.prototype.showControllers=Xy;Jr.prototype.toggleDarkMode=ew;Jr.prototype.createChannelController=iw;Jr.prototype.createChannelControllers=rw;Jr.prototype.createMainSynthController=cw;Jr.prototype.setEventListeners=gw;var Np=null,qE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Np,this.selectedOutput=Np,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,_5("%cMIDI handler created!",C1.recognized),!0}catch(i){return I9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return I9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),_5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Np,i.connectMidiOutput(void 0),_5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},_5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Np,i.onmidimessage=void 0,_5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Np;for(let i of this.inputs)i[1].onmidimessage=void 0}};var HE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let d=c.map(p=>parseInt(p,16));i.sendMessage(d)}),_5("%cWeb MIDI Link handler created!",C1.recognized)}};var Ha="midi range";function uw(n,i,A){let c=0,d=this.htmlControls.keyboard,p=[],U=[],j,O=q=>{let t0=U[q],n1=t0.drum?128:t0.bank,S1=j.find(c1=>c1.bank===n1&&c1.program===t0.program);S1||(S1=j[0]),p[q].textContent=": "+S1.presetName},P=()=>{if(j)for(let q=0;q{let q=document.createElement("option");q.value=c.toString();let t0=document.createElement("p");this.locale.bindObjectProperty(t0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let n1=document.createElement("p");n1.textContent=": not ",p.push(n1),U.push({program:0,bank:0,drum:c%16===9}),P(),q.appendChild(t0),q.appendChild(n1),q.style.background=i.channelColors[c%i.channelColors.length],q.style.color="rgb(0, 0, 0)",d.channelSelector.appendChild(q),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",q=>{j=q,P()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),_.eventHandler.addEvent("programchange","settings-program-change",q=>{let t0=U[q.channel];t0.bank=q.bank,t0.program=q.program,O(q.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",q=>{U[q.channel].drum=q.isDrumChannel,O(q.channel)});for(let q=0;q{n.selectChannel(parseInt(d.channelSelector.value))},d.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{d.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},600);return}d.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[d.sizeSelector.value],A.keyRange=this.keyboardSizes[d.sizeSelector.value]),this._saveSettings()},this.addSequencer=q=>{q.addOnSongChangeEvent(t0=>{this.autoKeyRange&&(n.keyRange=t0.keyRange,A.keyRange=t0.keyRange),t0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",q=>{q.userCalled&&(n.selectChannel(q.channel),d.channelSelector.value=q.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",q=>{if(q.isMuted&&q.channel===n.channel){let t0=0;for(;i.synth.channelProperties[t0].isMuted;)t0++;t0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},d.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var dw=`

@@ -212,26 +212,26 @@ var vE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(

-`;async function dw(){let n=await window.savedSettings;if(!n.interface)return;_5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Fn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Fn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let d=c.sampleSize;i.analyserFftSlider.value=Math.log2(d),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=d,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(d)+2)),A.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${d}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Fn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let O=this.htmlControls.keyboard,H=this.midiKeyboard,P=n.keyboard;H.setKeyRange(P.keyRange,!1),P.autoRange?(O.sizeSelector.value=Ha,this.autoKeyRange=!0):(this.autoKeyRange=!1,O.sizeSelector.value=Object.keys(this.keyboardSizes).find(U=>this.keyboardSizes[U].min===P.keyRange.min&&this.keyboardSizes[U].max===P.keyRange.max)),P.mode==="dark"&&(H.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),P.show===!1&&(H.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function hw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function fw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Ha,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function Iw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,d]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=d.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function mw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var YE={start:"#101010",end:"#212121"},VE={start:"#bbb",end:"#f0f0f0"},pw="#eee",Ew="#333",JE={start:"#222",end:"#333"},zE={start:"#ccc",end:"#fff"},Tn=.2;function Cw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Nn(Ew,pw,Tn,i,"--font-color"),Nn(zE.start,JE.start,Tn,i,"--top-buttons-color-start"),Nn(zE.end,JE.end,Tn,i,"--top-buttons-color-end"),Nn(VE.start,YE.start,Tn,i,"--top-color-start"),Nn(VE.end,YE.end,Tn,i,"--top-color-end")):(Nn(pw,Ew,Tn,i,"--font-color"),Nn(JE.start,zE.start,Tn,i,"--top-buttons-color-start"),Nn(JE.end,zE.end,Tn,i,"--top-buttons-color-end"),Nn(YE.start,VE.start,Tn,i,"--top-color-start"),Nn(YE.end,VE.end,Tn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Eu={};function Nn(n,i,A,c,d){Eu[d]&&(clearInterval(Eu[d]),Eu[d]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let e0=parseInt(_.slice(1),16);return{r:e0>>16&255,g:e0>>8&255,b:e0&255}}function O(_,e0,i0){return _+(e0-_)*i0}let H=p(n),P=p(i),U=performance.now()/1e3;function W0(){let e0=performance.now()/1e3-U,i0=Math.min(e0/A,1),a1=Math.round(O(H.r,P.r,i0)),_1=Math.round(O(H.g,P.g,i0)),f1=Math.round(O(H.b,P.b,i0));c.style.setProperty(d,`rgb(${a1}, ${_1}, ${f1})`),i0>=1&&(clearInterval(Eu[d]),Eu[d]=void 0)}Eu[d]=setInterval(W0,1e3/60)}function Bw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Fn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Fn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Fn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function Qw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(F7||qe(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function yw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function ww(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var vw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var kw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Sw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var bw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:vw,keyboardSettings:kw,midiSettings:Sw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var Dw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var _w={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var xw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Lw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. +`;async function hw(){let n=await window.savedSettings;if(!n.interface)return;_5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Fn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Fn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let d=c.sampleSize;i.analyserFftSlider.value=Math.log2(d),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=d,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(d)+2)),A.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${d}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Fn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let U=this.htmlControls.keyboard,j=this.midiKeyboard,O=n.keyboard;j.setKeyRange(O.keyRange,!1),O.autoRange?(U.sizeSelector.value=Ha,this.autoKeyRange=!0):(this.autoKeyRange=!1,U.sizeSelector.value=Object.keys(this.keyboardSizes).find(P=>this.keyboardSizes[P].min===O.keyRange.min&&this.keyboardSizes[P].max===O.keyRange.max)),O.mode==="dark"&&(j.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),O.show===!1&&(j.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function fw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function Iw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Ha,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function mw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,d]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=d.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function pw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var YE={start:"#101010",end:"#212121"},VE={start:"#bbb",end:"#f0f0f0"},Ew="#eee",Cw="#333",JE={start:"#222",end:"#333"},zE={start:"#ccc",end:"#fff"},Tn=.2;function Bw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Nn(Cw,Ew,Tn,i,"--font-color"),Nn(zE.start,JE.start,Tn,i,"--top-buttons-color-start"),Nn(zE.end,JE.end,Tn,i,"--top-buttons-color-end"),Nn(VE.start,YE.start,Tn,i,"--top-color-start"),Nn(VE.end,YE.end,Tn,i,"--top-color-end")):(Nn(Ew,Cw,Tn,i,"--font-color"),Nn(JE.start,zE.start,Tn,i,"--top-buttons-color-start"),Nn(JE.end,zE.end,Tn,i,"--top-buttons-color-end"),Nn(YE.start,VE.start,Tn,i,"--top-color-start"),Nn(YE.end,VE.end,Tn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Eu={};function Nn(n,i,A,c,d){Eu[d]&&(clearInterval(Eu[d]),Eu[d]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let q=parseInt(_.slice(1),16);return{r:q>>16&255,g:q>>8&255,b:q&255}}function U(_,q,t0){return _+(q-_)*t0}let j=p(n),O=p(i),P=performance.now()/1e3;function W0(){let q=performance.now()/1e3-P,t0=Math.min(q/A,1),n1=Math.round(U(j.r,O.r,t0)),S1=Math.round(U(j.g,O.g,t0)),c1=Math.round(U(j.b,O.b,t0));c.style.setProperty(d,`rgb(${n1}, ${S1}, ${c1})`),t0>=1&&(clearInterval(Eu[d]),Eu[d]=void 0)}Eu[d]=setInterval(W0,1e3/60)}function Qw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Fn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Fn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Fn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function yw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(F7||qe(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function ww(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function vw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let d=document.createElement("option");d.value=c[0],d.innerText=c[1].name,A.appendChild(d)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var kw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Sw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var bw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var Dw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:kw,keyboardSettings:Sw,midiSettings:bw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var _w={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var xw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Lw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Mw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. Currently you can modify its velocity and assign a patch (instrument) it uses. - This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Mw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:_w,effectsConfig:xw,keyModifiers:Lw};var Rw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Fw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls) [EXPERIMENTAL]",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Tw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Fw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:Dw,settings:bw,synthesizerController:Mw,sequencerController:Rw};var Nw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Gw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Uw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Pw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Nw,keyboardSettings:Gw,midiSettings:Uw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Ow={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var qw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var Hw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Yw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. + This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Rw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:xw,effectsConfig:Lw,keyModifiers:Mw};var Fw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var Tw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls) [EXPERIMENTAL]",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Nw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:Tw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:_w,settings:Dw,synthesizerController:Rw,sequencerController:Fw};var Gw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Uw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Pw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Ow={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Gw,keyboardSettings:Uw,midiSettings:Pw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var qw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Hw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var Yw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Vw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. Aktualnie mo\u017Cesz nadpisa\u0107 si\u0142\u0119 nacisku oraz przypisa\u0107 instrument do danego klawisza. -To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Vw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:qw,effectsConfig:Hw,keyModifiers:Yw};var Jw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var zw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls) [EKSPERYMENTALNY]",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Kw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:zw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Ow,settings:Pw,synthesizerController:Vw,sequencerController:Jw};var Ww={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Zw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var jw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Xw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Ww,keyboardSettings:Zw,midiSettings:jw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var ev={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var tv={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var iv={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:tv};var rv={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var nv={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var ov={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:nv,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Jw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Hw,effectsConfig:Yw,keyModifiers:Vw};var zw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Kw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls) [EKSPERYMENTALNY]",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Ww={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Kw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:qw,settings:Ow,synthesizerController:Jw,sequencerController:zw};var Zw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var jw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Xw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var ev={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Zw,keyboardSettings:jw,midiSettings:Xw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var tv={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var iv={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var rv={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:iv};var nv={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var ov={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var sv={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:ov,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:ev,settings:Xw,synthesizerController:iv,sequencerController:rv};var sv={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var av={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var Av={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var $v={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:sv,keyboardSettings:av,midiSettings:Av,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var lv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var cv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var gv={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente -Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:cv};var uv={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var dv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis +\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:tv,settings:ev,synthesizerController:rv,sequencerController:nv};var av={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var Av={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var $v={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var lv={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:av,keyboardSettings:Av,midiSettings:$v,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var cv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var gv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var uv={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente +Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:gv};var dv={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var hv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier Note : si la banque de sons \xE9tait d\xE9j\xE0 compress\xE9e, cette option ne d\xE9compressera pas m\xEAme en \xE9tant d\xE9sactiv\xE9e`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"}}},rmidi:{button:{title:"MIDI embarqu\xE9 (.rmi)",description:`Exporter le fichier MIDI modifi\xE9 avec la banque de sons all\xE9g\xE9e dans un seul fichier Note : ce format n'est pas support\xE9 par tous les lecteurs MIDI`},progress:{title:"Exportation du fichier MIDI embarqu\xE9...",loading:"Chargement de la banque de sons et du fichier MIDI...",modifyingMIDI:"Modification MIDI...",modifyingSoundfont:"All\xE8gement de la banque de sons...",saving:"Cr\xE9ation du fichier RMIDI...",done:"Termin\xE9 !"},options:{title:"Options de l'exportation RMIDI",confirm:"Exporter",compress:{title:"Compression",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand\xE9e)`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"},bankOffset:{title:"D\xE9calage de banque",description:`D\xE9calage des num\xE9ros de banque dans le fichier (une valeur de 0 est recommand\xE9e sauf cas particulier)`},adjust:{title:"Ajustement MIDI",description:`Ajuste le fichier MIDI \xE0 la banque de sons -(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var hv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:dv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:lv,settings:$v,synthesizerController:gv,sequencerController:uv};var fv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var Iv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var mv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var pv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:fv,keyboardSettings:Iv,midiSettings:mv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var Ev={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Cv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Bv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var Qv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Cv,effectsConfig:Bv};var yv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var wv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var vv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:wv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Ev,settings:pv,synthesizerController:Qv,sequencerController:yv};var iB="en",x$={en:Tw,pl:Kw,ja:ov,fr:hv,pt:vv};var KD=.2,w7=class{addSequencer;constructor(i,A,c,d,p,O,H,P){this.mode="dark",this.autoKeyRange=!1,this.renderer=d,this.midiKeyboard=p,this.midiDeviceHandler=O,this.synthui=A,this.sequi=c,this.locale=P,this.musicMode=H,this.locales=x$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U=document.createElement("div");U.style.position="relative",U.classList.add("seamless_button"),U.classList.add("settings_button"),i.appendChild(U);let W0=document.createElement("div");W0.classList.add("seamless_button"),this.locale.bindObjectProperty(W0,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(W0,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(W0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(_,"title","locale.hideTopBar.description"),i.appendChild(_);let e0=document.getElementsByClassName("show_top_button")[0];e0.innerHTML=Hy(20);let i0=document.createElement("span");this.locale.bindObjectProperty(i0,"innerText","locale.settings.toggleButton"),U.appendChild(i0);let a1=document.createElement("div");a1.innerHTML=Oy(24),a1.classList.add("gear"),U.appendChild(a1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),W0.onclick=this.toggleMusicPlayerMode.bind(this),_.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=uw,ow(this.mainDiv);for(let f1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(f1,"textContent",f1.getAttribute("translate-path"));for(let f1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let C2=f1.getAttribute("translate-path-title");this.locale.bindObjectProperty(f1,"textContent",C2+".title"),this.locale.bindObjectProperty(f1,"title",C2+".description")}this.getHtmlControls(),document.addEventListener("keydown",f1=>{switch(f1.key.toLowerCase()){case oi.settingsShow:this.setVisibility(!this.visible);break;case oi.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(d,p,O,c,A)}):this.createHandlers(d,p,O,c,A),this.topPartVisible=!0;let _1=!1;window.addEventListener("resize",()=>{let f1=window.screen.height,C2=window.screen.width,u2=window.outerHeight,I2=window.outerWidth,K2;K2=C2===I2&&f1===u2,K2!==_1&&(_1=K2,K2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},KD*1e3)),this.visible=i}createHandlers(i,A,c,d,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,d,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};w7.prototype._toggleDarkMode=Cw;w7.prototype._createInterfaceSettingsHandler=Iw;w7.prototype._changeLayout=mw;w7.prototype._createRendererHandler=Bw;w7.prototype._createMidiSettingsHandler=Qw;w7.prototype._createMidiInputHandler=yw;w7.prototype._createMidiOutputHandler=ww;w7.prototype._createKeyboardHandler=gw;w7.prototype._loadSettings=dw;w7.prototype._serializeSettings=fw;w7.prototype._saveSettings=hw;var kv=.5,KE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var fv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:hv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:cv,settings:lv,synthesizerController:uv,sequencerController:dv};var Iv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var mv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var pv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var Ev={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:Iv,keyboardSettings:mv,midiSettings:pv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var Cv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Bv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Qv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var yv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Bv,effectsConfig:Qv};var wv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var vv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var kv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:vv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:Cv,settings:Ev,synthesizerController:yv,sequencerController:wv};var tB="en",x$={en:Nw,pl:Ww,ja:sv,fr:fv,pt:kv};var KD=.2,w7=class{addSequencer;constructor(i,A,c,d,p,U,j,O){this.mode="dark",this.autoKeyRange=!1,this.renderer=d,this.midiKeyboard=p,this.midiDeviceHandler=U,this.synthui=A,this.sequi=c,this.locale=O,this.musicMode=j,this.locales=x$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let P=document.createElement("div");P.style.position="relative",P.classList.add("seamless_button"),P.classList.add("settings_button"),i.appendChild(P);let W0=document.createElement("div");W0.classList.add("seamless_button"),this.locale.bindObjectProperty(W0,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(W0,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(W0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(_,"title","locale.hideTopBar.description"),i.appendChild(_);let q=document.getElementsByClassName("show_top_button")[0];q.innerHTML=qy(20);let t0=document.createElement("span");this.locale.bindObjectProperty(t0,"innerText","locale.settings.toggleButton"),P.appendChild(t0);let n1=document.createElement("div");n1.innerHTML=Py(24),n1.classList.add("gear"),P.appendChild(n1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,P.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),W0.onclick=this.toggleMusicPlayerMode.bind(this),_.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=dw,nw(this.mainDiv);for(let c1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(c1,"textContent",c1.getAttribute("translate-path"));for(let c1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let I2=c1.getAttribute("translate-path-title");this.locale.bindObjectProperty(c1,"textContent",I2+".title"),this.locale.bindObjectProperty(c1,"title",I2+".description")}this.getHtmlControls(),document.addEventListener("keydown",c1=>{switch(c1.key.toLowerCase()){case oi.settingsShow:this.setVisibility(!this.visible);break;case oi.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(d,p,U,c,A)}):this.createHandlers(d,p,U,c,A),this.topPartVisible=!0;let S1=!1;window.addEventListener("resize",()=>{let c1=window.screen.height,I2=window.screen.width,$2=window.outerHeight,f2=window.outerWidth,K2;K2=I2===f2&&c1===$2,K2!==S1&&(S1=K2,K2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},KD*1e3)),this.visible=i}createHandlers(i,A,c,d,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,d,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};w7.prototype._toggleDarkMode=Bw;w7.prototype._createInterfaceSettingsHandler=mw;w7.prototype._changeLayout=pw;w7.prototype._createRendererHandler=Qw;w7.prototype._createMidiSettingsHandler=yw;w7.prototype._createMidiInputHandler=ww;w7.prototype._createMidiOutputHandler=vw;w7.prototype._createKeyboardHandler=uw;w7.prototype._loadSettings=hw;w7.prototype._serializeSettings=Iw;w7.prototype._saveSettings=fw;var Sv=.5,KE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=`
- ${qy("100%")} + ${Oy("100%")}
@@ -271,24 +271,24 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),A.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=A}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(A=>{let c=A.copyright.replaceAll(` -`,""),d=(i0,a1,_1=!0)=>{let f1=document.getElementById(i0);if(a1.length>0)if(f1.parentElement.classList.remove("hidden"),f1.innerHTML="",a1.length>30&&_1){f1.classList.add("marquee");let C2=document.createElement("span");C2.textContent=a1,f1.appendChild(C2)}else f1.textContent=a1;else f1.parentElement.classList.add("hidden")};d("player_info_detail",c),d("player_info_time",w$(this.seq.duration).time),d("player_info_file_name",A.fileName,!1);let p=(i0,a1,_1,f1="")=>this.seq.midiData.RMIDInfo?.[i0]===void 0?a1:f1+_1.decode(this.seq.midiData.RMIDInfo?.[i0]).replace(/\0$/,""),O=p("IENC","ascii",new TextDecoder),H=new TextDecoder(O);d("player_info_album",p("IPRD","",H)),d("player_info_artist",p("IART","",H)),d("player_info_genre",p("IGNR","",H)),d("player_info_creation",p("ICRD","",H)+p("ICRT","",H,` -`)),d("player_info_comment",p("ICMT","",H));let P=this.mainDiv.getElementsByTagName("svg")[0],U=this.mainDiv.getElementsByTagName("img")[0],W0=document.getElementById("player_info_background_image");if(!A.isEmbedded){P.style.display="",U.style.display="none",W0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){P.style.display="",U.style.display="none",W0.style.setProperty("--bg-image","undefined");return}P.style.display="none",U.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),e0=URL.createObjectURL(_);U.src=e0,W0.style.setProperty("--bg-image",`url('${e0}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let d=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${d}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},kv*1e3)}else{let d=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${d}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},kv*1e3)}}};var WE=class{onLocaleChanged=[];constructor(i){this.locale=x$[i]||x$[iB],this.fallbackLocale=x$[iB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,d)=>typeof A[d]<"u"?A[d]:c)}bindObjectProperty(i,A,c,d=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:d,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),d=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(d)}),this.locale=c,this._boundObjectProperties.forEach(d=>{this._applyPropertyInternal(d)}),this.onLocaleChanged.forEach(d=>d())}};function rB(n,i=!0,A=0,c={},d=void 0){let p=n.getChannelData(A),O=n.getChannelData(A+1),H=p.length,P=2,U=new j5(0),W0=Object.keys(c).length>0;if(W0){let A0=new TextEncoder,C5=[N7("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),U=k6("LIST",St(C5))}let _=new j5(0),e0=d?.end!==void 0&&d?.start!==void 0;if(e0){let A0=Math.floor(d.start*n.sampleRate),C5=Math.floor(d.end*n.sampleRate),p3=new j5(24);fi(p3,0,4),fi(p3,0,4),P8(p3,"data"),fi(p3,0,4),fi(p3,0,4),fi(p3,A0,4);let w3=new j5(24);fi(w3,1,4),fi(w3,0,4),P8(w3,"data"),fi(w3,0,4),fi(w3,0,4),fi(w3,C5,4);let m6=St([new j5([2,0,0,0]),p3,w3]);_=k6("cue ",m6)}let i0=44,a1=H*2*P,_1=i0+a1+U.length+_.length-8,f1=new Uint8Array(i0);f1.set([82,73,70,70],0),f1.set(new Uint8Array([_1&255,_1>>8&255,_1>>16&255,_1>>24&255]),4),f1.set([87,65,86,69],8),f1.set([102,109,116,32],12),f1.set([16,0,0,0],16),f1.set([1,0],20),f1.set([2,0],22);let C2=n.sampleRate;f1.set(new Uint8Array([C2&255,C2>>8&255,C2>>16&255,C2>>24&255]),24);let u2=C2*2*P;f1.set(new Uint8Array([u2&255,u2>>8&255,u2>>16&255,u2>>24&255]),28),f1.set([4,0],32),f1.set([16,0],34),f1.set([100,97,116,97],36),f1.set(new Uint8Array([a1&255,a1>>8&255,a1>>16&255,a1>>24&255]),40);let I2=new Uint8Array(_1+8),K2=i0;I2.set(f1,0);let J2=32767;if(i){let A0=p.map((C5,p3)=>Math.max(Math.abs(C5),Math.abs(O[p3]))).reduce((C5,p3)=>Math.max(C5,p3));J2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,I2[K2++]=p3&255,I2[K2++]=p3>>8&255}return W0&&(I2.set(U,K2),K2+=U.length),e0&&I2.set(_,K2),new Blob([I2.buffer],{type:"audio/wav"})}var Sv=1e3;async function bv(n=!0,i=2,A=!1,c={},d=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let p=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),O=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),H=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),P=qe(p,[{type:"text",textContent:H},{type:"progress"}],9999999,!1),U=await this.seq.getMIDI(),W0=xp(U.loop.start,U),_=xp(U.loop.end,U),e0=_-W0,i0=U.duration+i+e0*d,a1=this.context.sampleRate,_1=a1*i0,f1=new OfflineAudioContext({numberOfChannels:A?32:2,sampleRate:a1,length:_1});await f1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let C2=await this.synth.getSynthesizerSnapshot(),u2=this.soundFont,I2;try{I2=new fu(f1.destination,u2,!1,{parsedMIDI:U,snapshot:C2,oneOutput:A,loopCount:d},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(x6){throw qe(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),x6}let K2=P.div.getElementsByTagName("p")[0],J2=P.div.getElementsByClassName("notification_progress")[0],A0=Sv/1e3,C5=I2.currentTime,p3=i0,w3=.1,m6=setInterval(()=>{let x6=I2.currentTime-C5;C5=I2.currentTime;let u9=I2.currentTime/i0;J2.style.width=`${u9*100}%`;let P3=x6/A0,w6=(1-u9)/P3*i0;w6!==1/0&&(p3=w3*w6+(1-w3)*p3,K2.innerText=`${O} ${w$(p3).time}`)},Sv),v3=await f1.startRendering();if(J2.style.width="100%",clearInterval(m6),K2.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(x6=>setTimeout(x6,75)),A){let x6="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",u9=[],P3=new Set;for(let Me of U.usedChannelsOnTrack)Me.forEach(Wr=>P3.add(Wr));for(let Me=0;Me<16;Me++){let Wr=!0;for(let er=Me;er{let Ho=Ka.textContent;Ka.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(aC=>setTimeout(aC,75));let Op=rB(v3,!1,Me*2),F$=`${Me+1} - ${C2.channelSnapshots[Me].patchName}.wav`;this.saveBlob(Op,F$),Ka.classList.add("green_button"),Ka.textContent=Ho}})}let w6=qe(this.localeManager.getLocaleString(x6+"title"),u9,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});w6.div.style.width="30rem"}else{let x6=xp(U.firstNoteOn,U),u9=W0-x6,P3=_-x6,w6;d===0&&(w6={start:u9,end:P3});let Me=rB(v3,n,0,c,w6);this.saveBlob(Me,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}le(P.id),this.isExporting=!1}async function Dv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(U,W0,_)=>this.seq.midiData.RMIDInfo?.[U]===void 0?W0:_.decode(this.seq.midiData.RMIDInfo?.[U]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),d=new TextDecoder(c),p=A("IPRD","",d),O=A("IART","",d),H=A("IGNR","",d),P=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:O,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:H,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:U=>{le(U.id);let W0=U.div.querySelector("input[normalize-volume-toggle]").checked,_=U.div.querySelector("input[additional-time]").value,e0=U.div.querySelector("input[loop-count]").value,i0=U.div.querySelector("input[separate-channels-toggle]").checked,a1=U.div.querySelector("input[name='artist']").value,_1=U.div.querySelector("input[name='album']").value,f1=U.div.querySelector("input[name='song_title']").value,C2=U.div.querySelector("input[name='genre']").value,u2={artist:a1.length>0?a1:void 0,album:_1.length>0?_1:void 0,title:f1.length>0?f1:void 0,genre:C2.length>0?C2:void 0};this._doExportAudioData(W0,parseInt(_),i0,u2,parseInt(e0))}}];qe(this.localeManager.getLocaleString(n+"title"),P,9999999,!0,this.localeManager)}async function _v(){let n=await this.seq.getMIDI();Ua(n,await this.synth.getSynthesizerSnapshot());let i=NE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function xv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,e0)=>e0>_?e0:_),c=[];for(let _=0;_{O[a1]>=i0.length||i0[O[a1]].ticks0;){let _=P(),e0=n.tracks[_];if(O[_]>=e0.length){H--;continue}let i0=e0[O[_]];if(O[_]++,i0.messageStatusByte===Z3.midiPort){U[_]=i0.messageData[0];continue}let a1=i0.messageStatusByte&240;if(a1!==Z3.noteOn&&a1!==Z3.controllerChange&&a1!==Z3.programChange&&a1!==Z3.systemExclusive)continue;let _1=(i0.messageStatusByte&15)+n.midiPortChannelOffsets[U[_]]||0,f1=c[_1];switch(a1){case Z3.programChange:f1.program=i0.messageData[0],d(f1);break;case Z3.controllerChange:if(i0.messageData[0]!==$3.bankSelect||W0==="gs"&&f1.drums)continue;let C2=i0.messageData[1],u2=Math.max(0,C2-n.bankOffset);if(W0==="xg"){let J2=C2===120||C2===126||C2===127;J2!==f1.drums?(f1.drums=J2,f1.bank=f1.drums?128:u2,d(f1)):f1.bank=f1.drums?128:u2;continue}c[_1].bank=u2;break;case Z3.noteOn:if(i0.messageData[1]===0)continue;d(f1),p[f1.string].add(`${i0.messageData[0]}-${i0.messageData[1]}`);break;case Z3.systemExclusive:if(i0.messageData[0]!==65||i0.messageData[2]!==66||i0.messageData[3]!==18||i0.messageData[4]!==64||!(i0.messageData[5]&16)||i0.messageData[6]!==21){i0.messageData[0]===67&&i0.messageData[2]===76&&i0.messageData[5]===126&&i0.messageData[6]===0&&(W0="xg");continue}let I2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][i0.messageData[5]&15]+n.midiPortChannelOffsets[U[_]],K2=!!(i0.messageData[7]>0&&i0.messageData[5]>>4);f1=c[I2],f1.drums=K2,f1.bank=K2?128:0,d(f1);break}}for(let _ of Object.keys(p))p[_].size===0&&(_5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return g9(),p}function Cu(n,i){function A(d,p){let O=0;for(let H=0;H=U.min&&e0.key<=U.max&&e0.velocity>=W0.min&&e0.velocity<=W0.max){_=!0;break}_||(_5(`%c${P.sample.sampleName} %cremoved from %c${d.instrumentName}%c. Use count: %c${P.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),d.safeDeleteZone(H)&&(O++,H--,_5(`%c${P.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),P.sample.useCount<1&&n.deleteSample(P.sample))}return O}M7("%cTrimming soundfont...",C1.info);let c=xv(i,n);y8("%cModifying soundfont...",C1.info),_5("Detected keys for midi:",c);for(let d=0;d{let _=W0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),_5(`Keys for ${p.presetName}:`,P);let U=0;for(let W0=0;W0=e0.min&&_1.key<=e0.max&&_1.velocity>=i0.min&&_1.velocity<=i0.max){a1=!0;let f1=A(_.instrument,P);_5(`%cTrimmed off %c${f1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}a1||(U++,p.deleteZone(W0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),W0--)}_5(`%cTrimmed off %c${U}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),g9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`,""),d=(t0,n1,S1=!0)=>{let c1=document.getElementById(t0);if(n1.length>0)if(c1.parentElement.classList.remove("hidden"),c1.innerHTML="",n1.length>30&&S1){c1.classList.add("marquee");let I2=document.createElement("span");I2.textContent=n1,c1.appendChild(I2)}else c1.textContent=n1;else c1.parentElement.classList.add("hidden")};d("player_info_detail",c),d("player_info_time",w$(this.seq.duration).time),d("player_info_file_name",A.fileName,!1);let p=(t0,n1,S1,c1="")=>this.seq.midiData.RMIDInfo?.[t0]===void 0?n1:c1+S1.decode(this.seq.midiData.RMIDInfo?.[t0]).replace(/\0$/,""),U=p("IENC","ascii",new TextDecoder),j=new TextDecoder(U);d("player_info_album",p("IPRD","",j)),d("player_info_artist",p("IART","",j)),d("player_info_genre",p("IGNR","",j)),d("player_info_creation",p("ICRD","",j)+p("ICRT","",j,` +`)),d("player_info_comment",p("ICMT","",j));let O=this.mainDiv.getElementsByTagName("svg")[0],P=this.mainDiv.getElementsByTagName("img")[0],W0=document.getElementById("player_info_background_image");if(!A.isEmbedded){O.style.display="",P.style.display="none",W0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){O.style.display="",P.style.display="none",W0.style.setProperty("--bg-image","undefined");return}O.style.display="none",P.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),q=URL.createObjectURL(_);P.src=q,W0.style.setProperty("--bg-image",`url('${q}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let d=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${d}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Sv*1e3)}else{let d=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${d}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Sv*1e3)}}};var WE=class{onLocaleChanged=[];constructor(i){this.locale=x$[i]||x$[tB],this.fallbackLocale=x$[tB],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,d)=>typeof A[d]<"u"?A[d]:c)}bindObjectProperty(i,A,c,d=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:d,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),d=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(d)}),this.locale=c,this._boundObjectProperties.forEach(d=>{this._applyPropertyInternal(d)}),this.onLocaleChanged.forEach(d=>d())}};function iB(n,i=!0,A=0,c={},d=void 0){let p=n.getChannelData(A),U=n.getChannelData(A+1),j=p.length,O=2,P=new j5(0),W0=Object.keys(c).length>0;if(W0){let A0=new TextEncoder,C5=[N7("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),P=k6("LIST",St(C5))}let _=new j5(0),q=d?.end!==void 0&&d?.start!==void 0;if(q){let A0=Math.floor(d.start*n.sampleRate),C5=Math.floor(d.end*n.sampleRate),p3=new j5(24);fi(p3,0,4),fi(p3,0,4),P8(p3,"data"),fi(p3,0,4),fi(p3,0,4),fi(p3,A0,4);let w3=new j5(24);fi(w3,1,4),fi(w3,0,4),P8(w3,"data"),fi(w3,0,4),fi(w3,0,4),fi(w3,C5,4);let m6=St([new j5([2,0,0,0]),p3,w3]);_=k6("cue ",m6)}let t0=44,n1=j*2*O,S1=t0+n1+P.length+_.length-8,c1=new Uint8Array(t0);c1.set([82,73,70,70],0),c1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),4),c1.set([87,65,86,69],8),c1.set([102,109,116,32],12),c1.set([16,0,0,0],16),c1.set([1,0],20),c1.set([2,0],22);let I2=n.sampleRate;c1.set(new Uint8Array([I2&255,I2>>8&255,I2>>16&255,I2>>24&255]),24);let $2=I2*2*O;c1.set(new Uint8Array([$2&255,$2>>8&255,$2>>16&255,$2>>24&255]),28),c1.set([4,0],32),c1.set([16,0],34),c1.set([100,97,116,97],36),c1.set(new Uint8Array([n1&255,n1>>8&255,n1>>16&255,n1>>24&255]),40);let f2=new Uint8Array(S1+8),K2=t0;f2.set(c1,0);let J2=32767;if(i){let A0=p.map((C5,p3)=>Math.max(Math.abs(C5),Math.abs(U[p3]))).reduce((C5,p3)=>Math.max(C5,p3));J2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,f2[K2++]=p3&255,f2[K2++]=p3>>8&255}return W0&&(f2.set(P,K2),K2+=P.length),q&&f2.set(_,K2),new Blob([f2.buffer],{type:"audio/wav"})}var bv=1e3;async function Dv(n=!0,i=2,A=!1,c={},d=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let p=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),U=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),j=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),O=qe(p,[{type:"text",textContent:j},{type:"progress"}],9999999,!1),P=await this.seq.getMIDI(),W0=xp(P.loop.start,P),_=xp(P.loop.end,P),q=_-W0,t0=P.duration+i+q*d,n1=this.context.sampleRate,S1=n1*t0,c1=new OfflineAudioContext({numberOfChannels:A?32:2,sampleRate:n1,length:S1});await c1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let I2=await this.synth.getSynthesizerSnapshot(),$2=this.soundFont,f2;try{f2=new fu(c1.destination,$2,!1,{parsedMIDI:P,snapshot:I2,oneOutput:A,loopCount:d},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(x6){throw qe(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),x6}let K2=O.div.getElementsByTagName("p")[0],J2=O.div.getElementsByClassName("notification_progress")[0],A0=bv/1e3,C5=f2.currentTime,p3=t0,w3=.1,m6=setInterval(()=>{let x6=f2.currentTime-C5;C5=f2.currentTime;let u9=f2.currentTime/t0;J2.style.width=`${u9*100}%`;let P3=x6/A0,w6=(1-u9)/P3*t0;w6!==1/0&&(p3=w3*w6+(1-w3)*p3,K2.innerText=`${U} ${w$(p3).time}`)},bv),v3=await c1.startRendering();if(J2.style.width="100%",clearInterval(m6),K2.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(x6=>setTimeout(x6,75)),A){let x6="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",u9=[],P3=new Set;for(let Me of P.usedChannelsOnTrack)Me.forEach(Wr=>P3.add(Wr));for(let Me=0;Me<16;Me++){let Wr=!0;for(let er=Me;er{let Ho=Ka.textContent;Ka.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(aC=>setTimeout(aC,75));let Op=iB(v3,!1,Me*2),F$=`${Me+1} - ${I2.channelSnapshots[Me].patchName}.wav`;this.saveBlob(Op,F$),Ka.classList.add("green_button"),Ka.textContent=Ho}})}let w6=qe(this.localeManager.getLocaleString(x6+"title"),u9,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});w6.div.style.width="30rem"}else{let x6=xp(P.firstNoteOn,P),u9=W0-x6,P3=_-x6,w6;d===0&&(w6={start:u9,end:P3});let Me=iB(v3,n,0,c,w6);this.saveBlob(Me,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}le(O.id),this.isExporting=!1}async function _v(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(P,W0,_)=>this.seq.midiData.RMIDInfo?.[P]===void 0?W0:_.decode(this.seq.midiData.RMIDInfo?.[P]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),d=new TextDecoder(c),p=A("IPRD","",d),U=A("IART","",d),j=A("IGNR","",d),O=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:U,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:j,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:P=>{le(P.id);let W0=P.div.querySelector("input[normalize-volume-toggle]").checked,_=P.div.querySelector("input[additional-time]").value,q=P.div.querySelector("input[loop-count]").value,t0=P.div.querySelector("input[separate-channels-toggle]").checked,n1=P.div.querySelector("input[name='artist']").value,S1=P.div.querySelector("input[name='album']").value,c1=P.div.querySelector("input[name='song_title']").value,I2=P.div.querySelector("input[name='genre']").value,$2={artist:n1.length>0?n1:void 0,album:S1.length>0?S1:void 0,title:c1.length>0?c1:void 0,genre:I2.length>0?I2:void 0};this._doExportAudioData(W0,parseInt(_),t0,$2,parseInt(q))}}];qe(this.localeManager.getLocaleString(n+"title"),O,9999999,!0,this.localeManager)}async function xv(){let n=await this.seq.getMIDI();Ua(n,await this.synth.getSynthesizerSnapshot());let i=NE(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Lv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,q)=>q>_?q:_),c=[];for(let _=0;_{U[n1]>=t0.length||t0[U[n1]].ticks0;){let _=O(),q=n.tracks[_];if(U[_]>=q.length){j--;continue}let t0=q[U[_]];if(U[_]++,t0.messageStatusByte===Z3.midiPort){P[_]=t0.messageData[0];continue}let n1=t0.messageStatusByte&240;if(n1!==Z3.noteOn&&n1!==Z3.controllerChange&&n1!==Z3.programChange&&n1!==Z3.systemExclusive)continue;let S1=(t0.messageStatusByte&15)+n.midiPortChannelOffsets[P[_]]||0,c1=c[S1];switch(n1){case Z3.programChange:c1.program=t0.messageData[0],d(c1);break;case Z3.controllerChange:if(t0.messageData[0]!==$3.bankSelect||W0==="gs"&&c1.drums)continue;let I2=t0.messageData[1],$2=Math.max(0,I2-n.bankOffset);if(W0==="xg"){let J2=I2===120||I2===126||I2===127;J2!==c1.drums?(c1.drums=J2,c1.bank=c1.drums?128:$2,d(c1)):c1.bank=c1.drums?128:$2;continue}c[S1].bank=$2;break;case Z3.noteOn:if(t0.messageData[1]===0)continue;d(c1),p[c1.string].add(`${t0.messageData[0]}-${t0.messageData[1]}`);break;case Z3.systemExclusive:if(t0.messageData[0]!==65||t0.messageData[2]!==66||t0.messageData[3]!==18||t0.messageData[4]!==64||!(t0.messageData[5]&16)||t0.messageData[6]!==21){t0.messageData[0]===67&&t0.messageData[2]===76&&t0.messageData[5]===126&&t0.messageData[6]===0&&(W0="xg");continue}let f2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t0.messageData[5]&15]+n.midiPortChannelOffsets[P[_]],K2=!!(t0.messageData[7]>0&&t0.messageData[5]>>4);c1=c[f2],c1.drums=K2,c1.bank=K2?128:0,d(c1);break}}for(let _ of Object.keys(p))p[_].size===0&&(_5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return g9(),p}function Cu(n,i){function A(d,p){let U=0;for(let j=0;j=P.min&&q.key<=P.max&&q.velocity>=W0.min&&q.velocity<=W0.max){_=!0;break}_||(_5(`%c${O.sample.sampleName} %cremoved from %c${d.instrumentName}%c. Use count: %c${O.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),d.safeDeleteZone(j)&&(U++,j--,_5(`%c${O.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),O.sample.useCount<1&&n.deleteSample(O.sample))}return U}M7("%cTrimming soundfont...",C1.info);let c=Lv(i,n);y8("%cModifying soundfont...",C1.info),_5("Detected keys for midi:",c);for(let d=0;d{let _=W0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),_5(`Keys for ${p.presetName}:`,O);let P=0;for(let W0=0;W0=q.min&&S1.key<=q.max&&S1.velocity>=t0.min&&S1.velocity<=t0.max){n1=!0;let c1=A(_.instrument,O);_5(`%cTrimmed off %c${c1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}n1||(P++,p.deleteZone(W0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),W0--)}_5(`%cTrimmed off %c${P}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),g9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,_5("%cSoundfont modified!",C1.recognized),g9(),g9()}function Lv(){let n=4;for(let c of this.instruments)n+=c.instrumentZones.reduce((d,p)=>(p.generators=p.generators.filter(O=>O.generatorType!==m0.sampleID&&O.generatorType!==m0.keyRange&&O.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+d),0);let i=new j5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return p9(i,0),it(new w4("igen",i.length,i))}function Mv(n,i,A,c,d){let p=this.samples.map((U,W0)=>{A&&U.compressSample(c,d);let _=U.getRawData();return _5(`%cEncoded sample %c${W0}. ${U.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),O=this.samples.reduce((U,W0,_)=>U+p[_].length+46,0),H=new j5(O);this.samples.forEach((U,W0)=>{let _=p[W0],e0,i0,a1=_.length;U.isCompressed?(e0=H.currentIndex,i0=e0+_.length):(e0=H.currentIndex/2,i0=e0+_.length/2,a1+=46),n.push(e0),H.set(_,H.currentIndex),H.currentIndex+=a1,i.push(i0)});let P=it(new w4("smpl",H.length,H),new j5([115,100,116,97]));return it(new w4("LIST",P.length,P))}function Rv(n,i){let c=new j5(46*(this.samples.length+1));return this.samples.forEach((d,p)=>{P8(c,d.sampleName,20);let O=n[p];p9(c,O);let H=i[p];p9(c,H);let P=d.sampleLoopStartIndex+O,U=d.sampleLoopEndIndex+O;d.isCompressed&&(P-=O,U-=O),p9(c,P),p9(c,U),p9(c,d.sampleRate),c[c.currentIndex++]=d.samplePitch,c[c.currentIndex++]=d.samplePitchCorrection,j3(c,d.sampleLink),j3(c,d.sampleType)}),P8(c,"EOS",46),it(new w4("shdr",c.length,c))}function Fv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new j5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new w4("imod",i.length,i))}function Tv(){let n=this.instruments.reduce((p,O)=>O.instrumentZones.length*4+p,4),i=new j5(n),A=0,c=0,d=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let O of p.instrumentZones)O.zoneID=A,j3(i,c),j3(i,d),c+=O.generators.length,d+=O.modulators.length,A++}return j3(i,c),j3(i,d),it(new w4("ibag",i.length,i))}function Nv(){let n=this.instruments.length*22+22,i=new j5(n),A=0,c=0;for(let d of this.instruments)P8(i,d.instrumentName,20),j3(i,A),A+=d.instrumentZones.length,d.instrumentID=c,c++;return P8(i,"EOI",20),j3(i,A),it(new w4("inst",i.length,i))}function Gv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>(p.generators=p.generators.filter(O=>O.generatorType!==m0.instrument&&O.generatorType!==m0.keyRange&&O.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+d),0);let i=new j5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=d.generators.length}return j3(i,0),j3(i,0),it(new w4("pgen",i.length,i))}function Uv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new j5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new w4("pmod",i.length,i))}function Pv(){let n=this.presets.reduce((p,O)=>O.presetZones.length*4+p,4),i=new j5(n),A=0,c=0,d=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let O of p.presetZones)O.zoneID=A,j3(i,c),j3(i,d),c+=O.generators.length,d+=O.modulators.length,A++}return j3(i,c),j3(i,d),it(new w4("pbag",i.length,i))}function Ov(){let n=this.presets.length*38+38,i=new j5(n),A=0;for(let c of this.presets)P8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),p9(i,c.library),p9(i,c.genre),p9(i,c.morphology),A+=c.presetZones.length;return P8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),p9(i,0),p9(i,0),p9(i,0),it(new w4("phdr",i.length,i))}var WD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function qv(n=WD){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),_5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),_5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[K2,J2]of Object.entries(this.soundFontInfo))if(K2==="ifil"||K2==="iver"){let A0=parseInt(J2.split(".")[0]),C5=parseInt(J2.split(".")[1]),p3=new j5(4);j3(p3,A0),j3(p3,C5),i.push(it(new w4(K2,4,p3)))}else if(K2==="DMOD")i.push(it(new w4(K2,J2.length,J2)));else{let A0=new j5(J2.length);P8(A0,J2),i.push(it(new w4(K2,J2.length,A0)))}let A=St([new j5([73,78,70,79]),...i]),c=it(new w4("LIST",A.length,A));_5("%cWriting SDTA...",C1.info);let d=[],p=[],O=Mv.call(this,d,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);_5("%cWriting PDTA...",C1.info),_5("%cWriting SHDR...",C1.info);let H=Rv.call(this,d,p);_5("%cWriting IGEN...",C1.info);let P=Lv.call(this);_5("%cWriting IMOD...",C1.info);let U=Fv.call(this);_5("%cWriting IBAG...",C1.info);let W0=Tv.call(this);_5("%cWriting INST...",C1.info);let _=Nv.call(this),e0=Gv.call(this);_5("%cWriting PMOD...",C1.info);let i0=Uv.call(this);_5("%cWriting PBAG...",C1.info);let a1=Pv.call(this);_5("%cWriting PHDR...",C1.info);let _1=Ov.call(this),f1=St([new j5([112,100,116,97]),_1,a1,i0,e0,_,W0,U,P,H]),C2=it(new w4("LIST",f1.length,f1));_5("%cWriting the output file...",C1.info);let u2=St([new j5([115,102,98,107]),c,O,C2]),I2=it(new w4("RIFF",u2.length,u2));return _5(`%cSaved succesfully! Final file size: %c${I2.length}`,C1.info,C1.recognized),g9(),I2}var Gp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var zr=class extends Gp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Bu=class extends Gp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ZD=new Set([m0.velRange,m0.keyRange,m0.instrument,m0.exclusiveClass,m0.endOper,m0.sampleModes,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.initialAttenuation,m0.fineTune,m0.coarseTune,m0.keyNumToVolEnvHold,m0.keyNumToVolEnvDecay,m0.keyNumToModEnvHold,m0.keyNumToModEnvDecay]);function Hv(n,i=!0){function A(_,e0){_.push(...e0.filter(i0=>!_.find(a1=>a1.generatorType===i0.generatorType)))}function c(_,e0){return{min:Math.max(_.min,e0.min),max:Math.min(_.max,e0.max)}}function d(_,e0){_.push(...e0.filter(i0=>!_.find(a1=>$e.isIdentical(i0,a1))))}let p=[],O=[],H=[],P={min:0,max:127},U={min:0,max:127},W0=n.presetZones.find(_=>_.isGlobal);W0&&(O.push(...W0.generators),H.push(...W0.modulators),P=W0.keyRange,U=W0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let e0=_.keyRange;_.hasKeyRange||(e0=P);let i0=_.velRange;_.hasVelRange||(i0=U);let a1=_.generators.map(A0=>new u6(A0.generatorType,A0.generatorValue));A(a1,O);let _1=[..._.modulators];d(_1,H);let f1=_.instrument.instrumentZones,C2=[],u2=[],I2={min:0,max:127},K2={min:0,max:127},J2=f1.find(A0=>A0.isGlobal);J2&&(C2.push(...J2.generators),u2.push(...J2.modulators),I2=J2.keyRange,K2=J2.velRange);for(let A0 of f1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=I2);let p3=A0.velRange;if(A0.hasVelRange||(p3=K2),C5=c(C5,e0),p3=c(p3,i0),C5.maxnew u6(P3.generatorType,P3.generatorValue));A(w3,C2);let m6=[...A0.modulators];d(m6,u2);let v3=[...m6];for(let P3 of _1){let w6=v3.findIndex(Me=>$e.isIdentical(P3,Me));w6!==-1?v3[w6]=v3[w6].sumTransform(P3):v3.push(P3)}let x6=w3.map(P3=>new u6(P3.generatorType,P3.generatorValue));for(let P3 of a1){if(P3.generatorType===m0.velRange||P3.generatorType===m0.keyRange||P3.generatorType===m0.instrument||P3.generatorType===m0.endOper||P3.generatorType===m0.sampleModes)continue;let w6=w3.findIndex(Me=>Me.generatorType===P3.generatorType);if(w6!==-1){let Me=x6[w6].generatorValue+P3.generatorValue;x6[w6]=new u6(P3.generatorType,Me)}else{let Me=Z6[P3.generatorType].def+P3.generatorValue;x6.push(new u6(P3.generatorType,Me))}}x6=x6.filter(P3=>P3.generatorType!==m0.sampleID&&P3.generatorType!==m0.keyRange&&P3.generatorType!==m0.velRange&&P3.generatorType!==m0.endOper&&P3.generatorType!==m0.instrument&&P3.generatorValue!==Z6[P3.generatorType].def);let u9=new zr;u9.keyRange=C5,u9.velRange=p3,u9.keyRange.min===0&&u9.keyRange.max===127&&(u9.keyRange.min=-1),u9.velRange.min===0&&u9.velRange.max===127&&(u9.velRange.min=-1),u9.isGlobal=!1,u9.sample=A0.sample,u9.generators=x6,u9.modulators=v3,p.push(u9)}}if(i){let _=new zr;_.isGlobal=!0;for(let a1=0;a1<58;a1++){if(ZD.has(a1))continue;let _1={},f1=Z6[a1]?.def||0;_1[f1]=0;for(let C2 of p){let u2=C2.generators.find(J2=>J2.generatorType===a1);if(u2){let J2=u2.generatorValue;_1[J2]===void 0?_1[J2]=1:_1[J2]++}else _1[f1]++;let I2;switch(a1){default:continue;case m0.decayVolEnv:I2=m0.keyNumToVolEnvDecay;break;case m0.holdVolEnv:I2=m0.keyNumToVolEnvHold;break;case m0.decayModEnv:I2=m0.keyNumToModEnvDecay;break;case m0.holdModEnv:I2=m0.keyNumToModEnvHold}if(C2.generators.find(J2=>J2.generatorType===I2)!==void 0){_1={};break}}if(Object.keys(_1).length>0){let C2=Object.entries(_1).reduce((I2,K2)=>I2[1]{let K2=I2.generators.findIndex(J2=>J2.generatorType===a1);K2!==-1?I2.generators[K2].generatorValue===u2&&I2.generators.splice(K2,1):u2!==f1&&I2.generators.push(new u6(a1,f1))})}}let i0=p.find(a1=>!a1.isGlobal).modulators.map(a1=>$e.copy(a1));for(let a1 of i0){let _1=!0;for(let f1 of p){if(f1.isGlobal||!_1)continue;f1.modulators.find(u2=>$e.isIdentical(u2,a1))||(_1=!1)}if(_1===!0){_.modulators.push($e.copy(a1));for(let f1 of p){let C2=f1.modulators.find(u2=>$e.isIdentical(u2,a1));C2.transformAmount===a1.transformAmount&&f1.modulators.splice(f1.modulators.indexOf(C2),1)}}}p.splice(0,0,_)}return p}var Yv=20;function ZE(n,i,A,c,d,p,O){let H=O===0?0:1,P=new j5(Yv+H*16);p9(P,Yv),j3(P,i),j3(P,A);let U=c*.4,W0=Math.floor(U*-65536);p9(P,W0),p9(P,0);let _=p-d,e0=0;switch(O){default:case 0:H=0;break;case 1:e0=0,H=1;break;case 3:e0=1,H=1}return p9(P,H),H===1&&(p9(P,16),p9(P,e0),p9(P,d),p9(P,_)),k6("wsmp",P)}var I6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258};var F5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Up=class{source;control;destination;scale;transform;constructor(i,A,c,d,p){this.source=i,this.control=A,this.destination=c,this.scale=d,this.transform=p}writeArticulator(){let i=new j5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),p9(i,this.scale<<16),i}};function Vv(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return I6.modulationWheel;case $3.mainVolume:return I6.volume;case $3.pan:return I6.pan;case $3.expressionController:return I6.expression;case $3.chorusDepth:return I6.chorus;case $3.reverbDepth:return I6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return I6.keyNum;case q4.noteOnVelocity:return I6.velocity;case q4.noController:return I6.none;case q4.polyPressure:return I6.polyPressure;case q4.channelPressure:return I6.channelPressure;case q4.pitchWheel:return I6.pitchWheel;case q4.pitchWheelRange:return I6.pitchWheelRange}}function Jv(n,i){switch(n){default:return;case m0.initialAttenuation:return{dest:F5.gain,amount:-i};case m0.fineTune:return F5.pitch;case m0.pan:return F5.pan;case m0.keyNum:return F5.keyNum;case m0.reverbEffectsSend:return F5.reverbSend;case m0.chorusEffectsSend:return F5.chorusSend;case m0.freqModLFO:return F5.modLfoFreq;case m0.delayModLFO:return F5.modLfoDelay;case m0.delayVibLFO:return F5.vibLfoDelay;case m0.freqVibLFO:return F5.vibLfoFreq;case m0.delayVolEnv:return F5.volEnvDelay;case m0.attackVolEnv:return F5.volEnvAttack;case m0.holdVolEnv:return F5.volEnvHold;case m0.decayVolEnv:return F5.volEnvDecay;case m0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case m0.releaseVolEnv:return F5.volEnvRelease;case m0.delayModEnv:return F5.modEnvDelay;case m0.attackModEnv:return F5.modEnvAttack;case m0.holdModEnv:return F5.modEnvHold;case m0.decayModEnv:return F5.modEnvDecay;case m0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case m0.releaseModEnv:return F5.modEnvRelease;case m0.initialFilterFc:return F5.filterCutoff;case m0.initialFilterQ:return F5.filterQ}}function zv(n,i){switch(n){default:return;case m0.modEnvToFilterFc:return{source:I6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case m0.modEnvToPitch:return{source:I6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case m0.modLfoToFilterFc:return{source:I6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case m0.modLfoToVolume:return{source:I6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case m0.modLfoToPitch:return{source:I6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case m0.vibLfoToPitch:return{source:I6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case m0.keyNumToVolEnvHold:return{source:I6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case m0.keyNumToVolEnvDecay:return{source:I6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case m0.keyNumToModEnvHold:return{source:I6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case m0.keyNumToModEnvDecay:return{source:I6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case m0.scaleTuning:return{source:I6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function Kv(n){let i=Jv(n.generatorType,n.generatorValue),A=i,c=0,d=n.generatorValue;i?.amount!==void 0&&(d=i.amount,A=i.dest);let p=zv(n.generatorType,n.generatorValue);if(p!==void 0)d=p.amt,A=p.dest,c=p.source;else if(A===void 0){I9(`Invalid generator type: ${n.generatorType}`);return}return new Up(c,0,A,d,0)}function Wv(n){if(n.transformType!==0){I9("Other transform types are not supported.");return}let i=Vv(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,d=n.sourceDirection;if(i===void 0){I9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}let p=Vv(n.secSrcUsesCC,n.secSrcIndex),O=n.secSrcCurveType,H=n.secSrcPolarity,P=n.secSrcDirection;if(p===void 0){I9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let U=Jv(n.modulatorDestination,n.transformAmount),W0=U,_=n.transformAmount;U?.dest!==void 0&&(W0=U.dest,_=U.amount);let e0=zv(n.modulatorDestination,n.transformAmount);if(e0!==void 0)_=e0.amt,p=i,O=A,H=c,P=d,A=X7.linear,c=e0.isBipolar?1:0,d=0,i=e0.source,W0=e0.dest;else if(W0===void 0){I9(`Invalid destination: ${n.modulatorDestination}`);return}let i0=0;return i0|=O<<4,i0|=H<<8,i0|=P<<9,i0|=A<<10,i0|=c<<14,i0|=d<<15,new Up(i,p,W0,_,i0)}var jD=new Set([m0.sampleModes,m0.initialAttenuation,m0.keyRange,m0.velRange,m0.sampleID,m0.fineTune,m0.coarseTune,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.overridingRootKey,m0.exclusiveClass]);function jE(n){for(let p=0;pa1.generatorType===H);if(P===void 0)continue;let U=O.generatorValue*-128,W0=60/128*U,_=P.generatorValue-W0,e0=n.generators.indexOf(O),i0=n.generators.indexOf(P);n.generators[i0]=new u6(H,_,!1),n.generators[e0]=new u6(O.generatorType,U,!1)}let i=n.generators.reduce((p,O)=>{if(jD.has(O.generatorType))return p;let H=Kv(O);return H!==void 0?(p.push(H),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,O)=>{let H=Wv(O);return H!==void 0?(p.push(H),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new j5(8);p9(c,8),p9(c,i.length);let d=i.map(p=>p.writeArticulator());return k6("art2",St([c,...d]))}function Zv(n,i){let A=new j5(14);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(m0.exclusiveClass,0);j3(A,c),j3(A,0);let d=k6("rgnh",A),p=n.getGeneratorValue(m0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(m0.scaleTuning,i.getGeneratorValue(m0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let H=ZE(n.sample,p,n.getGeneratorValue(m0.fineTune,0)+n.getGeneratorValue(m0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(m0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(m0.startloopAddrsOffset,0)+n.getGeneratorValue(m0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(m0.endloopAddrsOffset,0)+n.getGeneratorValue(m0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(m0.sampleModes,0)),P=new j5(12);j3(P,0),j3(P,0);let U=0;switch(n.sample.sampleType){default:case 1:case 4:U=0;break;case 2:U=1}p9(P,U),p9(P,this.samples.indexOf(n.sample));let W0=k6("wlnk",P),_=jE(n),e0=k6("lar2",_,!1,!0);return k6("rgn2",St([d,H,W0,e0]),!1,!0)}function jv(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=Hv(n),A=i.reduce((e0,i0)=>i0.isGlobal?e0:e0+1,0),c=new j5(12);p9(c,A);let d=(n.bank&127)<<8;n.bank===128&&(d|=1<<31),p9(c,d),p9(c,n.program&127);let p=k6("insh",c),O=new j5(0),H=i.find(e0=>e0.isGlobal===!0);if(H){let e0=jE(H);O=k6("lar2",e0,!1,!0)}let P=St(i.reduce((e0,i0)=>(i0.isGlobal||e0.push(Zv.apply(this,[i0,H])),e0),[])),U=k6("lrgn",P,!1,!0),W0=k6("INAM",N7(n.presetName)),_=k6("INFO",W0,!1,!0);return g9(),k6("ins ",St([p,U,O,_]),!1,!0)}function Xv(){let n=St(this.presets.map(i=>jv.apply(this,[i])));return k6("lins",n,!1,!0)}function ek(n){let i=new j5(18);j3(i,1),j3(i,1),p9(i,n.sampleRate),p9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=ZE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,1),d=n.getAudioData(),p;if(n.isCompressed){let P=new Int16Array(d.length);for(let U=0;U{let d=ek(c);return i.push(n),n+=d.length,d});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function ik(){y8("%cSaving DLS...",C1.info);let n=new j5(4);p9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=Xv.apply(this);_5("%cSuccess!",C1.recognized),g9(),y8("%cWriting WAVE samples...",C1.info);let c=tk.apply(this),d=c.data,p=c.indexes;_5("%cSucceeded!",C1.recognized),g9();let O=new j5(8+4*p.length);p9(O,8),p9(O,p.length);for(let _ of p)p9(O,_);let H=k6("ptbl",O);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let P=[];for(let[_,e0]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||P.push(k6(_,N7(e0)));let U=k6("INFO",St(P),!1,!0),W0=new j5(i.length+A.length+H.length+d.length+U.length+4);return P8(W0,"DLS "),W0.set(St([i,A,H,d,U]),4),_5("%cSaved succesfully!",C1.recognized),g9(),k6("RIFF",W0)}var Ya=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=bE.map(A=>$e.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(O=>O.bank===p.bank&&O.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let d=this.presets.find(p=>p.bank===i&&p.program===A);if(d)return d;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(d=>d.bank===i&&d.program===A);return c||(i===128?(c=this.presets.find(d=>d.bank===128&&d.program===A),c||(c=this.presets.find(d=>d.bank===128))):c=this.presets.find(d=>d.program===A&&d.bank!==128),c&&I9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(I9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(I9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Ya.prototype.write=qv;Ya.prototype.writeDLS=ik;function rk(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function d(i0,a1){return a1>=i0.min&&a1<=i0.max}function p(i0,a1){i0.push(...a1.filter(_1=>!i0.find(f1=>f1.generatorType===_1.generatorType)))}function O(i0,a1){i0.push(...a1.filter(_1=>!i0.find(f1=>$e.isIdentical(_1,f1))))}let H=[],P=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],W0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(i0=>d(i0.hasKeyRange?i0.keyRange:W0,i)&&d(i0.hasVelRange?i0.velRange:_,A)&&!i0.isGlobal).forEach(i0=>{if(i0.instrument.instrumentZones.length<1)return;let a1=i0.generators,_1=i0.modulators,f1=i0.instrument.instrumentZones[0],C2=f1.isGlobal?[...f1.generators]:[],u2=f1.isGlobal?[...f1.modulators]:[],I2=f1.isGlobal?f1.keyRange:{min:0,max:127},K2=f1.isGlobal?f1.velRange:{min:0,max:127};i0.instrument.instrumentZones.filter(A0=>d(A0.hasKeyRange?A0.keyRange:I2,i)&&d(A0.hasVelRange?A0.velRange:K2,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],p3=[...A0.modulators];p(a1,P),p(C5,C2),O(_1,U),O(p3,u2),O(p3,this.defaultModulators);let w3=[...p3];for(let m6=0;m6<_1.length;m6++){let v3=_1[m6],x6=w3.findIndex(u9=>$e.isIdentical(v3,u9));x6!==-1?w3[x6]=w3[x6].sumTransform(v3):w3.push(v3)}H.push({instrumentGenerators:C5,presetGenerators:a1,modulators:w3,sample:A0.sample,sampleID:A0.generators.find(m6=>m6.generatorType===m0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=H,H}};var yu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var XE=class extends Qu{constructor(i,A){super(bE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new yu,this.DLSInstrument.addUseCount();let d=new Bu;d.instrument=this.DLSInstrument,this.presetZones=[d]}};function nk(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(i0=>i0.header==="insh");if(!A)throw g9(),new Error("No instrument header!");let c=s3(A.chunkData,4),d=s3(A.chunkData,4),p=s3(A.chunkData,4),O=new XE(d,p),H="unnamedPreset",P=G7(i,"INFO");if(P){let i0=Qe(P.chunkData);for(;i0.header!=="INAM";)i0=Qe(P.chunkData);H=y4(i0.chunkData,i0.chunkData.length).trim()}O.presetName=H,O.DLSInstrument.instrumentName=H,M7(`%cParsing %c"${H}"%c...`,C1.info,C1.recognized,C1.info);let U=G7(i,"lrgn");if(!U)throw g9(),new Error("No region list!");let W0=new zr;W0.isGlobal=!0;let _=G7(i,"lart"),e0=G7(i,"lar2");(e0!==void 0||_!==void 0)&&this.readLart(_,e0,W0),W0.generators=W0.generators.filter(i0=>i0.generatorValue!==Z6[i0.generatorType].def),W0.modulators.find(i0=>i0.modulatorDestination===m0.reverbEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),W0.modulators.find(i0=>i0.modulatorDestination===m0.chorusEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),O.DLSInstrument.instrumentZones.push(W0);for(let i0=0;i0>10&15;u2===X7.linear&&C2!==X7.linear&&(u2=C2);let I2=c>>14&1,K2=c>>15&1;O===m0.initialAttenuation&&d<0&&(K2=1),e0=Yr(u2,I2,K2,H.isCC,H.enum)}let i0=c>>4&15,a1=c>>8&1,_1=c>>9&1,f1=Yr(i0,a1,_1,_.isCC,_.enum);if(P){let C2=f1;f1=e0,e0=C2}return new $e({srcEnum:e0,secSrcEnum:f1,dest:O,transform:0,amt:W0})}function nB(n,i){let A=n.chunkData,c=[],d=[];s3(A,4);let p=s3(A,4);for(let O=0;O>16;if(H===0&&P===0&&W0===0){let i0;switch(U){case F5.pan:i0=new u6(m0.pan,e0);break;case F5.gain:i0=new u6(m0.initialAttenuation,-e0*10/.4);break;case F5.filterCutoff:i0=new u6(m0.initialFilterFc,e0);break;case F5.filterQ:i0=new u6(m0.initialFilterQ,e0);break;case F5.modLfoFreq:i0=new u6(m0.freqModLFO,e0);break;case F5.modLfoDelay:i0=new u6(m0.delayModLFO,e0);break;case F5.vibLfoFreq:i0=new u6(m0.freqVibLFO,e0);break;case F5.vibLfoDelay:i0=new u6(m0.delayVibLFO,e0);break;case F5.volEnvDelay:i0=new u6(m0.delayVolEnv,e0);break;case F5.volEnvAttack:i0=new u6(m0.attackVolEnv,e0);break;case F5.volEnvHold:i0=new u6(m0.holdVolEnv,e0,!1);break;case F5.volEnvDecay:i0=new u6(m0.decayVolEnv,e0,!1);break;case F5.volEnvRelease:i0=new u6(m0.releaseVolEnv,e0);break;case F5.volEnvSustain:let a1=1e3-e0;i0=new u6(m0.sustainVolEnv,a1);break;case F5.modEnvDelay:i0=new u6(m0.delayModEnv,e0);break;case F5.modEnvAttack:i0=new u6(m0.attackModEnv,e0);break;case F5.modEnvHold:i0=new u6(m0.holdModEnv,e0,!1);break;case F5.modEnvDecay:i0=new u6(m0.decayModEnv,e0,!1);break;case F5.modEnvRelease:i0=new u6(m0.releaseModEnv,e0);break;case F5.modEnvSustain:let _1=1e3-e0;i0=new u6(m0.sustainModEnv,_1);break;case F5.reverbSend:i0=new u6(m0.reverbEffectsSend,e0);break;case F5.chorusSend:i0=new u6(m0.chorusEffectsSend,e0);break;case F5.pitch:let f1=Math.floor(e0/100),C2=Math.floor(e0-f1*100);i0=new u6(m0.fineTune,C2),c.push(new u6(m0.coarseTune,f1));break}i0&&c.push(i0)}else{let i0=!0;if(P===I6.none)if(H===I6.modLfo&&U===F5.pitch)c.push(new u6(m0.modLfoToPitch,e0));else if(H===I6.modLfo&&U===F5.gain)c.push(new u6(m0.modLfoToVolume,e0));else if(H===I6.modLfo&&U===F5.filterCutoff)c.push(new u6(m0.modLfoToFilterFc,e0));else if(H===I6.vibratoLfo&&U===F5.pitch)c.push(new u6(m0.vibLfoToPitch,e0));else if(H===I6.modEnv&&U===F5.pitch)c.push(new u6(m0.modEnvToPitch,e0));else if(H===I6.modEnv&&U===F5.filterCutoff)c.push(new u6(m0.modEnvToFilterFc,e0));else if(H===I6.keyNum&&U===F5.pitch)c.push(new u6(m0.scaleTuning,e0/128));else if(H===I6.keyNum&&U===F5.volEnvHold){c.push(new u6(m0.keyNumToVolEnvHold,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.holdVolEnv&&(_1.generatorValue+=a1)})}else if(H===I6.keyNum&&U===F5.volEnvDecay){c.push(new u6(m0.keyNumToVolEnvDecay,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.decayVolEnv&&(_1.generatorValue+=a1)})}else if(H===I6.keyNum&&U===F5.modEnvHold){c.push(new u6(m0.keyNumToModEnvHold,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.holdModEnv&&(_1.generatorValue+=a1)})}else if(H===I6.keyNum&&U===F5.modEnvDecay){c.push(new u6(m0.keyNumToModEnvDecay,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.decayModEnv&&(_1.generatorValue+=a1)})}else i0=!1;else i0=!1;if(i0===!1){let a1=sk(H,P,U,W0,e0);a1?(d.push(a1),_5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):I9("Failed converting to SF2 Modulator!")}}}return i&&d.push(new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:d,generators:c}}function ak(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),d=s3(A.chunkData,2),p=s3(A.chunkData,2),O=s3(A.chunkData,2),H=new eC({min:c,max:d},{min:p,max:O});s3(A.chunkData,2);let P=s3(A.chunkData,2);P!==0&&H.generators.push(new u6(m0.exclusiveClass,P));let U=G7(i,"lart"),W0=G7(i,"lar2");this.readLart(U,W0,H),H.isGlobal=!1;let _=i.find(p3=>p3.header==="wsmp");s3(_.chunkData,4);let e0=s3(_.chunkData,2),i0=Ga(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),_1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let f1=s3(_.chunkData,4),C2,u2={start:0,end:0};if(f1===0)C2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?C2=1:C2=3,u2.start=s3(_.chunkData,4);let w3=s3(_.chunkData,4);u2.end=u2.start+w3}let I2=i.find(p3=>p3.header==="wlnk");if(I2===void 0)return;s3(I2.chunkData,2),s3(I2.chunkData,2),s3(I2.chunkData,4);let K2=s3(I2.chunkData,4),J2=this.samples[K2];if(J2===void 0)throw new Error("Invalid sample ID!");let C5=(_1||J2.sampleDbAttenuation)*10/.4;return H.setWavesample(C5,C2,u2,e0,J2,K2,i0),H}var wu=class{constructor(i,A,c,d,p,O,H,P){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=d,this.sampleLink=p,this.sampleType=O,this.sampleLoopStartIndex=H,this.sampleLoopEndIndex=P,this.isCompressed=(O&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{I9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var tC=class extends wu{sampleDbAttenuation;sampleData;constructor(i,A,c,d,p,O,H,P){super(i,A,c,d,0,1,p,O),this.sampleData=H,this.sampleDbAttenuation=P}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var $k={PCM:1,ALAW:6};function t_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),d,p=!1;i===1?(d=255,p=!0):d=A;let O=n.size/i,H=new Float32Array(O);for(let P=0;P=A&&(U-=c),H[P]=U/d)}return H}function i_(n,i){let A=n.size/i,c=new Float32Array(A);for(let d=0;d>4,P=O&15;H>0&&(P+=16),P=(P<<4)+8,H>1&&(P=P<127?P:-P;c[d]=U/32678}return c}function lk(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexJ2.header==="fmt ");if(!d)throw new Error("No fmt chunk in the wave file!");let p=s3(d.chunkData,2),O=s3(d.chunkData,2);if(O!==1)throw new Error(`Only mono samples are supported. Fmt reports ${O} channels`);let H=s3(d.chunkData,4);s3(d.chunkData,4),s3(d.chunkData,2);let U=s3(d.chunkData,2)/8,W0=!1,_=c.find(J2=>J2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let e0;switch(p){default:W0=!0,e0=new Float32Array(_.size/U);break;case $k.PCM:e0=t_(_,U);break;case $k.ALAW:e0=i_(_,U);break}let i0=G7(c,"INFO"),a1=`Unnamed ${i}`;if(i0){let J2=Qe(i0.chunkData);for(;J2.header!=="INAM"&&i0.chunkData.currentIndexJ2.header==="wsmp");if(K2){s3(K2.chunkData,4),_1=s3(K2.chunkData,2),f1=Ga(K2.chunkData[K2.chunkData.currentIndex++],K2.chunkData[K2.chunkData.currentIndex++]);let J2=Math.trunc(f1/100);if(_1+=J2,f1-=J2*100,I2=(s3(K2.chunkData,4)|0)/-655360,s3(K2.chunkData,4),s3(K2.chunkData,4)===1){s3(K2.chunkData,8),C2=s3(K2.chunkData,4);let p3=s3(K2.chunkData,4);u2=C2+p3}}else I9("No wsmp chunk in wave... using sane defaults.");W0&&console.error(`Failed to load '${a1}': Unsupported format: (${p})`),this.samples.push(new tC(a1,H,_1,f1,C2,u2,e0,I2)),i++,_5(`%cLoaded sample %c${a1}`,C1.info,C1.recognized)}g9()}var qo=class extends Ya{constructor(i){super(),this.dataArray=new j5(i),M7("%cParsing DLS...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let A=Qe(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndex(p.generators=p.generators.filter(U=>U.generatorType!==m0.sampleID&&U.generatorType!==m0.keyRange&&U.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+d),0);let i=new j5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return p9(i,0),it(new w4("igen",i.length,i))}function Rv(n,i,A,c,d){let p=this.samples.map((P,W0)=>{A&&P.compressSample(c,d);let _=P.getRawData();return _5(`%cEncoded sample %c${W0}. ${P.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),U=this.samples.reduce((P,W0,_)=>P+p[_].length+46,0),j=new j5(U);this.samples.forEach((P,W0)=>{let _=p[W0],q,t0,n1=_.length;P.isCompressed?(q=j.currentIndex,t0=q+_.length):(q=j.currentIndex/2,t0=q+_.length/2,n1+=46),n.push(q),j.set(_,j.currentIndex),j.currentIndex+=n1,i.push(t0)});let O=it(new w4("smpl",j.length,j),new j5([115,100,116,97]));return it(new w4("LIST",O.length,O))}function Fv(n,i){let c=new j5(46*(this.samples.length+1));return this.samples.forEach((d,p)=>{P8(c,d.sampleName,20);let U=n[p];p9(c,U);let j=i[p];p9(c,j);let O=d.sampleLoopStartIndex+U,P=d.sampleLoopEndIndex+U;d.isCompressed&&(O-=U,P-=U),p9(c,O),p9(c,P),p9(c,d.sampleRate),c[c.currentIndex++]=d.samplePitch,c[c.currentIndex++]=d.samplePitchCorrection,j3(c,d.sampleLink),j3(c,d.sampleType)}),P8(c,"EOS",46),it(new w4("shdr",c.length,c))}function Tv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new j5(n),A=0;for(let c of this.instruments)for(let d of c.instrumentZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new w4("imod",i.length,i))}function Nv(){let n=this.instruments.reduce((p,U)=>U.instrumentZones.length*4+p,4),i=new j5(n),A=0,c=0,d=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let U of p.instrumentZones)U.zoneID=A,j3(i,c),j3(i,d),c+=U.generators.length,d+=U.modulators.length,A++}return j3(i,c),j3(i,d),it(new w4("ibag",i.length,i))}function Gv(){let n=this.instruments.length*22+22,i=new j5(n),A=0,c=0;for(let d of this.instruments)P8(i,d.instrumentName,20),j3(i,A),A+=d.instrumentZones.length,d.instrumentID=c,c++;return P8(i,"EOI",20),j3(i,A),it(new w4("inst",i.length,i))}function Uv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>(p.generators=p.generators.filter(U=>U.generatorType!==m0.instrument&&U.generatorType!==m0.keyRange&&U.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+d),0);let i=new j5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.generatorZoneStartIndex=A;for(let p of d.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=d.generators.length}return j3(i,0),j3(i,0),it(new w4("pgen",i.length,i))}function Pv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((d,p)=>p.modulators.length*10+d,0);let i=new j5(n),A=0;for(let c of this.presets)for(let d of c.presetZones){d.modulatorZoneStartIndex=A;for(let p of d.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new w4("pmod",i.length,i))}function Ov(){let n=this.presets.reduce((p,U)=>U.presetZones.length*4+p,4),i=new j5(n),A=0,c=0,d=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let U of p.presetZones)U.zoneID=A,j3(i,c),j3(i,d),c+=U.generators.length,d+=U.modulators.length,A++}return j3(i,c),j3(i,d),it(new w4("pbag",i.length,i))}function qv(){let n=this.presets.length*38+38,i=new j5(n),A=0;for(let c of this.presets)P8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),p9(i,c.library),p9(i,c.genre),p9(i,c.morphology),A+=c.presetZones.length;return P8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),p9(i,0),p9(i,0),p9(i,0),it(new w4("phdr",i.length,i))}var WD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Hv(n=WD){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),_5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),_5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[K2,J2]of Object.entries(this.soundFontInfo))if(K2==="ifil"||K2==="iver"){let A0=parseInt(J2.split(".")[0]),C5=parseInt(J2.split(".")[1]),p3=new j5(4);j3(p3,A0),j3(p3,C5),i.push(it(new w4(K2,4,p3)))}else if(K2==="DMOD")i.push(it(new w4(K2,J2.length,J2)));else{let A0=new j5(J2.length);P8(A0,J2),i.push(it(new w4(K2,J2.length,A0)))}let A=St([new j5([73,78,70,79]),...i]),c=it(new w4("LIST",A.length,A));_5("%cWriting SDTA...",C1.info);let d=[],p=[],U=Rv.call(this,d,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);_5("%cWriting PDTA...",C1.info),_5("%cWriting SHDR...",C1.info);let j=Fv.call(this,d,p);_5("%cWriting IGEN...",C1.info);let O=Mv.call(this);_5("%cWriting IMOD...",C1.info);let P=Tv.call(this);_5("%cWriting IBAG...",C1.info);let W0=Nv.call(this);_5("%cWriting INST...",C1.info);let _=Gv.call(this),q=Uv.call(this);_5("%cWriting PMOD...",C1.info);let t0=Pv.call(this);_5("%cWriting PBAG...",C1.info);let n1=Ov.call(this);_5("%cWriting PHDR...",C1.info);let S1=qv.call(this),c1=St([new j5([112,100,116,97]),S1,n1,t0,q,_,W0,P,O,j]),I2=it(new w4("LIST",c1.length,c1));_5("%cWriting the output file...",C1.info);let $2=St([new j5([115,102,98,107]),c,U,I2]),f2=it(new w4("RIFF",$2.length,$2));return _5(`%cSaved succesfully! Final file size: %c${f2.length}`,C1.info,C1.recognized),g9(),f2}var Gp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var zr=class extends Gp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},Bu=class extends Gp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var ZD=new Set([m0.velRange,m0.keyRange,m0.instrument,m0.exclusiveClass,m0.endOper,m0.sampleModes,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.initialAttenuation,m0.fineTune,m0.coarseTune,m0.keyNumToVolEnvHold,m0.keyNumToVolEnvDecay,m0.keyNumToModEnvHold,m0.keyNumToModEnvDecay]);function Yv(n,i=!0){function A(_,q){_.push(...q.filter(t0=>!_.find(n1=>n1.generatorType===t0.generatorType)))}function c(_,q){return{min:Math.max(_.min,q.min),max:Math.min(_.max,q.max)}}function d(_,q){_.push(...q.filter(t0=>!_.find(n1=>$e.isIdentical(t0,n1))))}let p=[],U=[],j=[],O={min:0,max:127},P={min:0,max:127},W0=n.presetZones.find(_=>_.isGlobal);W0&&(U.push(...W0.generators),j.push(...W0.modulators),O=W0.keyRange,P=W0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let q=_.keyRange;_.hasKeyRange||(q=O);let t0=_.velRange;_.hasVelRange||(t0=P);let n1=_.generators.map(A0=>new u6(A0.generatorType,A0.generatorValue));A(n1,U);let S1=[..._.modulators];d(S1,j);let c1=_.instrument.instrumentZones,I2=[],$2=[],f2={min:0,max:127},K2={min:0,max:127},J2=c1.find(A0=>A0.isGlobal);J2&&(I2.push(...J2.generators),$2.push(...J2.modulators),f2=J2.keyRange,K2=J2.velRange);for(let A0 of c1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=f2);let p3=A0.velRange;if(A0.hasVelRange||(p3=K2),C5=c(C5,q),p3=c(p3,t0),C5.maxnew u6(P3.generatorType,P3.generatorValue));A(w3,I2);let m6=[...A0.modulators];d(m6,$2);let v3=[...m6];for(let P3 of S1){let w6=v3.findIndex(Me=>$e.isIdentical(P3,Me));w6!==-1?v3[w6]=v3[w6].sumTransform(P3):v3.push(P3)}let x6=w3.map(P3=>new u6(P3.generatorType,P3.generatorValue));for(let P3 of n1){if(P3.generatorType===m0.velRange||P3.generatorType===m0.keyRange||P3.generatorType===m0.instrument||P3.generatorType===m0.endOper||P3.generatorType===m0.sampleModes)continue;let w6=w3.findIndex(Me=>Me.generatorType===P3.generatorType);if(w6!==-1){let Me=x6[w6].generatorValue+P3.generatorValue;x6[w6]=new u6(P3.generatorType,Me)}else{let Me=Z6[P3.generatorType].def+P3.generatorValue;x6.push(new u6(P3.generatorType,Me))}}x6=x6.filter(P3=>P3.generatorType!==m0.sampleID&&P3.generatorType!==m0.keyRange&&P3.generatorType!==m0.velRange&&P3.generatorType!==m0.endOper&&P3.generatorType!==m0.instrument&&P3.generatorValue!==Z6[P3.generatorType].def);let u9=new zr;u9.keyRange=C5,u9.velRange=p3,u9.keyRange.min===0&&u9.keyRange.max===127&&(u9.keyRange.min=-1),u9.velRange.min===0&&u9.velRange.max===127&&(u9.velRange.min=-1),u9.isGlobal=!1,u9.sample=A0.sample,u9.generators=x6,u9.modulators=v3,p.push(u9)}}if(i){let _=new zr;_.isGlobal=!0;for(let n1=0;n1<58;n1++){if(ZD.has(n1))continue;let S1={},c1=Z6[n1]?.def||0;S1[c1]=0;for(let I2 of p){let $2=I2.generators.find(J2=>J2.generatorType===n1);if($2){let J2=$2.generatorValue;S1[J2]===void 0?S1[J2]=1:S1[J2]++}else S1[c1]++;let f2;switch(n1){default:continue;case m0.decayVolEnv:f2=m0.keyNumToVolEnvDecay;break;case m0.holdVolEnv:f2=m0.keyNumToVolEnvHold;break;case m0.decayModEnv:f2=m0.keyNumToModEnvDecay;break;case m0.holdModEnv:f2=m0.keyNumToModEnvHold}if(I2.generators.find(J2=>J2.generatorType===f2)!==void 0){S1={};break}}if(Object.keys(S1).length>0){let I2=Object.entries(S1).reduce((f2,K2)=>f2[1]{let K2=f2.generators.findIndex(J2=>J2.generatorType===n1);K2!==-1?f2.generators[K2].generatorValue===$2&&f2.generators.splice(K2,1):$2!==c1&&f2.generators.push(new u6(n1,c1))})}}let t0=p.find(n1=>!n1.isGlobal).modulators.map(n1=>$e.copy(n1));for(let n1 of t0){let S1=!0;for(let c1 of p){if(c1.isGlobal||!S1)continue;c1.modulators.find($2=>$e.isIdentical($2,n1))||(S1=!1)}if(S1===!0){_.modulators.push($e.copy(n1));for(let c1 of p){let I2=c1.modulators.find($2=>$e.isIdentical($2,n1));I2.transformAmount===n1.transformAmount&&c1.modulators.splice(c1.modulators.indexOf(I2),1)}}}p.splice(0,0,_)}return p}var Vv=20;function ZE(n,i,A,c,d,p,U){let j=U===0?0:1,O=new j5(Vv+j*16);p9(O,Vv),j3(O,i),j3(O,A);let P=c*.4,W0=Math.floor(P*-65536);p9(O,W0),p9(O,0);let _=p-d,q=0;switch(U){default:case 0:j=0;break;case 1:q=0,j=1;break;case 3:q=1,j=1}return p9(O,j),j===1&&(p9(O,16),p9(O,q),p9(O,d),p9(O,_)),k6("wsmp",O)}var I6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258};var F5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Up=class{source;control;destination;scale;transform;constructor(i,A,c,d,p){this.source=i,this.control=A,this.destination=c,this.scale=d,this.transform=p}writeArticulator(){let i=new j5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),p9(i,this.scale<<16),i}};function Jv(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return I6.modulationWheel;case $3.mainVolume:return I6.volume;case $3.pan:return I6.pan;case $3.expressionController:return I6.expression;case $3.chorusDepth:return I6.chorus;case $3.reverbDepth:return I6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return I6.keyNum;case q4.noteOnVelocity:return I6.velocity;case q4.noController:return I6.none;case q4.polyPressure:return I6.polyPressure;case q4.channelPressure:return I6.channelPressure;case q4.pitchWheel:return I6.pitchWheel;case q4.pitchWheelRange:return I6.pitchWheelRange}}function zv(n,i){switch(n){default:return;case m0.initialAttenuation:return{dest:F5.gain,amount:-i};case m0.fineTune:return F5.pitch;case m0.pan:return F5.pan;case m0.keyNum:return F5.keyNum;case m0.reverbEffectsSend:return F5.reverbSend;case m0.chorusEffectsSend:return F5.chorusSend;case m0.freqModLFO:return F5.modLfoFreq;case m0.delayModLFO:return F5.modLfoDelay;case m0.delayVibLFO:return F5.vibLfoDelay;case m0.freqVibLFO:return F5.vibLfoFreq;case m0.delayVolEnv:return F5.volEnvDelay;case m0.attackVolEnv:return F5.volEnvAttack;case m0.holdVolEnv:return F5.volEnvHold;case m0.decayVolEnv:return F5.volEnvDecay;case m0.sustainVolEnv:return{dest:F5.volEnvSustain,amount:1e3-i};case m0.releaseVolEnv:return F5.volEnvRelease;case m0.delayModEnv:return F5.modEnvDelay;case m0.attackModEnv:return F5.modEnvAttack;case m0.holdModEnv:return F5.modEnvHold;case m0.decayModEnv:return F5.modEnvDecay;case m0.sustainModEnv:return{dest:F5.modEnvSustain,amount:1e3-i};case m0.releaseModEnv:return F5.modEnvRelease;case m0.initialFilterFc:return F5.filterCutoff;case m0.initialFilterQ:return F5.filterQ}}function Kv(n,i){switch(n){default:return;case m0.modEnvToFilterFc:return{source:I6.modEnv,dest:F5.filterCutoff,amt:i,isBipolar:!1};case m0.modEnvToPitch:return{source:I6.modEnv,dest:F5.pitch,amt:i,isBipolar:!1};case m0.modLfoToFilterFc:return{source:I6.modLfo,dest:F5.filterCutoff,amt:i,isBipolar:!0};case m0.modLfoToVolume:return{source:I6.modLfo,dest:F5.gain,amt:i,isBipolar:!0};case m0.modLfoToPitch:return{source:I6.modLfo,dest:F5.pitch,amt:i,isBipolar:!0};case m0.vibLfoToPitch:return{source:I6.vibratoLfo,dest:F5.pitch,amt:i,isBipolar:!0};case m0.keyNumToVolEnvHold:return{source:I6.keyNum,dest:F5.volEnvHold,amt:i,isBipolar:!0};case m0.keyNumToVolEnvDecay:return{source:I6.keyNum,dest:F5.volEnvDecay,amt:i,isBipolar:!0};case m0.keyNumToModEnvHold:return{source:I6.keyNum,dest:F5.modEnvHold,amt:i,isBipolar:!0};case m0.keyNumToModEnvDecay:return{source:I6.keyNum,dest:F5.modEnvDecay,amt:i,isBipolar:!0};case m0.scaleTuning:return{source:I6.keyNum,dest:F5.pitch,amt:i*128,isBipolar:!1}}}function Wv(n){let i=zv(n.generatorType,n.generatorValue),A=i,c=0,d=n.generatorValue;i?.amount!==void 0&&(d=i.amount,A=i.dest);let p=Kv(n.generatorType,n.generatorValue);if(p!==void 0)d=p.amt,A=p.dest,c=p.source;else if(A===void 0){I9(`Invalid generator type: ${n.generatorType}`);return}return new Up(c,0,A,d,0)}function Zv(n){if(n.transformType!==0){I9("Other transform types are not supported.");return}let i=Jv(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,d=n.sourceDirection;if(i===void 0){I9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}let p=Jv(n.secSrcUsesCC,n.secSrcIndex),U=n.secSrcCurveType,j=n.secSrcPolarity,O=n.secSrcDirection;if(p===void 0){I9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let P=zv(n.modulatorDestination,n.transformAmount),W0=P,_=n.transformAmount;P?.dest!==void 0&&(W0=P.dest,_=P.amount);let q=Kv(n.modulatorDestination,n.transformAmount);if(q!==void 0)_=q.amt,p=i,U=A,j=c,O=d,A=X7.linear,c=q.isBipolar?1:0,d=0,i=q.source,W0=q.dest;else if(W0===void 0){I9(`Invalid destination: ${n.modulatorDestination}`);return}let t0=0;return t0|=U<<4,t0|=j<<8,t0|=O<<9,t0|=A<<10,t0|=c<<14,t0|=d<<15,new Up(i,p,W0,_,t0)}var jD=new Set([m0.sampleModes,m0.initialAttenuation,m0.keyRange,m0.velRange,m0.sampleID,m0.fineTune,m0.coarseTune,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.overridingRootKey,m0.exclusiveClass]);function jE(n){for(let p=0;pn1.generatorType===j);if(O===void 0)continue;let P=U.generatorValue*-128,W0=60/128*P,_=O.generatorValue-W0,q=n.generators.indexOf(U),t0=n.generators.indexOf(O);n.generators[t0]=new u6(j,_,!1),n.generators[q]=new u6(U.generatorType,P,!1)}let i=n.generators.reduce((p,U)=>{if(jD.has(U.generatorType))return p;let j=Wv(U);return j!==void 0?(p.push(j),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,U)=>{let j=Zv(U);return j!==void 0?(p.push(j),_5("%cSucceeded converting to DLS Articulator!",C1.recognized)):I9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new j5(8);p9(c,8),p9(c,i.length);let d=i.map(p=>p.writeArticulator());return k6("art2",St([c,...d]))}function jv(n,i){let A=new j5(14);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(m0.exclusiveClass,0);j3(A,c),j3(A,0);let d=k6("rgnh",A),p=n.getGeneratorValue(m0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(m0.scaleTuning,i.getGeneratorValue(m0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let j=ZE(n.sample,p,n.getGeneratorValue(m0.fineTune,0)+n.getGeneratorValue(m0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(m0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(m0.startloopAddrsOffset,0)+n.getGeneratorValue(m0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(m0.endloopAddrsOffset,0)+n.getGeneratorValue(m0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(m0.sampleModes,0)),O=new j5(12);j3(O,0),j3(O,0);let P=0;switch(n.sample.sampleType){default:case 1:case 4:P=0;break;case 2:P=1}p9(O,P),p9(O,this.samples.indexOf(n.sample));let W0=k6("wlnk",O),_=jE(n),q=k6("lar2",_,!1,!0);return k6("rgn2",St([d,j,W0,q]),!1,!0)}function Xv(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=Yv(n),A=i.reduce((q,t0)=>t0.isGlobal?q:q+1,0),c=new j5(12);p9(c,A);let d=(n.bank&127)<<8;n.bank===128&&(d|=1<<31),p9(c,d),p9(c,n.program&127);let p=k6("insh",c),U=new j5(0),j=i.find(q=>q.isGlobal===!0);if(j){let q=jE(j);U=k6("lar2",q,!1,!0)}let O=St(i.reduce((q,t0)=>(t0.isGlobal||q.push(jv.apply(this,[t0,j])),q),[])),P=k6("lrgn",O,!1,!0),W0=k6("INAM",N7(n.presetName)),_=k6("INFO",W0,!1,!0);return g9(),k6("ins ",St([p,P,U,_]),!1,!0)}function ek(){let n=St(this.presets.map(i=>Xv.apply(this,[i])));return k6("lins",n,!1,!0)}function tk(n){let i=new j5(18);j3(i,1),j3(i,1),p9(i,n.sampleRate),p9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=ZE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,1),d=n.getAudioData(),p;if(n.isCompressed){let O=new Int16Array(d.length);for(let P=0;P{let d=tk(c);return i.push(n),n+=d.length,d});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function rk(){y8("%cSaving DLS...",C1.info);let n=new j5(4);p9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=ek.apply(this);_5("%cSuccess!",C1.recognized),g9(),y8("%cWriting WAVE samples...",C1.info);let c=ik.apply(this),d=c.data,p=c.indexes;_5("%cSucceeded!",C1.recognized),g9();let U=new j5(8+4*p.length);p9(U,8),p9(U,p.length);for(let _ of p)p9(U,_);let j=k6("ptbl",U);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let O=[];for(let[_,q]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||O.push(k6(_,N7(q)));let P=k6("INFO",St(O),!1,!0),W0=new j5(i.length+A.length+j.length+d.length+P.length+4);return P8(W0,"DLS "),W0.set(St([i,A,j,d,P]),4),_5("%cSaved succesfully!",C1.recognized),g9(),k6("RIFF",W0)}var Ya=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=bE.map(A=>$e.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(U=>U.bank===p.bank&&U.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let d=this.presets.find(p=>p.bank===i&&p.program===A);if(d)return d;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(d=>d.bank===i&&d.program===A);return c||(i===128?(c=this.presets.find(d=>d.bank===128&&d.program===A),c||(c=this.presets.find(d=>d.bank===128))):c=this.presets.find(d=>d.program===A&&d.bank!==128),c&&I9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(I9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(I9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Ya.prototype.write=Hv;Ya.prototype.writeDLS=rk;function nk(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function d(t0,n1){return n1>=t0.min&&n1<=t0.max}function p(t0,n1){t0.push(...n1.filter(S1=>!t0.find(c1=>c1.generatorType===S1.generatorType)))}function U(t0,n1){t0.push(...n1.filter(S1=>!t0.find(c1=>$e.isIdentical(S1,c1))))}let j=[],O=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],P=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],W0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(t0=>d(t0.hasKeyRange?t0.keyRange:W0,i)&&d(t0.hasVelRange?t0.velRange:_,A)&&!t0.isGlobal).forEach(t0=>{if(t0.instrument.instrumentZones.length<1)return;let n1=t0.generators,S1=t0.modulators,c1=t0.instrument.instrumentZones[0],I2=c1.isGlobal?[...c1.generators]:[],$2=c1.isGlobal?[...c1.modulators]:[],f2=c1.isGlobal?c1.keyRange:{min:0,max:127},K2=c1.isGlobal?c1.velRange:{min:0,max:127};t0.instrument.instrumentZones.filter(A0=>d(A0.hasKeyRange?A0.keyRange:f2,i)&&d(A0.hasVelRange?A0.velRange:K2,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],p3=[...A0.modulators];p(n1,O),p(C5,I2),U(S1,P),U(p3,$2),U(p3,this.defaultModulators);let w3=[...p3];for(let m6=0;m6$e.isIdentical(v3,u9));x6!==-1?w3[x6]=w3[x6].sumTransform(v3):w3.push(v3)}j.push({instrumentGenerators:C5,presetGenerators:n1,modulators:w3,sample:A0.sample,sampleID:A0.generators.find(m6=>m6.generatorType===m0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=j,j}};var yu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var XE=class extends Qu{constructor(i,A){super(bE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new yu,this.DLSInstrument.addUseCount();let d=new Bu;d.instrument=this.DLSInstrument,this.presetZones=[d]}};function ok(n){this.verifyHeader(n,"LIST"),this.verifyText(y4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(t0=>t0.header==="insh");if(!A)throw g9(),new Error("No instrument header!");let c=s3(A.chunkData,4),d=s3(A.chunkData,4),p=s3(A.chunkData,4),U=new XE(d,p),j="unnamedPreset",O=G7(i,"INFO");if(O){let t0=Qe(O.chunkData);for(;t0.header!=="INAM";)t0=Qe(O.chunkData);j=y4(t0.chunkData,t0.chunkData.length).trim()}U.presetName=j,U.DLSInstrument.instrumentName=j,M7(`%cParsing %c"${j}"%c...`,C1.info,C1.recognized,C1.info);let P=G7(i,"lrgn");if(!P)throw g9(),new Error("No region list!");let W0=new zr;W0.isGlobal=!0;let _=G7(i,"lart"),q=G7(i,"lar2");(q!==void 0||_!==void 0)&&this.readLart(_,q,W0),W0.generators=W0.generators.filter(t0=>t0.generatorValue!==Z6[t0.generatorType].def),W0.modulators.find(t0=>t0.modulatorDestination===m0.reverbEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),W0.modulators.find(t0=>t0.modulatorDestination===m0.chorusEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),U.DLSInstrument.instrumentZones.push(W0);for(let t0=0;t0>10&15;$2===X7.linear&&I2!==X7.linear&&($2=I2);let f2=c>>14&1,K2=c>>15&1;U===m0.initialAttenuation&&d<0&&(K2=1),q=Yr($2,f2,K2,j.isCC,j.enum)}let t0=c>>4&15,n1=c>>8&1,S1=c>>9&1,c1=Yr(t0,n1,S1,_.isCC,_.enum);if(O){let I2=c1;c1=q,q=I2}return new $e({srcEnum:q,secSrcEnum:c1,dest:U,transform:0,amt:W0})}function rB(n,i){let A=n.chunkData,c=[],d=[];s3(A,4);let p=s3(A,4);for(let U=0;U>16;if(j===0&&O===0&&W0===0){let t0;switch(P){case F5.pan:t0=new u6(m0.pan,q);break;case F5.gain:t0=new u6(m0.initialAttenuation,-q*10/.4);break;case F5.filterCutoff:t0=new u6(m0.initialFilterFc,q);break;case F5.filterQ:t0=new u6(m0.initialFilterQ,q);break;case F5.modLfoFreq:t0=new u6(m0.freqModLFO,q);break;case F5.modLfoDelay:t0=new u6(m0.delayModLFO,q);break;case F5.vibLfoFreq:t0=new u6(m0.freqVibLFO,q);break;case F5.vibLfoDelay:t0=new u6(m0.delayVibLFO,q);break;case F5.volEnvDelay:t0=new u6(m0.delayVolEnv,q);break;case F5.volEnvAttack:t0=new u6(m0.attackVolEnv,q);break;case F5.volEnvHold:t0=new u6(m0.holdVolEnv,q,!1);break;case F5.volEnvDecay:t0=new u6(m0.decayVolEnv,q,!1);break;case F5.volEnvRelease:t0=new u6(m0.releaseVolEnv,q);break;case F5.volEnvSustain:let n1=1e3-q;t0=new u6(m0.sustainVolEnv,n1);break;case F5.modEnvDelay:t0=new u6(m0.delayModEnv,q);break;case F5.modEnvAttack:t0=new u6(m0.attackModEnv,q);break;case F5.modEnvHold:t0=new u6(m0.holdModEnv,q,!1);break;case F5.modEnvDecay:t0=new u6(m0.decayModEnv,q,!1);break;case F5.modEnvRelease:t0=new u6(m0.releaseModEnv,q);break;case F5.modEnvSustain:let S1=1e3-q;t0=new u6(m0.sustainModEnv,S1);break;case F5.reverbSend:t0=new u6(m0.reverbEffectsSend,q);break;case F5.chorusSend:t0=new u6(m0.chorusEffectsSend,q);break;case F5.pitch:let c1=Math.floor(q/100),I2=Math.floor(q-c1*100);t0=new u6(m0.fineTune,I2),c.push(new u6(m0.coarseTune,c1));break}t0&&c.push(t0)}else{let t0=!0;if(O===I6.none)if(j===I6.modLfo&&P===F5.pitch)c.push(new u6(m0.modLfoToPitch,q));else if(j===I6.modLfo&&P===F5.gain)c.push(new u6(m0.modLfoToVolume,q));else if(j===I6.modLfo&&P===F5.filterCutoff)c.push(new u6(m0.modLfoToFilterFc,q));else if(j===I6.vibratoLfo&&P===F5.pitch)c.push(new u6(m0.vibLfoToPitch,q));else if(j===I6.modEnv&&P===F5.pitch)c.push(new u6(m0.modEnvToPitch,q));else if(j===I6.modEnv&&P===F5.filterCutoff)c.push(new u6(m0.modEnvToFilterFc,q));else if(j===I6.keyNum&&P===F5.pitch)c.push(new u6(m0.scaleTuning,q/128));else if(j===I6.keyNum&&P===F5.volEnvHold){c.push(new u6(m0.keyNumToVolEnvHold,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.holdVolEnv&&(S1.generatorValue+=n1)})}else if(j===I6.keyNum&&P===F5.volEnvDecay){c.push(new u6(m0.keyNumToVolEnvDecay,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.decayVolEnv&&(S1.generatorValue+=n1)})}else if(j===I6.keyNum&&P===F5.modEnvHold){c.push(new u6(m0.keyNumToModEnvHold,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.holdModEnv&&(S1.generatorValue+=n1)})}else if(j===I6.keyNum&&P===F5.modEnvDecay){c.push(new u6(m0.keyNumToModEnvDecay,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.decayModEnv&&(S1.generatorValue+=n1)})}else t0=!1;else t0=!1;if(t0===!1){let n1=ak(j,O,P,W0,q);n1?(d.push(n1),_5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):I9("Failed converting to SF2 Modulator!")}}}return i&&d.push(new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:d,generators:c}}function Ak(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Qe(n.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),d=s3(A.chunkData,2),p=s3(A.chunkData,2),U=s3(A.chunkData,2),j=new eC({min:c,max:d},{min:p,max:U});s3(A.chunkData,2);let O=s3(A.chunkData,2);O!==0&&j.generators.push(new u6(m0.exclusiveClass,O));let P=G7(i,"lart"),W0=G7(i,"lar2");this.readLart(P,W0,j),j.isGlobal=!1;let _=i.find(p3=>p3.header==="wsmp");s3(_.chunkData,4);let q=s3(_.chunkData,2),t0=Ga(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),S1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let c1=s3(_.chunkData,4),I2,$2={start:0,end:0};if(c1===0)I2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?I2=1:I2=3,$2.start=s3(_.chunkData,4);let w3=s3(_.chunkData,4);$2.end=$2.start+w3}let f2=i.find(p3=>p3.header==="wlnk");if(f2===void 0)return;s3(f2.chunkData,2),s3(f2.chunkData,2),s3(f2.chunkData,4);let K2=s3(f2.chunkData,4),J2=this.samples[K2];if(J2===void 0)throw new Error("Invalid sample ID!");let C5=(S1||J2.sampleDbAttenuation)*10/.4;return j.setWavesample(C5,I2,$2,q,J2,K2,t0),j}var wu=class{constructor(i,A,c,d,p,U,j,O){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=d,this.sampleLink=p,this.sampleType=U,this.sampleLoopStartIndex=j,this.sampleLoopEndIndex=O,this.isCompressed=(U&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{I9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var tC=class extends wu{sampleDbAttenuation;sampleData;constructor(i,A,c,d,p,U,j,O){super(i,A,c,d,0,1,p,U),this.sampleData=j,this.sampleDbAttenuation=O}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var lk={PCM:1,ALAW:6};function t_(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),d,p=!1;i===1?(d=255,p=!0):d=A;let U=n.size/i,j=new Float32Array(U);for(let O=0;O=A&&(P-=c),j[O]=P/d)}return j}function i_(n,i){let A=n.size/i,c=new Float32Array(A);for(let d=0;d>4,O=U&15;j>0&&(O+=16),O=(O<<4)+8,j>1&&(O=O<127?O:-O;c[d]=P/32678}return c}function ck(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexJ2.header==="fmt ");if(!d)throw new Error("No fmt chunk in the wave file!");let p=s3(d.chunkData,2),U=s3(d.chunkData,2);if(U!==1)throw new Error(`Only mono samples are supported. Fmt reports ${U} channels`);let j=s3(d.chunkData,4);s3(d.chunkData,4),s3(d.chunkData,2);let P=s3(d.chunkData,2)/8,W0=!1,_=c.find(J2=>J2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let q;switch(p){default:W0=!0,q=new Float32Array(_.size/P);break;case lk.PCM:q=t_(_,P);break;case lk.ALAW:q=i_(_,P);break}let t0=G7(c,"INFO"),n1=`Unnamed ${i}`;if(t0){let J2=Qe(t0.chunkData);for(;J2.header!=="INAM"&&t0.chunkData.currentIndexJ2.header==="wsmp");if(K2){s3(K2.chunkData,4),S1=s3(K2.chunkData,2),c1=Ga(K2.chunkData[K2.chunkData.currentIndex++],K2.chunkData[K2.chunkData.currentIndex++]);let J2=Math.trunc(c1/100);if(S1+=J2,c1-=J2*100,f2=(s3(K2.chunkData,4)|0)/-655360,s3(K2.chunkData,4),s3(K2.chunkData,4)===1){s3(K2.chunkData,8),I2=s3(K2.chunkData,4);let p3=s3(K2.chunkData,4);$2=I2+p3}}else I9("No wsmp chunk in wave... using sane defaults.");W0&&console.error(`Failed to load '${n1}': Unsupported format: (${p})`),this.samples.push(new tC(n1,j,S1,c1,I2,$2,q,f2)),i++,_5(`%cLoaded sample %c${n1}`,C1.info,C1.recognized)}g9()}var qo=class extends Ya{constructor(i){super(),this.dataArray=new j5(i),M7("%cParsing DLS...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let A=Qe(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(y4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndexP.header==="colh");p||(g9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),_5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let O=G7(c,"wvpl");O||(g9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(O);let H=G7(c,"lins");H||(g9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(H),this.presets.sort((P,U)=>P.program-U.program+(P.bank-U.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qo.prototype.readDLSInstrumentList=rk;qo.prototype.readDLSInstrument=nk;qo.prototype.readRegion=Ak;qo.prototype.readLart=ak;qo.prototype.readDLSSamples=lk;var Va=Va!==void 0?Va:{},ck=!1,gk;Va.isInitialized=new Promise(n=>gk=n);var r_=function(n){var i,A,c,d,p,O,H,P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",U="",W0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do d=P.indexOf(n.charAt(W0++)),p=P.indexOf(n.charAt(W0++)),O=P.indexOf(n.charAt(W0++)),H=P.indexOf(n.charAt(W0++)),i=d<<2|p>>4,A=(15&p)<<4|O>>2,c=(3&O)<<6|H,U+=String.fromCharCode(i),O!==64&&(U+=String.fromCharCode(A)),H!==64&&(U+=String.fromCharCode(c));while(W01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof W$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):v3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Er(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(p3||w3)&&(p3?document.currentScript&&(x6=document.currentScript.src):x6=self.location.href,x6=x6.indexOf("blob:")!==0?x6.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},w3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var P3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||P3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function Me(R0){var t1=i0;return i0=i0+R0+15&-16,t1}function Wr(R0){var t1=P[I2>>2],y1=t1+R0+15&-16;return P[I2>>2]=y1,y1>=N9&&!Zr()?(P[I2>>2]=t1,0):t1}function er(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function Ka(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Er(t1%8==0),t1/8}}function Ho(R0){Ho.shown||(Ho.shown={}),Ho.shown[R0]||(Ho.shown[R0]=1,w6(R0))}C5=void 0;var Op={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},F$=[];function aC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function T$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Wa=0,vu=0;function Er(R0,t1){R0||tr("Assertion failed: "+t1)}function Za(R0){var t1=A0["_"+R0];return Er(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var qp={stackSave:function(){jp()},stackRestore:function(){K$()},arrayToC:function(R0){var t1,y1,_2=ja(R0.length);return t1=R0,y1=_2,d.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=ja(y1),Yp(R0,t1,y1)}return t1}},Yo={string:qp.stringToC,array:qp.arrayToC};function ku(R0,t1,y1,_2,t6){var E9=Za(R0),X9=[],p6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Yo[y1[v8]];H4?(p6===0&&(p6=jp()),X9[v8]=H4(_2[v8])):X9[v8]=_2[v8]}var rt,M4=E9.apply(null,X9);return M4=(rt=M4,t1==="string"?G$(rt):t1==="boolean"?!!rt:rt),p6!==0&&K$(p6),M4}function O3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":d[R0>>0]=t1;break;case"i16":O[R0>>1]=t1;break;case"i32":P[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+Du(tempDouble=t1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+J$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],P[R0>>2]=tempI64[0],P[R0+4>>2]=tempI64[1];break;case"float":W0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:tr("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return d[R0>>0];case"i16":return O[R0>>1];case"i32":case"i64":return P[R0>>2];case"float":return W0[R0>>2];case"double":return _[R0>>3];default:tr("invalid type for getValue: "+t1)}return null}function IB(R0,t1,y1,_2){typeof R0=="number"?(E9=!0,X9=R0):(E9=!1,X9=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof Zo=="function"?Zo:Me,ja,Me,Wr][y1===void 0?2:y1](Math.max(X9,t6?1:t1.length)),E9){for(_2=p6,Er((3&p6)==0),v8=p6+(-4&X9);_2>2]=0;for(v8=p6+X9;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var E9,X9,p6,v8,H4,rt,M4,C9=0;C9>0],(_2!=0||t1)&&(X9++,!t1||X9!=t1););t1||(t1=X9);var p6="";if(E9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Hp)return Hp.decode(H4.subarray(rt,M4));for(var C9,Gi,q7,k8,Ui,H7,Y7="";;){if(!(C9=H4[rt++]))return Y7;if(!(128&C9)){Y7+=String.fromCharCode(C9);continue}if(Gi=63&H4[rt++],(224&C9)==192){Y7+=String.fromCharCode((31&C9)<<6|Gi);continue}if(q7=63&H4[rt++],(240&C9)==224?C9=(15&C9)<<12|Gi<<6|q7:(k8=63&H4[rt++],(248&C9)==240?C9=(7&C9)<<18|Gi<<12|q7<<6|k8:(Ui=63&H4[rt++],C9=(252&C9)==248?(3&C9)<<24|Gi<<18|q7<<12|k8<<6|Ui:(1&C9)<<30|Gi<<24|q7<<18|k8<<12|Ui<<6|(H7=63&H4[rt++]))),C9<65536)Y7+=String.fromCharCode(C9);else{var Pn=C9-65536;Y7+=String.fromCharCode(55296|Pn>>10,56320|1023&Pn)}}}(p,y1)}function mB(R0){for(var t1="";;){var y1=d[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function Vo(R0,t1){return function(_2,t6,E9){for(var X9=0;X9<_2.length;++X9)d[t6++>>0]=_2.charCodeAt(X9);E9||(d[t6>>0]=0)}(R0,t1,!1)}var Hp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Gn(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,E9=y1+_2-1,X9=0;X9=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++X9)),p6<=127){if(y1>=E9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=E9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=E9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=E9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=E9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=E9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function Yp(R0,t1,y1){return Gn(R0,p,t1,y1)}function Jo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Vp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function pB(R0){for(var t1=R0,y1=t1>>1;O[y1];)++y1;if((t1=y1<<1)-R0>32&&Vp)return Vp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var E9=O[R0+2*_2>>1];if(E9==0)return t6;++_2,t6+=String.fromCharCode(E9)}}function EB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,E9=0;E9>1]=X9,t1+=2}return O[t1>>1]=0,t1-_2}function CB(R0){return 2*R0.length}function BB(R0){for(var t1=0,y1="";;){var _2=P[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function QB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,E9=0;E9=55296&&X9<=57343&&(X9=65536+((1023&X9)<<10)|1023&R0.charCodeAt(++E9)),P[t1>>2]=X9,(t1+=4)+4>t6)break}return P[t1>>2]=0,t1-_2}function yB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function wB(R0){var t1=Jo(R0)+1,y1=Zo(t1);return y1&&Gn(R0,d,y1,t1),y1}function vB(R0){var t1=Jo(R0)+1,y1=ja(t1);return Gn(R0,d,y1,t1),y1}function Jp(R0){return R0}function $C(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` -`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function Su(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function zp(R0){A0.buffer=c=R0}function j9(){A0.HEAP8=d=new Int8Array(c),A0.HEAP16=O=new Int16Array(c),A0.HEAP32=P=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=H=new Uint16Array(c),A0.HEAPU32=U=new Uint32Array(c),A0.HEAPF32=W0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(P[I2>>2]>t1)return!1;var y1=N9;for(N9=Math.max(N9,16777216);N9>2];)N9=N9<=536870912?Su(2*N9,R0):Math.min(Su((3*N9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(N9);return _2&&_2.byteLength==N9?(zp(_2),j9(),!0):(N9=y1,!1)}e0=i0=_1=f1=C2=u2=I2=0,a1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=d;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!gC(t1)&&t1});try{(K2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{K2=function(t1){return t1.byteLength}}var U$=A0.TOTAL_STACK||5242880,N9=A0.TOTAL_MEMORY||16777216;function P$(){return N9}function zo(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}N9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var Du=Math.abs,J$=Math.ceil,_u=Math.floor,xu=Math.min,Un=0,Lu=null,Wo=null;function kB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Zp="data:application/octet-stream;base64,";function z$(R0){return String.prototype.startsWith?R0.startsWith(Zp):R0.indexOf(Zp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";z$(t1)||(t1=u9(t1)),z$(y1)||(y1=u9(y1)),z$(_2)||(_2=u9(_2));var t6={global:null,env:null,asm2wasm:Op,parent:A0},E9=null;function X9(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){tr(M4)}}A0.asmPreload=A0.asm;var v8=A0.reallocBuffer,H4=function(M4){M4=Su(M4,A0.usingWasm?65536:16777216);var C9=A0.buffer.byteLength;if(A0.usingWasm)try{var Gi=A0.wasmMemory.grow((M4-C9)/65536);return Gi!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?v8(M4):H4(M4)};var rt="";A0.asm=function(M4,C9,Gi){var q7;if(!(C9=q7=C9).table){var k8,Ui=A0.wasmTableSize;Ui===void 0&&(Ui=1024);var H7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?H7!==void 0?C9.table=new WebAssembly.Table({initial:Ui,maximum:H7,element:"anyfunc"}):C9.table=new WebAssembly.Table({initial:Ui,element:"anyfunc"}):C9.table=Array(Ui),A0.wasmTable=C9.table}return C9.memoryBase||(C9.memoryBase=A0.STATIC_BASE),C9.tableBase||(C9.tableBase=0),k8=function(Pn,Cr,Xp){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function Mu(Br,ir){if((E9=Br.exports).memory){var Xa,jo,Xo;Xa=E9.memory,jo=A0.buffer,Xa.byteLength0?y1:Jo(R0)+1,t6=Array(_2),E9=Gn(R0,t6,0,t6.length);return t1&&(t6.length=E9),t6}function cC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}i0+=16,I2=Me(4),C2=(_1=f1=er(i0))+U$,u2=er(C2),P[I2>>2]=u2,a1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:tr,assert:Er,enlargeMemory:Zr,getTotalMemory:P$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+N9+", (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 ")},invoke_iii:function(t1,y1,_2){var t6=jp();try{return A0.dynCall_iii(t1,y1,_2)}catch(E9){if(K$(t6),typeof E9!="number"&&E9!=="longjmp")throw E9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){tr("Assertion failed: "+G$(t1)+", at: "+[y1?G$(y1):"unknown filename",_2,t6?G$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(P[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:I2,tempDoublePtr:Ni,ABORT:Wa,STACKTOP:f1,STACK_MAX:C2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var gC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Zo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var ja=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},K$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},jp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function W$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function Z$(R0){R0=R0||A0.arguments,!(Un>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)lC(A0.preRun.shift());zo(jr)}(),!(Un>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Wa||(H$||(H$=!0,zo(O$)),zo(bu),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)O7(A0.postRun.shift());zo(q$)}()))}}function uC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Wa=!0,vu=R0,f1=J2,zo(v7),P7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new W$(R0)))}function tr(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(P3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Wa=!0,vu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=ku,A0.cwrap=function(t1,y1,_2,t6){var E9=(_2=_2||[]).every(function(X9){return X9==="number"});return y1!=="string"&&E9&&!t6?Za(t1):function(){return ku(t1,y1,_2,arguments,t6)}},W$.prototype=Error(),W$.prototype.constructor=W$,Wo=function R0(){A0.calledRun||Z$(),A0.calledRun||(Wo=R0)},A0.run=Z$,A0.abort=tr,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,Z$(),A0.onRuntimeInitialized=()=>{ck=!0,gk()},Va.decode=function(R0){return function(y1){if(!ck)throw Error("Not initialized");var _2={};function t6(Cr){return new Int32Array(A0.HEAPU8.buffer,Cr,1)[0]}function E9(Cr,Xp){var Mu=new ArrayBuffer(Xp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(A0.HEAPU8.buffer,Cr,Xp)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X9,p6,v8,H4,rt=_2.open(),M4=(X9=y1,p6=y1.byteLength,v8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,v8,p6)).set(new Uint8Array(X9,0,p6)),H4),C9=A0._malloc(4),Gi=A0._malloc(4),q7=_2.decode(rt,M4.byteOffset,M4.byteLength,C9,Gi);if(A0._free(M4.byteOffset),q7<0)throw _2.close(rt),A0._free(C9),Error("stbvorbis decode failed: "+q7);for(var k8=_2.channels(rt),Ui=Array(k8),H7=new Int32Array(A0.HEAPU32.buffer,t6(C9),k8),Y7=0;Y7n.chunkData.currentIndex;){let p=n_(d,n.chunkData,i,A);c.push(p),d++}return c.length>1&&c.pop(),c}function n_(n,i,A,c){let d=y4(i,20),p=s3(i,4)*2,O=s3(i,4)*2,H=s3(i,4),P=s3(i,4),U=s3(i,4),W0=i[i.currentIndex++];W0===255&&(W0=60);let _=xy(i[i.currentIndex++]),e0=s3(i,2),i0=s3(i,2);return new oB(d,p,O,H,P,U,W0,_,e0,i0,A,n,c)}var sB=class extends u6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ga(i[A+2],i[A+3]),i.currentIndex+=4}};function aB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new sB(n.chunkData));return i.length>1&&i.pop(),i}var AB=class extends yu{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new AB(n);if(A.length>0){let d=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(d,i)}A.push(c)}return A.length>1&&A.pop(),A}var $B=class extends zr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function hk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new $B(n.chunkData);if(d.length>0){let O=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(O,H),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getSample(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var lB=class extends Bu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function fk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new lB(n.chunkData);if(d.length>0){let O=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(O,H),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getInstrument(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var cB=class extends Qu{constructor(i,A){super(A),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let d=new cB(n,A);if(c.length>0){let p=d.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(d)}return c.length>1&&c.pop(),c}var gB=class extends $e{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ga(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function iC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new gB(n.chunkData));return i}var rC=class extends Ya{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new j5(i),M7("%cParsing SoundFont...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let c=Qe(this.dataArray,!1);this.verifyHeader(c,"riff");let d=y4(this.dataArray,4).toLowerCase();if(d!=="sfbk"&&d!=="sfpk")throw g9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${d}"`);let p=d==="sfpk",O=Qe(this.dataArray);for(this.verifyHeader(O,"list"),y4(O.chunkData,4);O.chunkData.length>O.chunkData.currentIndex;){let m6=Qe(O.chunkData),v3;switch(m6.header.toLowerCase()){case"ifil":case"iver":v3=`${s3(m6.chunkData,2)}.${s3(m6.chunkData,2)}`,this.soundFontInfo[m6.header]=v3;break;case"icmt":v3=y4(m6.chunkData,m6.chunkData.length,void 0,!1),this.soundFontInfo[m6.header]=v3;break;case"dmod":let x6=iC(m6);x6.pop(),v3=`Modulators: ${x6.length}`;let u9=this.defaultModulators;this.defaultModulators=x6,this.defaultModulators.push(...u9.filter(P3=>!this.defaultModulators.find(w6=>$e.isIdentical(P3,w6)))),this.soundFontInfo[m6.header]=m6.chunkData;break;default:v3=y4(m6.chunkData,m6.chunkData.length),this.soundFontInfo[m6.header]=v3}_5(`%c"${m6.header}": %c"${v3}"`,C1.info,C1.recognized)}let H=Qe(this.dataArray,!1);this.verifyHeader(H,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),_5("%cVerifying smpl chunk...",C1.warn);let P=Qe(this.dataArray,!1);this.verifyHeader(P,"smpl");let U;if(p){_5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{U=Va.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+H.size-12)).data[0]}catch(m6){throw g9(),new Error(`SF2Pack Ogg Vorbis decode error: ${m6}`)}_5(`%cDecoded the smpl chunk! Length: %c${U.length}`,C1.info,C1.value)}else U=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;_5(`%cSkipping sample chunk, length: %c${H.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=H.size-12,_5("%cLoading preset data chunk...",C1.warn);let W0=Qe(this.dataArray);this.verifyHeader(W0,"list"),y4(W0.chunkData,4);let _=Qe(W0.chunkData);this.verifyHeader(_,"phdr");let e0=Qe(W0.chunkData);this.verifyHeader(e0,"pbag");let i0=Qe(W0.chunkData);this.verifyHeader(i0,"pmod");let a1=Qe(W0.chunkData);this.verifyHeader(a1,"pgen");let _1=Qe(W0.chunkData);this.verifyHeader(_1,"inst");let f1=Qe(W0.chunkData);this.verifyHeader(f1,"ibag");let C2=Qe(W0.chunkData);this.verifyHeader(C2,"imod");let u2=Qe(W0.chunkData);this.verifyHeader(u2,"igen");let I2=Qe(W0.chunkData);this.verifyHeader(I2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...uk(I2,U,!p));let K2=aB(u2),J2=iC(C2),A0=hk(f1,K2,J2,this.samples);this.instruments=dk(_1,A0);let C5=aB(a1),p3=iC(i0),w3=fk(e0,C5,p3,this.instruments);this.presets.push(...Ik(_,w3,this.defaultModulators)),this.presets.sort((m6,v3)=>m6.program-v3.program+(m6.bank-v3.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Ja(n){let i=n.slice(8,12),A=new j5(i);return y4(A,4,void 0,!1).toLowerCase()==="dls "?new qo(n):new rC(n,!1)}async function mk(){let n="locale.exportAudio.formats.formats.soundfont.options.";qe(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,d=parseInt(i.div.querySelector("input[type='range']").value)/10;le(i.id),M7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),O=Ja(p.embeddedSoundFont||this.soundFont);Ua(p,await this.synth.getSynthesizerSnapshot()),A&&Cu(O,p);let H=O.write({compress:c,compressionQuality:d,compressionFunction:this.compressionFunc}),P=new Blob([H.buffer],{type:"audio/soundfont"}),U=O.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(P,`${O.soundFontInfo.INAM||"unnamed"}.${U}`),g9()}}],99999999,!0,this.localeManager)}async function pk(){let n="locale.exportAudio.formats.";qe(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{le(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{le(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{le(i.id);try{this._exportSoundfont()}catch{qe("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{le(i.id);try{this._exportDLS()}catch{qe("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{le(i.id);try{this._exportRMIDI()}catch{qe("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Ek(){let n=(_,e0,i0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?e0:i0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),d=n("IART","",A),p=n("IGNR","",A),O=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),H="locale.exportAudio.formats.formats.rmidi.options.",P="locale.exportAudio.formats.metadata.",W0=qe(this.localeManager.getLocaleString(H+"title"),[{type:"toggle",translatePathTitle:H+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:H+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:P+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:P+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:P+"artist",attributes:{value:d,name:"artist",type:"text"}},{type:"input",translatePathTitle:P+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:P+"comment",attributes:{value:O,name:"comment",type:"text"}},{type:"file",translatePathTitle:P+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:H+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:H+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(H+"confirm"),onClick:async _=>{let e0=_.div.querySelector("input[compress-toggle='1']").checked,i0=parseInt(_.div.querySelector("input[type='range']").value)/10,a1=_.div.querySelector("input[name='album']").value,_1=_.div.querySelector("input[name='artist']").value,f1=_.div.querySelector("input[name='song_title']").value,C2=_.div.querySelector("input[name='comment']").value,u2=_.div.querySelector("input[name='genre']").value,I2=parseInt(_.div.querySelector("input[name='bank_offset']").value),K2=_.div.querySelector("input[name='adjust']").checked,J2=_.div.querySelector("input[type='file']")?.files[0];le(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=qe(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let p3=C5.div.getElementsByClassName("export_rmidi_message")[0],w3=await this.seq.getMIDI(),m6=Ja(w3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Ua(w3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),Cu(m6,w3);let v3=m6.write({compress:e0,compressionQuality:i0,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let x6;J2?.type.split("/")[0]==="image"?x6=await J2.arrayBuffer():w3.RMIDInfo?.IPIC!==void 0&&(x6=w3.RMIDInfo.IPIC.buffer);let u9=Ly(v3,w3,m6,I2,this.seqUI.encoding,{name:f1,comment:C2,engineer:m6.soundFontInfo.IENG,picture:x6,album:a1.length>0?a1:void 0,artist:_1.length>0?_1:void 0,genre:u2.length>0?u2:void 0,midiEncoding:this.seqUI.encoding},K2),P3=new Blob([u9.buffer],{type:"audio/rmid"});this.saveBlob(P3,`${f1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(A0+"done"),le(C5.id),g9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");W0.oninput=()=>{W0.files[0]&&(W0.parentElement.firstChild.textContent=W0.files[0].name)}}var Ck="synthetizer/worklet_processor.min.js";var nC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",d=typeof process=="object"&&typeof vE=="function"&&!c,p=typeof importScripts=="function",O=!c&&!d&&!p;if(d){n.print||(n.print=function(l){process.stdout.write(l+` +Converted from DLS to SF2 with SpessaSynth`;for(let[O,P]of Object.entries(this.soundFontInfo))_5(`%c"${O}": %c"${P}"`,C1.info,C1.recognized);let p=c.find(O=>O.header==="colh");p||(g9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),_5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let U=G7(c,"wvpl");U||(g9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(U);let j=G7(c,"lins");j||(g9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(j),this.presets.sort((O,P)=>O.program-P.program+(O.bank-P.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qo.prototype.readDLSInstrumentList=nk;qo.prototype.readDLSInstrument=ok;qo.prototype.readRegion=$k;qo.prototype.readLart=Ak;qo.prototype.readDLSSamples=ck;var Va=Va!==void 0?Va:{},gk=!1,uk;Va.isInitialized=new Promise(n=>uk=n);var r_=function(n){var i,A,c,d,p,U,j,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",P="",W0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do d=O.indexOf(n.charAt(W0++)),p=O.indexOf(n.charAt(W0++)),U=O.indexOf(n.charAt(W0++)),j=O.indexOf(n.charAt(W0++)),i=d<<2|p>>4,A=(15&p)<<4|U>>2,c=(3&U)<<6|j,P+=String.fromCharCode(i),U!==64&&(P+=String.fromCharCode(A)),j!==64&&(P+=String.fromCharCode(c));while(W01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof W$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):v3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Er(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(p3||w3)&&(p3?document.currentScript&&(x6=document.currentScript.src):x6=self.location.href,x6=x6.indexOf("blob:")!==0?x6.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},w3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var P3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||P3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function Me(R0){var t1=t0;return t0=t0+R0+15&-16,t1}function Wr(R0){var t1=O[f2>>2],y1=t1+R0+15&-16;return O[f2>>2]=y1,y1>=N9&&!Zr()?(O[f2>>2]=t1,0):t1}function er(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function Ka(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Er(t1%8==0),t1/8}}function Ho(R0){Ho.shown||(Ho.shown={}),Ho.shown[R0]||(Ho.shown[R0]=1,w6(R0))}C5=void 0;var Op={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},F$=[];function aC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function T$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Wa=0,vu=0;function Er(R0,t1){R0||tr("Assertion failed: "+t1)}function Za(R0){var t1=A0["_"+R0];return Er(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var qp={stackSave:function(){jp()},stackRestore:function(){K$()},arrayToC:function(R0){var t1,y1,_2=ja(R0.length);return t1=R0,y1=_2,d.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=ja(y1),Yp(R0,t1,y1)}return t1}},Yo={string:qp.stringToC,array:qp.arrayToC};function ku(R0,t1,y1,_2,t6){var E9=Za(R0),X9=[],p6=0;if(_2)for(var v8=0;v8<_2.length;v8++){var H4=Yo[y1[v8]];H4?(p6===0&&(p6=jp()),X9[v8]=H4(_2[v8])):X9[v8]=_2[v8]}var rt,M4=E9.apply(null,X9);return M4=(rt=M4,t1==="string"?G$(rt):t1==="boolean"?!!rt:rt),p6!==0&&K$(p6),M4}function O3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":d[R0>>0]=t1;break;case"i16":U[R0>>1]=t1;break;case"i32":O[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+Du(tempDouble=t1)>=1?tempDouble>0?(0|xu(+_u(tempDouble/4294967296),4294967295))>>>0:~~+J$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],O[R0>>2]=tempI64[0],O[R0+4>>2]=tempI64[1];break;case"float":W0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:tr("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return d[R0>>0];case"i16":return U[R0>>1];case"i32":case"i64":return O[R0>>2];case"float":return W0[R0>>2];case"double":return _[R0>>3];default:tr("invalid type for getValue: "+t1)}return null}function fB(R0,t1,y1,_2){typeof R0=="number"?(E9=!0,X9=R0):(E9=!1,X9=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof Zo=="function"?Zo:Me,ja,Me,Wr][y1===void 0?2:y1](Math.max(X9,t6?1:t1.length)),E9){for(_2=p6,Er((3&p6)==0),v8=p6+(-4&X9);_2>2]=0;for(v8=p6+X9;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var E9,X9,p6,v8,H4,rt,M4,C9=0;C9>0],(_2!=0||t1)&&(X9++,!t1||X9!=t1););t1||(t1=X9);var p6="";if(E9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Hp)return Hp.decode(H4.subarray(rt,M4));for(var C9,Gi,q7,k8,Ui,H7,Y7="";;){if(!(C9=H4[rt++]))return Y7;if(!(128&C9)){Y7+=String.fromCharCode(C9);continue}if(Gi=63&H4[rt++],(224&C9)==192){Y7+=String.fromCharCode((31&C9)<<6|Gi);continue}if(q7=63&H4[rt++],(240&C9)==224?C9=(15&C9)<<12|Gi<<6|q7:(k8=63&H4[rt++],(248&C9)==240?C9=(7&C9)<<18|Gi<<12|q7<<6|k8:(Ui=63&H4[rt++],C9=(252&C9)==248?(3&C9)<<24|Gi<<18|q7<<12|k8<<6|Ui:(1&C9)<<30|Gi<<24|q7<<18|k8<<12|Ui<<6|(H7=63&H4[rt++]))),C9<65536)Y7+=String.fromCharCode(C9);else{var Pn=C9-65536;Y7+=String.fromCharCode(55296|Pn>>10,56320|1023&Pn)}}}(p,y1)}function IB(R0){for(var t1="";;){var y1=d[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function Vo(R0,t1){return function(_2,t6,E9){for(var X9=0;X9<_2.length;++X9)d[t6++>>0]=_2.charCodeAt(X9);E9||(d[t6>>0]=0)}(R0,t1,!1)}var Hp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Gn(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,E9=y1+_2-1,X9=0;X9=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++X9)),p6<=127){if(y1>=E9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=E9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=E9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=E9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=E9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=E9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function Yp(R0,t1,y1){return Gn(R0,p,t1,y1)}function Jo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Vp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function mB(R0){for(var t1=R0,y1=t1>>1;U[y1];)++y1;if((t1=y1<<1)-R0>32&&Vp)return Vp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var E9=U[R0+2*_2>>1];if(E9==0)return t6;++_2,t6+=String.fromCharCode(E9)}}function pB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,E9=0;E9>1]=X9,t1+=2}return U[t1>>1]=0,t1-_2}function EB(R0){return 2*R0.length}function CB(R0){for(var t1=0,y1="";;){var _2=O[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function BB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,E9=0;E9=55296&&X9<=57343&&(X9=65536+((1023&X9)<<10)|1023&R0.charCodeAt(++E9)),O[t1>>2]=X9,(t1+=4)+4>t6)break}return O[t1>>2]=0,t1-_2}function QB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function yB(R0){var t1=Jo(R0)+1,y1=Zo(t1);return y1&&Gn(R0,d,y1,t1),y1}function wB(R0){var t1=Jo(R0)+1,y1=ja(t1);return Gn(R0,d,y1,t1),y1}function Jp(R0){return R0}function $C(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` +`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function Su(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function zp(R0){A0.buffer=c=R0}function j9(){A0.HEAP8=d=new Int8Array(c),A0.HEAP16=U=new Int16Array(c),A0.HEAP32=O=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=j=new Uint16Array(c),A0.HEAPU32=P=new Uint32Array(c),A0.HEAPF32=W0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(O[f2>>2]>t1)return!1;var y1=N9;for(N9=Math.max(N9,16777216);N9>2];)N9=N9<=536870912?Su(2*N9,R0):Math.min(Su((3*N9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(N9);return _2&&_2.byteLength==N9?(zp(_2),j9(),!0):(N9=y1,!1)}q=t0=S1=c1=I2=$2=f2=0,n1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=d;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!gC(t1)&&t1});try{(K2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{K2=function(t1){return t1.byteLength}}var U$=A0.TOTAL_STACK||5242880,N9=A0.TOTAL_MEMORY||16777216;function P$(){return N9}function zo(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}N9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var Du=Math.abs,J$=Math.ceil,_u=Math.floor,xu=Math.min,Un=0,Lu=null,Wo=null;function vB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Zp="data:application/octet-stream;base64,";function z$(R0){return String.prototype.startsWith?R0.startsWith(Zp):R0.indexOf(Zp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";z$(t1)||(t1=u9(t1)),z$(y1)||(y1=u9(y1)),z$(_2)||(_2=u9(_2));var t6={global:null,env:null,asm2wasm:Op,parent:A0},E9=null;function X9(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){tr(M4)}}A0.asmPreload=A0.asm;var v8=A0.reallocBuffer,H4=function(M4){M4=Su(M4,A0.usingWasm?65536:16777216);var C9=A0.buffer.byteLength;if(A0.usingWasm)try{var Gi=A0.wasmMemory.grow((M4-C9)/65536);return Gi!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?v8(M4):H4(M4)};var rt="";A0.asm=function(M4,C9,Gi){var q7;if(!(C9=q7=C9).table){var k8,Ui=A0.wasmTableSize;Ui===void 0&&(Ui=1024);var H7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?H7!==void 0?C9.table=new WebAssembly.Table({initial:Ui,maximum:H7,element:"anyfunc"}):C9.table=new WebAssembly.Table({initial:Ui,element:"anyfunc"}):C9.table=Array(Ui),A0.wasmTable=C9.table}return C9.memoryBase||(C9.memoryBase=A0.STATIC_BASE),C9.tableBase||(C9.tableBase=0),k8=function(Pn,Cr,Xp){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function Mu(Br,ir){if((E9=Br.exports).memory){var Xa,jo,Xo;Xa=E9.memory,jo=A0.buffer,Xa.byteLength0?y1:Jo(R0)+1,t6=Array(_2),E9=Gn(R0,t6,0,t6.length);return t1&&(t6.length=E9),t6}function cC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}t0+=16,f2=Me(4),I2=(S1=c1=er(t0))+U$,$2=er(I2),O[f2>>2]=$2,n1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:tr,assert:Er,enlargeMemory:Zr,getTotalMemory:P$,abortOnCannotGrowMemory:function(){tr("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+N9+", (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 ")},invoke_iii:function(t1,y1,_2){var t6=jp();try{return A0.dynCall_iii(t1,y1,_2)}catch(E9){if(K$(t6),typeof E9!="number"&&E9!=="longjmp")throw E9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){tr("Assertion failed: "+G$(t1)+", at: "+[y1?G$(y1):"unknown filename",_2,t6?G$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(O[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:_u,DYNAMICTOP_PTR:f2,tempDoublePtr:Ni,ABORT:Wa,STACKTOP:c1,STACK_MAX:I2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var gC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Zo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var ja=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},K$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},jp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function W$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function Z$(R0){R0=R0||A0.arguments,!(Un>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)lC(A0.preRun.shift());zo(jr)}(),!(Un>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Wa||(H$||(H$=!0,zo(O$)),zo(bu),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)O7(A0.postRun.shift());zo(q$)}()))}}function uC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Wa=!0,vu=R0,c1=J2,zo(v7),P7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new W$(R0)))}function tr(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(P3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Wa=!0,vu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=ku,A0.cwrap=function(t1,y1,_2,t6){var E9=(_2=_2||[]).every(function(X9){return X9==="number"});return y1!=="string"&&E9&&!t6?Za(t1):function(){return ku(t1,y1,_2,arguments,t6)}},W$.prototype=Error(),W$.prototype.constructor=W$,Wo=function R0(){A0.calledRun||Z$(),A0.calledRun||(Wo=R0)},A0.run=Z$,A0.abort=tr,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,Z$(),A0.onRuntimeInitialized=()=>{gk=!0,uk()},Va.decode=function(R0){return function(y1){if(!gk)throw Error("Not initialized");var _2={};function t6(Cr){return new Int32Array(A0.HEAPU8.buffer,Cr,1)[0]}function E9(Cr,Xp){var Mu=new ArrayBuffer(Xp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(Mu);return bt.set(new Float32Array(A0.HEAPU8.buffer,Cr,Xp)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X9,p6,v8,H4,rt=_2.open(),M4=(X9=y1,p6=y1.byteLength,v8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,v8,p6)).set(new Uint8Array(X9,0,p6)),H4),C9=A0._malloc(4),Gi=A0._malloc(4),q7=_2.decode(rt,M4.byteOffset,M4.byteLength,C9,Gi);if(A0._free(M4.byteOffset),q7<0)throw _2.close(rt),A0._free(C9),Error("stbvorbis decode failed: "+q7);for(var k8=_2.channels(rt),Ui=Array(k8),H7=new Int32Array(A0.HEAPU32.buffer,t6(C9),k8),Y7=0;Y7n.chunkData.currentIndex;){let p=n_(d,n.chunkData,i,A);c.push(p),d++}return c.length>1&&c.pop(),c}function n_(n,i,A,c){let d=y4(i,20),p=s3(i,4)*2,U=s3(i,4)*2,j=s3(i,4),O=s3(i,4),P=s3(i,4),W0=i[i.currentIndex++];W0===255&&(W0=60);let _=_y(i[i.currentIndex++]),q=s3(i,2),t0=s3(i,2);return new nB(d,p,U,j,O,P,W0,_,q,t0,A,n,c)}var oB=class extends u6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ga(i[A+2],i[A+3]),i.currentIndex+=4}};function sB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new oB(n.chunkData));return i.length>1&&i.pop(),i}var aB=class extends yu{constructor(i){super(),this.instrumentName=y4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new aB(n);if(A.length>0){let d=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(d,i)}A.push(c)}return A.length>1&&A.pop(),A}var AB=class extends zr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function fk(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new AB(n.chunkData);if(d.length>0){let U=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,j=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(U,j),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getSample(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var $B=class extends Bu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function Ik(n,i,A,c){let d=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new $B(n.chunkData);if(d.length>0){let U=p.modulatorZoneStartIndex-d[d.length-1].modulatorZoneStartIndex,j=p.generatorZoneStartIndex-d[d.length-1].generatorZoneStartIndex;d[d.length-1].setZoneSize(U,j),d[d.length-1].getGenerators(i),d[d.length-1].getModulators(A),d[d.length-1].getInstrument(c),d[d.length-1].getKeyRange(),d[d.length-1].getVelRange()}d.push(p)}return d.length>1&&d.pop(),d}var lB=class extends Qu{constructor(i,A){super(A),this.presetName=y4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let d=new lB(n,A);if(c.length>0){let p=d.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(d)}return c.length>1&&c.pop(),c}var cB=class extends $e{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ga(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function iC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new cB(n.chunkData));return i}var rC=class extends Ya{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new j5(i),M7("%cParsing SoundFont...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let c=Qe(this.dataArray,!1);this.verifyHeader(c,"riff");let d=y4(this.dataArray,4).toLowerCase();if(d!=="sfbk"&&d!=="sfpk")throw g9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${d}"`);let p=d==="sfpk",U=Qe(this.dataArray);for(this.verifyHeader(U,"list"),y4(U.chunkData,4);U.chunkData.length>U.chunkData.currentIndex;){let m6=Qe(U.chunkData),v3;switch(m6.header.toLowerCase()){case"ifil":case"iver":v3=`${s3(m6.chunkData,2)}.${s3(m6.chunkData,2)}`,this.soundFontInfo[m6.header]=v3;break;case"icmt":v3=y4(m6.chunkData,m6.chunkData.length,void 0,!1),this.soundFontInfo[m6.header]=v3;break;case"dmod":let x6=iC(m6);x6.pop(),v3=`Modulators: ${x6.length}`;let u9=this.defaultModulators;this.defaultModulators=x6,this.defaultModulators.push(...u9.filter(P3=>!this.defaultModulators.find(w6=>$e.isIdentical(P3,w6)))),this.soundFontInfo[m6.header]=m6.chunkData;break;default:v3=y4(m6.chunkData,m6.chunkData.length),this.soundFontInfo[m6.header]=v3}_5(`%c"${m6.header}": %c"${v3}"`,C1.info,C1.recognized)}let j=Qe(this.dataArray,!1);this.verifyHeader(j,"list"),this.verifyText(y4(this.dataArray,4),"sdta"),_5("%cVerifying smpl chunk...",C1.warn);let O=Qe(this.dataArray,!1);this.verifyHeader(O,"smpl");let P;if(p){_5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{P=Va.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+j.size-12)).data[0]}catch(m6){throw g9(),new Error(`SF2Pack Ogg Vorbis decode error: ${m6}`)}_5(`%cDecoded the smpl chunk! Length: %c${P.length}`,C1.info,C1.value)}else P=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;_5(`%cSkipping sample chunk, length: %c${j.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=j.size-12,_5("%cLoading preset data chunk...",C1.warn);let W0=Qe(this.dataArray);this.verifyHeader(W0,"list"),y4(W0.chunkData,4);let _=Qe(W0.chunkData);this.verifyHeader(_,"phdr");let q=Qe(W0.chunkData);this.verifyHeader(q,"pbag");let t0=Qe(W0.chunkData);this.verifyHeader(t0,"pmod");let n1=Qe(W0.chunkData);this.verifyHeader(n1,"pgen");let S1=Qe(W0.chunkData);this.verifyHeader(S1,"inst");let c1=Qe(W0.chunkData);this.verifyHeader(c1,"ibag");let I2=Qe(W0.chunkData);this.verifyHeader(I2,"imod");let $2=Qe(W0.chunkData);this.verifyHeader($2,"igen");let f2=Qe(W0.chunkData);this.verifyHeader(f2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...dk(f2,P,!p));let K2=sB($2),J2=iC(I2),A0=fk(c1,K2,J2,this.samples);this.instruments=hk(S1,A0);let C5=sB(n1),p3=iC(t0),w3=Ik(q,C5,p3,this.instruments);this.presets.push(...mk(_,w3,this.defaultModulators)),this.presets.sort((m6,v3)=>m6.program-v3.program+(m6.bank-v3.bank)),_5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Ja(n){let i=n.slice(8,12),A=new j5(i);return y4(A,4,void 0,!1).toLowerCase()==="dls "?new qo(n):new rC(n,!1)}async function pk(){let n="locale.exportAudio.formats.formats.soundfont.options.";qe(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,d=parseInt(i.div.querySelector("input[type='range']").value)/10;le(i.id),M7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),U=Ja(p.embeddedSoundFont||this.soundFont);Ua(p,await this.synth.getSynthesizerSnapshot()),A&&Cu(U,p);let j=U.write({compress:c,compressionQuality:d,compressionFunction:this.compressionFunc}),O=new Blob([j.buffer],{type:"audio/soundfont"}),P=U.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(O,`${U.soundFontInfo.INAM||"unnamed"}.${P}`),g9()}}],99999999,!0,this.localeManager)}async function Ek(){let n="locale.exportAudio.formats.";qe(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{le(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{le(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{le(i.id);try{this._exportSoundfont()}catch{qe("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{le(i.id);try{this._exportDLS()}catch{qe("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{le(i.id);try{this._exportRMIDI()}catch{qe("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function Ck(){let n=(_,q,t0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?q:t0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),d=n("IART","",A),p=n("IGNR","",A),U=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),j="locale.exportAudio.formats.formats.rmidi.options.",O="locale.exportAudio.formats.metadata.",W0=qe(this.localeManager.getLocaleString(j+"title"),[{type:"toggle",translatePathTitle:j+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:j+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:O+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:O+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:O+"artist",attributes:{value:d,name:"artist",type:"text"}},{type:"input",translatePathTitle:O+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:O+"comment",attributes:{value:U,name:"comment",type:"text"}},{type:"file",translatePathTitle:O+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:j+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:j+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(j+"confirm"),onClick:async _=>{let q=_.div.querySelector("input[compress-toggle='1']").checked,t0=parseInt(_.div.querySelector("input[type='range']").value)/10,n1=_.div.querySelector("input[name='album']").value,S1=_.div.querySelector("input[name='artist']").value,c1=_.div.querySelector("input[name='song_title']").value,I2=_.div.querySelector("input[name='comment']").value,$2=_.div.querySelector("input[name='genre']").value,f2=parseInt(_.div.querySelector("input[name='bank_offset']").value),K2=_.div.querySelector("input[name='adjust']").checked,J2=_.div.querySelector("input[type='file']")?.files[0];le(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=qe(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let p3=C5.div.getElementsByClassName("export_rmidi_message")[0],w3=await this.seq.getMIDI(),m6=Ja(w3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Ua(w3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),Cu(m6,w3);let v3=m6.write({compress:q,compressionQuality:t0,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let x6;J2?.type.split("/")[0]==="image"?x6=await J2.arrayBuffer():w3.RMIDInfo?.IPIC!==void 0&&(x6=w3.RMIDInfo.IPIC.buffer);let u9=xy(v3,w3,m6,f2,this.seqUI.encoding,{name:c1,comment:I2,engineer:m6.soundFontInfo.IENG,picture:x6,album:n1.length>0?n1:void 0,artist:S1.length>0?S1:void 0,genre:$2.length>0?$2:void 0,midiEncoding:this.seqUI.encoding},K2),P3=new Blob([u9.buffer],{type:"audio/rmid"});this.saveBlob(P3,`${c1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(A0+"done"),le(C5.id),g9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");W0.oninput=()=>{W0.files[0]&&(W0.parentElement.firstChild.textContent=W0.files[0].name)}}var Bk="synthetizer/worklet_processor.min.js";var nC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",d=typeof process=="object"&&typeof vE=="function"&&!c,p=typeof importScripts=="function",U=!c&&!d&&!p;if(d){n.print||(n.print=function(l){process.stdout.write(l+` `)}),n.printErr||(n.printErr=function(l){process.stderr.write(l+` -`)});var H=void 0,P=void 0;n.read=function(l,u){l=P.normalize(l);var f=H.readFileSync(l);return!f&&l!=P.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=H.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){W0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof eA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(O)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return t4(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var U=!1;n.print||(n.print=U&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function W0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){W0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return v7},stackRestore:function(r){v7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return t4(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(t4((r&7)===4),r+=4):t4((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){t4(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=v7;return v7=v7+r|0,v7=v7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=P7;if(P7=P7+r|0,P7=P7+15&-16,P7>=Ko){var u=lC();if(!u)return P7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var e0=0,i0=!1,a1=0,_1=0,f1,C2,u2,I2,K2,J2,A0,C5,p3,w3,m6,v3,x6,u9,P3,w6,Me,Wr,er,Ka,Ho,Op,F$,aC,vk;function t4(r,l){r||es("Assertion failed: "+l)}var kk=this;function AC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return t4(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var T$,Wa;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return ja(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),Zo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Wa=function(r1,x2,s,l1,C){var k5=AC(r1),w2=[],P5=0;if(l1)for(var G9=0;G9>0]=l;break;case"i8":j9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":N9[r>>2]=l;break;case"i64":u9=[l>>>0,(v3=l,+Z$(v3)>=1?v3>0?(Gi(+H4(v3/4294967296),4294967295)|0)>>>0:~~+v8((v3-+(~~v3>>>0))/4294967296)>>>0:0)],N9[r>>2]=u9[0],N9[r+4>>2]=u9[1];break;case"float":X$[r>>2]=l;break;case"double":P$[r>>3]=l;break;default:es("invalid type for setValue: "+u)}}n.setValue=vu;function Er(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return j9[r>>0];case"i8":return j9[r>>0];case"i16":return Zr[r>>1];case"i32":return N9[r>>2];case"i64":return N9[r>>2];case"float":return X$[r>>2];case"double":return P$[r>>3];default:es("invalid type for setValue: "+l)}return null}n.getValue=Er;var Za=0,qp=1,Yo=2,ku=3,O3=4;n.ALLOC_NORMAL=Za,n.ALLOC_STACK=qp,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=O3;function C3(r,l,u,f){var Y,e;typeof r=="number"?(Y=!0,e=r):(Y=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==O3?r1=f:r1=[Ru,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Yo:u](Math.max(e,X0?1:l.length)),Y){var f=r1,x2;for(t4((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?k7.set(r,r1):k7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(Y++,l&&Y==l)););l||(l=Y);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,k7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=N$;function G$(r){for(var l="";;){var u=j9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=G$;function mB(r,l){return K$(r,l,!1)}n.stringToAscii=mB;function Vo(r,l){for(var u,f,Y,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(Y=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|Y:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|Y<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|Y<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|Y<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=Vo;function Hp(r){return Vo(k7,r)}n.UTF8ToString=Hp;function Gn(r,l,u,f){if(!(f>0))return 0;for(var Y=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-Y}n.stringToUTF8Array=Gn;function Yp(r,l,u){return Gn(r,k7,l,u)}n.stringToUTF8=Yp;function Jo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Vp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Vp;function pB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,Y=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=pB;function EB(r){return r.length*2}n.lengthBytesUTF16=EB;function CB(r){for(var l=0,u="";;){var f=N9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var Y=f-65536;u+=String.fromCharCode(55296|Y>>10,56320|Y&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=CB;function BB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,Y=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(N9[l>>2]=X0,l+=4,l+4>Y)break}return N9[l>>2]=0,l-f}n.stringToUTF32=BB;function QB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=QB;function yB(r){var l=!!n.___cxa_demangle;if(l)try{var u=Ru(r.length);Zo(r.substr(1),u);var f=Ru(4),Y=n.___cxa_demangle(u,0,0,f);if(Er(f,"i32")===0&&Y)return N$(Y)}catch{}finally{u&&hC(u),f&&hC(f),Y&&hC(Y)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",G9=0;G9"}else K9=te;e:for(;e0;){var Qr=r[e++];if(Qr in X0)ye.push(X0[Qr]);else switch(Qr){case"P":ye.push(C(!0,1,!0)[0]+"*");break;case"R":ye.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var tl=r.indexOf("E",e),It=tl-e;ye.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,ye.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:K9+="?"+Qr;break e}}return!G9&&ye.length===1&&ye[0]==="void"&&(ye=[]),w2?(K9&&ye.push(K9+"?"),ye):K9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=N$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function wB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=yB(l);return l===u?l:l+" ["+u+"]"})}function vB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Jp(){return wB(vB())}n.stackTrace=Jp;var $C=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var zp,j9,k7,Zr,U$,N9,j$,X$,P$,zo=0,jr=0,O$=!1,bu=0,v7=0,q$=0,H$=0,P7=0;function lC(){es("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ko+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Kp=n.TOTAL_STACK||5242880,Ko=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Wp=[],V$=[],Du=[],J$=[],_u=[],xu=!1,Un=!1;function Lu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Ni(n.preRun.shift());Y$(Wp)}function Wo(){xu||(xu=!0,Y$(V$))}function kB(){Y$(Du)}function Zp(){Y$(J$),Un=!0}function z$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)cC(n.postRun.shift());Y$(_u)}function Ni(r){Wp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Ni;function SB(r){V$.unshift(r)}n.addOnInit=n.addOnInit=SB;function bB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=bB;function DB(r){J$.unshift(r)}n.addOnExit=n.addOnExit=DB;function cC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=cC;function en(r,l,u){var f=u>0?u:Jo(r)+1,Y=new Array(f),e=Gn(r,Y,0,Y.length);return l&&(Y.length=e),Y}n.intArrayFromString=en;function gC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=gC;function Zo(r,l,u){for(var f=en(r,u),Y=0;Y>0]=e,Y=Y+1}}n.writeStringToMemory=Zo;function ja(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=ja;function K$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(j9[l>>0]=0)}n.writeAsciiToMemory=K$;function jp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,Y=l&65535,e=u>>>16,X0=u&65535;return Y*X0+(f*X0+Y*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var Z$=Math.abs,uC=Math.cos,tr=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,E9=Math.exp,X9=Math.log,p6=Math.sqrt,v8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,C9=Math.fround,Gi=Math.min,q7=Math.clz32,k8=0,Ui=null,H7=null;function Y7(r){return r}function Pn(r){k8++,n.monitorRunDependencies&&n.monitorRunDependencies(k8)}n.addRunDependency=Pn;function Cr(r){if(k8--,n.monitorRunDependencies&&n.monitorRunDependencies(k8),k8==0&&(Ui!==null&&(clearInterval(Ui),Ui=null),H7)){var l=H7;H7=null,l()}}n.removeRunDependency=Cr,n.preloadedImages={},n.preloadedAudios={};var Xp=null,Mu=[];zo=8,jr=zo+553552,V$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",O3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",O3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",O3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",O3,_.GLOBAL_BASE+41032),C3([1],"i8",O3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",O3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",O3,_.GLOBAL_BASE+72464),C3([1],"i8",O3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",O3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",O3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",O3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",O3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",O3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",O3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",O3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",O3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",O3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",O3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",O3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",O3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",O3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",O3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",O3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",O3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",O3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",O3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",O3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",O3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",O3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",O3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",O3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",O3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",O3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",O3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",O3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",O3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",O3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",O3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",O3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Yo),8);t4(bt%8==0);function dC(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3]}function Br(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3],j9[bt+4]=j9[r+4],j9[bt+5]=j9[r+5],j9[bt+6]=j9[r+6],j9[bt+7]=j9[r+7]}var ir=uC,Xa=Z$,jo=0;function Xo(r){return N9[jo>>2]=r,r}var T2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function _B(r){switch(r){case 30:return $C;case 85:return Xr/$C;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Xo(T2.EINVAL),-1}n._memset=AS;var xB=!0;n._strlen=nS,n._strcat=oS,n._bitshift64Shl=gS;function Sk(){n.abort()}n._i64Add=sS;var bk=H4,Dk={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"},On={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){On.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,On.stream_ops)},stream_ops:{open:function(r){var l=On.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(T2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,Y){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(T2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,Y).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` +`)});var j=void 0,O=void 0;n.read=function(l,u){l=O.normalize(l);var f=j.readFileSync(l);return!f&&l!=O.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=j.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){W0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof eA))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(U)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return t4(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var P=!1;n.print||(n.print=P&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function W0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){W0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return v7},stackRestore:function(r){v7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return t4(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(t4((r&7)===4),r+=4):t4((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){t4(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=v7;return v7=v7+r|0,v7=v7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=P7;if(P7=P7+r|0,P7=P7+15&-16,P7>=Ko){var u=lC();if(!u)return P7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var q=0,t0=!1,n1=0,S1=0,c1,I2,$2,f2,K2,J2,A0,C5,p3,w3,m6,v3,x6,u9,P3,w6,Me,Wr,er,Ka,Ho,Op,F$,aC,kk;function t4(r,l){r||es("Assertion failed: "+l)}var Sk=this;function AC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return t4(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var T$,Wa;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return ja(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),Zo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Wa=function(r1,x2,s,l1,C){var k5=AC(r1),w2=[],P5=0;if(l1)for(var G9=0;G9>0]=l;break;case"i8":j9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":N9[r>>2]=l;break;case"i64":u9=[l>>>0,(v3=l,+Z$(v3)>=1?v3>0?(Gi(+H4(v3/4294967296),4294967295)|0)>>>0:~~+v8((v3-+(~~v3>>>0))/4294967296)>>>0:0)],N9[r>>2]=u9[0],N9[r+4>>2]=u9[1];break;case"float":X$[r>>2]=l;break;case"double":P$[r>>3]=l;break;default:es("invalid type for setValue: "+u)}}n.setValue=vu;function Er(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return j9[r>>0];case"i8":return j9[r>>0];case"i16":return Zr[r>>1];case"i32":return N9[r>>2];case"i64":return N9[r>>2];case"float":return X$[r>>2];case"double":return P$[r>>3];default:es("invalid type for setValue: "+l)}return null}n.getValue=Er;var Za=0,qp=1,Yo=2,ku=3,O3=4;n.ALLOC_NORMAL=Za,n.ALLOC_STACK=qp,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=ku,n.ALLOC_NONE=O3;function C3(r,l,u,f){var Y,e;typeof r=="number"?(Y=!0,e=r):(Y=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==O3?r1=f:r1=[Ru,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Yo:u](Math.max(e,X0?1:l.length)),Y){var f=r1,x2;for(t4((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?k7.set(r,r1):k7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(Y++,l&&Y==l)););l||(l=Y);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,k7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=N$;function G$(r){for(var l="";;){var u=j9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=G$;function IB(r,l){return K$(r,l,!1)}n.stringToAscii=IB;function Vo(r,l){for(var u,f,Y,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(Y=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|Y:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|Y<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|Y<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|Y<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=Vo;function Hp(r){return Vo(k7,r)}n.UTF8ToString=Hp;function Gn(r,l,u,f){if(!(f>0))return 0;for(var Y=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-Y}n.stringToUTF8Array=Gn;function Yp(r,l,u){return Gn(r,k7,l,u)}n.stringToUTF8=Yp;function Jo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Vp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Vp;function mB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,Y=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=mB;function pB(r){return r.length*2}n.lengthBytesUTF16=pB;function EB(r){for(var l=0,u="";;){var f=N9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var Y=f-65536;u+=String.fromCharCode(55296|Y>>10,56320|Y&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=EB;function CB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,Y=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(N9[l>>2]=X0,l+=4,l+4>Y)break}return N9[l>>2]=0,l-f}n.stringToUTF32=CB;function BB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=BB;function QB(r){var l=!!n.___cxa_demangle;if(l)try{var u=Ru(r.length);Zo(r.substr(1),u);var f=Ru(4),Y=n.___cxa_demangle(u,0,0,f);if(Er(f,"i32")===0&&Y)return N$(Y)}catch{}finally{u&&hC(u),f&&hC(f),Y&&hC(Y)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",G9=0;G9"}else K9=te;e:for(;e0;){var Qr=r[e++];if(Qr in X0)ye.push(X0[Qr]);else switch(Qr){case"P":ye.push(C(!0,1,!0)[0]+"*");break;case"R":ye.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var tl=r.indexOf("E",e),It=tl-e;ye.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,ye.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:K9+="?"+Qr;break e}}return!G9&&ye.length===1&&ye[0]==="void"&&(ye=[]),w2?(K9&&ye.push(K9+"?"),ye):K9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=N$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function yB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=QB(l);return l===u?l:l+" ["+u+"]"})}function wB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Jp(){return yB(wB())}n.stackTrace=Jp;var $C=4096;function Su(r){return r%4096>0&&(r+=4096-r%4096),r}var zp,j9,k7,Zr,U$,N9,j$,X$,P$,zo=0,jr=0,O$=!1,bu=0,v7=0,q$=0,H$=0,P7=0;function lC(){es("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ko+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Kp=n.TOTAL_STACK||5242880,Ko=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Wp=[],V$=[],Du=[],J$=[],_u=[],xu=!1,Un=!1;function Lu(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Ni(n.preRun.shift());Y$(Wp)}function Wo(){xu||(xu=!0,Y$(V$))}function vB(){Y$(Du)}function Zp(){Y$(J$),Un=!0}function z$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)cC(n.postRun.shift());Y$(_u)}function Ni(r){Wp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Ni;function kB(r){V$.unshift(r)}n.addOnInit=n.addOnInit=kB;function SB(r){Du.unshift(r)}n.addOnPreMain=n.addOnPreMain=SB;function bB(r){J$.unshift(r)}n.addOnExit=n.addOnExit=bB;function cC(r){_u.unshift(r)}n.addOnPostRun=n.addOnPostRun=cC;function en(r,l,u){var f=u>0?u:Jo(r)+1,Y=new Array(f),e=Gn(r,Y,0,Y.length);return l&&(Y.length=e),Y}n.intArrayFromString=en;function gC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=gC;function Zo(r,l,u){for(var f=en(r,u),Y=0;Y>0]=e,Y=Y+1}}n.writeStringToMemory=Zo;function ja(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=ja;function K$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(j9[l>>0]=0)}n.writeAsciiToMemory=K$;function jp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,Y=l&65535,e=u>>>16,X0=u&65535;return Y*X0+(f*X0+Y*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var Z$=Math.abs,uC=Math.cos,tr=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,E9=Math.exp,X9=Math.log,p6=Math.sqrt,v8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,C9=Math.fround,Gi=Math.min,q7=Math.clz32,k8=0,Ui=null,H7=null;function Y7(r){return r}function Pn(r){k8++,n.monitorRunDependencies&&n.monitorRunDependencies(k8)}n.addRunDependency=Pn;function Cr(r){if(k8--,n.monitorRunDependencies&&n.monitorRunDependencies(k8),k8==0&&(Ui!==null&&(clearInterval(Ui),Ui=null),H7)){var l=H7;H7=null,l()}}n.removeRunDependency=Cr,n.preloadedImages={},n.preloadedAudios={};var Xp=null,Mu=[];zo=8,jr=zo+553552,V$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",O3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",O3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",O3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",O3,_.GLOBAL_BASE+41032),C3([1],"i8",O3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",O3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",O3,_.GLOBAL_BASE+72464),C3([1],"i8",O3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",O3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",O3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",O3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",O3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",O3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",O3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",O3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",O3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",O3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",O3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",O3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",O3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",O3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",O3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",O3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",O3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",O3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",O3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",O3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",O3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",O3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",O3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",O3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",O3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",O3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",O3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",O3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",O3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",O3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",O3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",O3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Yo),8);t4(bt%8==0);function dC(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3]}function Br(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3],j9[bt+4]=j9[r+4],j9[bt+5]=j9[r+5],j9[bt+6]=j9[r+6],j9[bt+7]=j9[r+7]}var ir=uC,Xa=Z$,jo=0;function Xo(r){return N9[jo>>2]=r,r}var T2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function DB(r){switch(r){case 30:return $C;case 85:return Xr/$C;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Xo(T2.EINVAL),-1}n._memset=$S;var _B=!0;n._strlen=oS,n._strcat=sS,n._bitshift64Shl=uS;function bk(){n.abort()}n._i64Add=aS;var Dk=H4,_k={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"},On={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){On.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,On.stream_ops)},stream_ops:{open:function(r){var l=On.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(T2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,Y){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(T2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,Y).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` `)):typeof readline=="function"&&(l=readline(),l!==null&&(l+=` -`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(Vo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Vo(r.output,0)),r.output=[])}}},M9={ops_table:null,mount:function(r){return M9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(T2.EPERM);M9.ops_table||(M9.ops_table={dir:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,lookup:M9.node_ops.lookup,mknod:M9.node_ops.mknod,rename:M9.node_ops.rename,unlink:M9.node_ops.unlink,rmdir:M9.node_ops.rmdir,readdir:M9.node_ops.readdir,symlink:M9.node_ops.symlink},stream:{llseek:M9.stream_ops.llseek}},file:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:{llseek:M9.stream_ops.llseek,read:M9.stream_ops.read,write:M9.stream_ops.write,allocate:M9.stream_ops.allocate,mmap:M9.stream_ops.mmap,msync:M9.stream_ops.msync}},link:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,readlink:M9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:k.chrdev_stream_ops}});var Y=k.createNode(r,l,u,f);return k.isDir(Y.mode)?(Y.node_ops=M9.ops_table.dir.node,Y.stream_ops=M9.ops_table.dir.stream,Y.contents={}):k.isFile(Y.mode)?(Y.node_ops=M9.ops_table.file.node,Y.stream_ops=M9.ops_table.file.stream,Y.usedBytes=0,Y.contents=null):k.isLink(Y.mode)?(Y.node_ops=M9.ops_table.link.node,Y.stream_ops=M9.ops_table.link.stream):k.isChrdev(Y.mode)&&(Y.node_ops=M9.ops_table.chrdev.node,Y.stream_ops=M9.ops_table.chrdev.stream),Y.timestamp=Date.now(),r&&(r.contents[l]=Y),Y},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=M9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(Y.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-Y,f);if(t4(X0>=0),X0>8&&e.subarray)l.set(e.subarray(Y,Y+X0),u);else for(var r1=0;r10||Y+fP5.timestamp)&&(Y.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([S8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(S8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},Y.sort().forEach(function(k5){l.type==="local"?S8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);S8.storeLocalEntry(k5,P5,C)}):S8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);S8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?S8.removeLocalEntry(k5,C):S8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return t4(d),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(T2.EINVAL);var Y=k.createNode(r,l,u);return Y.node_ops=ft.node_ops,Y.stream_ops=ft.stream_ops,Y},getMode:function(r){var l;try{l=b8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),m9.join.apply(null,l)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=b8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(b8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);b8.utimesSync(u,f,f)}l.size!==void 0&&b8.truncateSync(u,l.size)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},lookup:function(r,l){var u=m9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var Y=ft.createNode(r,l,u,f),e=ft.realPath(Y);try{k.isDir(Y.mode)?b8.mkdirSync(e,Y.mode):b8.writeFileSync(e,"",{mode:Y.mode})}catch(X0){throw X0.code?new k.ErrnoError(T2[X0.code]):X0}return Y},rename:function(r,l,u){var f=ft.realPath(r),Y=m9.join2(ft.realPath(l),u);try{b8.renameSync(f,Y)}catch(e){throw e.code?new k.ErrnoError(T2[e.code]):e}},unlink:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},rmdir:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return b8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},symlink:function(r,l,u){var f=m9.join2(ft.realPath(r),l);try{b8.symlinkSync(u,f)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},readlink:function(r){var l=ft.realPath(r);try{return l=b8.readlinkSync(l),l=RB.relative(RB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=b8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&b8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(T2[l.code]):l}},read:function(r,l,u,f,Y){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=b8.readSync(r.nfd,e,0,f,Y)}catch(x2){throw new k.ErrnoError(T2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(T2.ELOOP);for(var Y=m9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(T2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),Y=k.nameTable[f];Y;Y=Y.name_next){var e=Y.name;if(Y.parent.id===r.id&&e===l)return Y}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var Y=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&Y)===Y},set:function(r1){r1?this.mode|=Y:this.mode&=~Y}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?T2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:T2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return T2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var Y=k.nodePermissions(r,"wx");if(Y)return Y;if(u){if(!k.isDir(f.mode))return T2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return T2.EBUSY}else if(k.isDir(f.mode))return T2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?T2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?T2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):T2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(T2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var Y in r)f[Y]=r[Y];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(T2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function Y(e){if(e)return Y.errored?void 0:(Y.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return Y(null);e.type.syncfs(e,r,Y)})},mount:function(r,l,u){var f=u==="/",Y=!u,e;if(f&&k.root)throw new k.ErrnoError(T2.EBUSY);if(!f&&!Y){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(T2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(T2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(T2.EINVAL);var u=l.node,f=u.mounted,Y=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;Y.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);t4(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),Y=f.node,e=m9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(T2.EINVAL);var X0=k.mayCreate(Y,e);if(X0)throw new k.ErrnoError(X0);if(!Y.node_ops.mknod)throw new k.ErrnoError(T2.EPERM);return Y.node_ops.mknod(Y,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!m9.resolve(r))throw new k.ErrnoError(T2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);var Y=m9.basename(l),e=k.mayCreate(f,Y);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(T2.EPERM);return f.node_ops.symlink(f,Y,r)},rename:function(r,l){var u=m9.dirname(r),f=m9.dirname(l),Y=m9.basename(r),e=m9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(T2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(T2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(T2.EXDEV);var s=k.lookupNode(r1,Y),l1=m9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(T2.EINVAL);if(l1=m9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(T2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,Y,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(T2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(T2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===T2.EISDIR&&(e=T2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(T2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(T2.EINVAL);return m9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(T2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var Y=k.lookupPath(r,{follow:!u});f=Y.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var Y;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});Y=e.node}else Y=r;if(!Y.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);Y.node_ops.setattr(Y,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(T2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(T2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(T2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(T2.EINVAL);var Y=k.nodePermissions(u,"w");if(Y)throw new k.ErrnoError(Y);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(T2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),Y=f.node;Y.node_ops.setattr(Y,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,Y){if(r==="")throw new k.ErrnoError(T2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=m9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(T2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(T2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,Y);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(T2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,Y){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(T2.EINVAL);var e=!0;if(typeof Y>"u")Y=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,Y);return e||(r.position+=X0),X0},write:function(r,l,u,f,Y,e){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(T2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof Y>"u")Y=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,Y,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(T2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(T2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,Y,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(T2.ENODEV);return r.stream_ops.mmap(r,l,u,f,Y,e,X0)},msync:function(r,l,u,f,Y){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,Y)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(T2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),Y=k.stat(r),e=Y.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=Vo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var Y=new Uint8Array(Jo(l)+1),e=Gn(l,Y,0,Y.length);k.write(f,Y,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(T2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,Y,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),On.register(k.makedev(5,0),On.default_tty_ops),On.register(k.makedev(6,0),On.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else d?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");N9[_k>>2]=k.getPtrForStream(r),t4(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");N9[xk>>2]=k.getPtrForStream(l),t4(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");N9[Lk>>2]=k.getPtrForStream(u),t4(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var Y in T2)if(T2[Y]===f){this.code=Y;break}},this.setErrno(l),this.message=Dk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[T2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(M9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){t4(!k.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)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,G9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",K9=1024*1024;G9||(K9=w2);var ye=function(te,It){if(te>It)throw new Error("invalid range ("+te+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var i4=new XMLHttpRequest;if(i4.open("GET",u,!1),w2!==K9&&i4.setRequestHeader("Range","bytes="+te+"-"+It),typeof Uint8Array<"u"&&(i4.responseType="arraybuffer"),i4.overrideMimeType&&i4.overrideMimeType("text/plain; charset=x-user-defined"),i4.send(null),!(i4.status>=200&&i4.status<300||i4.status===304))throw new Error("Couldn't load "+u+". Status: "+i4.status);return i4.response!==void 0?new Uint8Array(i4.response||[]):en(i4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(te){var It=te*K9,i4=(te+1)*K9-1;if(i4=Math.min(i4,w2-1),typeof Dt.chunks[te]>"u"&&(Dt.chunks[te]=ye(It,i4)),typeof Dt.chunks[te]>"u")throw new Error("doXHR failed!");return Dt.chunks[te]}),this._length=w2,this._chunkSize=K9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,Y);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,G9,K9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);var ye=k5.node.contents;if(K9>=ye.length)return 0;var Dt=Math.min(ye.length-K9,G9);if(t4(Dt>=0),ye.slice)for(var te=0;te=0;f--){var Y=r[f];Y==="."?r.splice(f,1):Y===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=m9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=m9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return m9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return m9.normalize(r.join("/"))},join2:function(r,l){return m9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=m9.normalizeArray(r.split("/").filter(function(Y){return!!Y}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=m9.resolve(r).substr(1),l=m9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),Y=u(l.split("/")),e=Math.min(f.length,Y.length),X0=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?eE(0,1e3/l):eE(1,1),J1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,u=J1.mainLoop.func;J1.mainLoop.func=null,LB(u,0,!1,J1.mainLoop.arg,!0),eE(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,u=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){t4(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var G9=P5.getContext("2d");G9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(G9){s||(s=!0,n.preloadedAudios[X0]=G9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(X0)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(K9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function ye(Dt){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",i4="",V7=0,J7=0,Qr=0;Qr=6;){var tl=V7>>J7-6&63;J7-=6,i4+=te[tl]}return J7==2?(i4+=te[(V7&3)<<4],i4+=It+It):J7==4&&(i4+=te[(V7&15)<<2],i4+=It),i4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+ye(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(Y){!J1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),Y.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var Y,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(Y=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else Y=r.getContext("2d");return Y?(u&&(l||t4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=Y,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),Y):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=u,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function Y(){J1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",Y,!1),document.addEventListener("mozfullscreenchange",Y,!1),document.addEventListener("webkitfullscreenchange",Y,!1),document.addEventListener("MSFullscreenChange",Y,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var u=Math.max(J1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!i0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){i0||J1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,Y=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(Y+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")J1.lastTouches[X0.identifier]=s,J1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[X0.identifier];l1||(l1=s),J1.lastTouches[X0.identifier]=l1,J1.touches[X0.identifier]=s}return}var C=r.pageX-(Y+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){J1.xhrLoad(r,function(Y){t4(Y,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(Y)),f||Cr("al "+r)},function(Y){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||Pn("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),u||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=j$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=j$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,Y=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/Y>2]=l),l}function zk(){n.printErr("missing function: floor0_exportbundle"),es(-1)}if(jo=_.staticAlloc(4),N9[jo>>2]=0,n.requestFullScreen=function(l,u,f){J1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){J1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,u,f,Y){return J1.createContext(l,u,f,Y)},k.staticInit(),V$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),Du.push(function(){k.ignorePermissions=!1}),J$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,V$.unshift(function(){On.init()}),J$.push(function(){On.shutdown()}),d)var b8=void 0,RB=void 0;bu=v7=_.alignMemory(jr),O$=!0,q$=bu+Kp,H$=P7=_.alignMemory(q$),t4(H$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function O_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function SS(t){t=t|0,j6=t}function bS(){return j6|0}function mC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=R9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function DS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,h=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&h,Q=E&255,f[y>>0]=Q)}function O2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;H0=C,h=a>>>0>32;do if(!h){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)N=g;else{if(T0=(g|0)==0,T0)return;if(J0=(a0|0)>2147483391,J0||(q0=t+8|0,Z0=e[q0>>2]|0,I=a0+256|0,E=K7(Z0,I)|0,Q=(E|0)==0,Q))break;e[q0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,N=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,G=T&255,V=G|F,X=V&255,f[N>>0]=X,K=(R|0)>7;do if(K&&(W=e[M>>2]|0,r0=8-W|0,s0=y>>>r0,J=s0&255,o0=e[$>>2]|0,q=o0+1|0,f[q>>0]=J,d0=(R|0)>15,d0&&(t0=e[M>>2]|0,j=16-t0|0,u0=y>>>j,$0=u0&255,l0=e[$>>2]|0,Z=l0+2|0,f[Z>>0]=$0,I0=(R|0)>23,I0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,h0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=h0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,K0=_0+4|0,f[K0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,U0=e[t>>2]|0,O0=U0+N0|0,e[t>>2]=O0,k0=e[$>>2]|0,V0=k0+N0|0,e[$>>2]=V0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,z0=(G0|0)==0,z0||p2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function pC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;h=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||p2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function Ii(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,h=e[g>>2]|0,e[o>>2]=h,m=h,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function EC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,X=t+4|0,j=e[X>>2]|0,p0=j+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,h=(S0|0)<(E0|0),!h){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>j,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-j|0,T=R<16,G?(V=b+2|0,K=f[V>>0]|0,a0=K&255,W=16-j|0,r0=a0<24,J?(o0=b+3|0,q=f[o0>>0]|0,d0=q&255,t0=24-j|0,u0=d0<>0]|0,g0=I0&255,f0=32-j|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,h=t+12|0,m=e[h>>2]|0,I=m+g|0,e[h>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function n4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,h=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,Z=e[s0>>2]|0,E0=Z+o|0,T0=e[t>>2]|0,N0=t+16|0,U0=e[N0>>2]|0,O0=U0+-4|0,B=(T0|0)<(O0|0),!B){if(S=E0+7|0,b=S>>3,v=U0-b|0,w=(T0|0)>(v|0),w){h=t,m=s0,v0=U0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>Z,T=(E0|0)>8,T?(N=x+1|0,G=f[N>>0]|0,V=G&255,X=8-Z|0,K=V<16,W?(r0=x+2|0,J=f[r0>>0]|0,o0=J&255,q=16-Z|0,d0=o0<24,j?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-Z|0,I0=$0<>0]|0,C0=p0&255,S0=32-Z|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,K0=E0&7,e[s0>>2]=K0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[h>>2]=v0,e[m>>2]=1,a=-1,a|0}function D8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,h=(g|0)/8&-1,m=h+o|0,m|0}function $Q(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function _S(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;if(T=C,g=(t|0)==0,g)return a=-1,a|0;u4(t|0,0,360)|0,h=t+4|0,e[h>>2]=16384,b=t+24|0,e[b>>2]=1024,v=R9(16384)|0,e[t>>2]=v,w=R9(4096)|0,D=t+16|0,e[D>>2]=w,y=R9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){p2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||p2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||p2(Q),u4(t|0,0,360)|0,a=-1,a|0}function xS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||p2(a),g=t+16|0,h=e[g>>2]|0,m=(h|0)==0,m||p2(h),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||p2(E),u4(t|0,0,360)|0),0}function LS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0;if(U0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,G=e[t>>2]|0,d0=G+23|0,f[d0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(h=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=h+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,T=(F|0)<($|0),T)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(N=M0<<8,V=M0>>>24,X=B+T0|0,K=f[X>>0]|0,a0=K&255,W=a0^V,r0=144+(W<<2)|0,s0=e[r0>>2]|0,J=s0^N,o0=T0+1|0,q=(o0|0)<(I|0),q)M0=J,T0=o0;else{K0=J;break}else K0=B0;t0=K0&255,j=e[t>>2]|0,u0=j+22|0,f[u0>>0]=t0,c0=K0>>>8,$0=c0&255,l0=e[t>>2]|0,Z=l0+23|0,f[Z>>0]=$0,I0=K0>>>16,g0=I0&255,f0=e[t>>2]|0,h0=f0+24|0,f[h0>>0]=g0,p0=K0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function MS(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0;if(m2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(f2=0,k2=0;;){if(S1=(o+(k2<<3)|0)+4|0,q1=e[S1>>2]|0,s2=(q1|0)<0,w=2147483647-q1|0,V=(f2|0)>(w|0),N2=s2|V,N2){I=-1;break}if(t0=q1+f2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)f2=t0,k2=c0;else{o2=t0;break e}}return I|0}else o2=0;while(!1);l0=(o2|0)/255&-1,Z=l0+1|0,I0=t+12|0,g0=e[I0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(h0=e[v>>2]|0,p0=h0-g0|0,e[v>>2]=p0,C0=(h0|0)==(g0|0),C0||(S0=_0+g0|0,oA(_0|0,S0|0,p0|0)|0),e[I0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-o2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-o2|0,K0=(b0|0)>(B0|0),K0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||p2(M0),T0=t+16|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||p2(N0),O0=t+20|0,k0=e[O0>>2]|0,V0=(k0|0)==0,V0||p2(k0),u4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+o2|0,G0=(F0|0)<2147482623,z0=F0+1024|0,m=G0?z0:F0,J0=e[t>>2]|0,q0=K7(J0,m)|0,Z0=(q0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=q0;break}return P0=e[t>>2]|0,H0=(P0|0)==0,H0||p2(P0),o1=t+16|0,Y0=e[o1>>2]|0,i1=(Y0|0)==0,i1||p2(Y0),n1=t+20|0,d1=e[n1>>2]|0,g1=(d1|0)==0,g1||p2(d1),u4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=RS(t,Z)|0,h1=(m1|0)==0,!h1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,D1=e[M1>>2]|0,ge(w1|0,L1|0,D1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,b1=D2+1|0,t2=(b1|0)==(a|0),!t2;)v1=U1,D2=b1;if(u1=(o2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,s1=t+16|0,$1=e[s1>>2]|0,u1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=c1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,z1=e[x1>>2]|0,H1=G1+4|0,Y1=H1,V1=e[Y1>>2]|0,X1=Q1+(P1<<3)|0,n2=X1,j1=n2,e[j1>>2]=z1,O1=n2+4|0,c2=O1,e[c2>>2]=V1,W1=Q2+1|0,h2=(W1|0)<(l0|0),h2;)Q2=W1;L2=p1?l0:1,B=E1,$2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,$2=S,S2=0;return E2=(o2|0)%255&-1,a2=c1+S2|0,K1=$1+(a2<<2)|0,e[K1>>2]=E2,d2=$2+(a2<<3)|0,i2=d2,l2=i2,e[l2>>2]=g,r2=i2+4|0,A2=r2,e[A2>>2]=h,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=h,M=$1+(c1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=c1+Z|0,e[A1>>2]=F,T=t+344|0,N=T,G=N,X=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=rs(X|0,W|0,1,0)|0,s0=j6,J=T,o0=J,e[o0>>2]=r0,q=J+4|0,d0=q,e[d0>>2]=s0,j=($|0)==0,j?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function oE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,h=g,m=e[h>>2]|0,I=MS(t,y,1,S,D,m)|0,C=M,I|0}function lQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=gQ(t,o,1,4096)|0,a|0}function cQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,h=(t|0)==0,h||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=gQ(t,o,D,4096)|0,a=w,a|0)}function RS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0;return h0=C,g=t+24|0,h=e[g>>2]|0,y=h-o|0,K=t+28|0,u0=e[K>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(Z=2147483647-o|0,I0=(h|0)>(Z|0),I0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||p2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||p2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||p2(B),u4(t|0,0,360)|0,$=-1,$|0):(b=h+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=K7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,T=(F|0)==0,T||p2(F),N=e[D>>2]|0,G=(N|0)==0,G||p2(N),V=t+20|0,X=e[V>>2]|0,a0=(X|0)==0,a0||p2(X),u4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,W=t+20|0,r0=e[W>>2]|0,s0=a<<3,J=K7(r0,s0)|0,o0=(J|0)==0,o0?(q=e[t>>2]|0,d0=(q|0)==0,d0||p2(q),t0=e[D>>2]|0,j=(t0|0)==0,j||p2(t0),c0=e[W>>2]|0,$0=(c0|0)==0,$0||p2(c0),u4(t|0,0,360)|0,$=-1,$|0):(e[W>>2]=J,e[g>>2]=a,$=0,$|0))))}function gQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,d1=(x|0)>255,g=d1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,Y1=(R1|0)==0,a2=(g|0)==0,b3=a2|Y1,b3))return h=0,h|0;t2=t+332|0,V2=e[t2>>2]|0,j2=(V2|0)==0;e:do if(j2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,z5=g3,V5=14;break e}if(Z0=e[Q0>>2]|0,Y0=Z0+(g3<<2)|0,i1=e[Y0>>2]|0,x0=i1&255,n1=(x0|0)==255,g1=g3+1|0,n1)g3=g1;else{I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,z5=g1,V5=14;break}}else if(M=(g|0)>0,M){for(W=t+16|0,$0=t+20|0,Q5=0,D5=-1,d5=-1,l5=-1,X2=-1,g2=-1,w5=-1,r5=-1,a5=-1,t3=0,T3=0,Q3=0;;){if(m1=(Q5|0)>($|0),h1=(t3|0)>3,q3=m1&h1,q3){m=1,q5=D5,M5=d5,Y2=l5,p5=X2,$5=g2,u5=w5,y5=r5,T1=a5,u3=Q3;break}if(u1=e[W>>2]|0,A1=u1+(Q3<<2)|0,c1=e[A1>>2]|0,s1=c1&255,$1=s1+Q5|0,j0=(s1|0)==255,j0?(h5=D5,z2=d5,f5=l5,n5=X2,R5=g2,e5=w5,c5=r5,F2=a5,s6=0,H3=T3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=T3+1|0,S1=w1&255,D1=ns(w1|0,L1|0,8)|0,F1=j6,U1=D1&255,b1=ns(w1|0,L1|0,16)|0,P1=j6,Z1=b1&255,G1=ns(w1|0,L1|0,24)|0,x1=j6,z1=G1&255,q1=L1&255,H1=ns(w1|0,L1|0,40)|0,V1=j6,X1=H1&255,n2=ns(w1|0,L1|0,48)|0,j1=j6,O1=n2&255,c2=ns(w1|0,L1|0,56)|0,W1=j6,h2=c2&255,h5=S1,z2=Z1,f5=z1,n5=q1,R5=X1,e5=O1,c5=h2,F2=U1,s6=M1,H3=M1),s2=Q3+1|0,E2=(s2|0)<(g|0),E2)Q5=$1,D5=h5,d5=z2,l5=f5,X2=n5,g2=R5,w5=e5,r5=c5,a5=F2,t3=s6,T3=H3,Q3=s2;else{m=a,q5=h5,M5=z2,Y2=f5,p5=n5,$5=R5,u5=e5,y5=c5,T1=F2,u3=s2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=M5,G5=Y2,W5=p5,D3=$5,f3=u5,y3=y5,X3=T1,H5=255):(I=m,v5=q5,J5=M5,i3=Y2,E5=p5,I3=$5,h3=u5,K5=y5,r3=T1,z5=u3,V5=14)}else I=a,v5=-1,J5=-1,i3=-1,E5=-1,I3=-1,h3=-1,K5=-1,r3=-1,z5=0,V5=14;while(!1);if((V5|0)==14){if(d2=(I|0)==0,d2)return h=0,h|0;a3=v5,B3=J5,G5=i3,W5=E5,D3=I3,f3=h3,y3=K5,X3=r3,H5=z5}if($2=t+40|0,f[$2>>0]=79,f[$2+1>>0]=103,f[$2+2>>0]=103,f[$2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,l2=t+45|0,f[l2>>0]=0,r2=t+16|0,A2=e[r2>>2]|0,e2=e[A2>>2]|0,o2=e2>>>8,S=o2&1,f2=S^1,k2=f2|2,E=j2?k2:f2,c3=E&255,f[l2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,N2=(x|0)==(H5|0),X5=Q2&N2,X5&&(Q=j2?k2:f2,L2=Q|4,U2=L2&255,f[l2>>0]=U2),e[t2>>2]=1,m2=t+46|0,f[m2>>0]=a3,W2=t+47|0,f[W2>>0]=X3,P2=t+48|0,f[P2>>0]=B3,G2=t+49|0,f[G2>>0]=G5,q2=t+50|0,f[q2>>0]=W5,Z2=t+51|0,f[Z2>>0]=D3,A5=t+52|0,f[A5>>0]=f3,H2=t+53|0,f[H2>>0]=y3,N1=t+336|0,t5=e[N1>>2]|0,T5=t5&255,i5=t+54|0,f[i5>>0]=T5,x5=t5>>>8,I5=x5&255,b5=t+55|0,f[b5>>0]=I5,Y5=t5>>>16,g5=Y5&255,b2=t+56|0,f[b2>>0]=g5,B5=t5>>>24,s5=B5&255,R2=t+57|0,f[R2>>0]=s5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,T=F&255,N=t+58|0,f[N>>0]=T,G=F>>>8,V=G&255,X=t+59|0,f[X>>0]=V,K=F>>>16,a0=K&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,J=s0&255,o0=t+61|0,f[o0>>0]=J,q=t+62|0,d0=H5&255,t0=t+66|0,f[q>>0]=0,f[q+1>>0]=0,f[q+2>>0]=0,f[q+3>>0]=0,f[t0>>0]=d0,j=(H5|0)>0,j){if(u0=e[A2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,Z=u0&255,L5=(H5|0)==1,L5)B=Z;else for(g0=1,b0=Z;;)if(b=e[r2>>2]|0,I0=b+(g0<<2)|0,f0=e[I0>>2]|0,n0=f0&255,h0=g0+27|0,p0=(t+40|0)+h0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,N5=B}else v0=R1,k0=x,F0=A2,N5=0;return e[o>>2]=$2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,K0=e[_0>>2]|0,M0=v0+K0|0,T0=o+8|0,e[T0>>2]=M0,U0=o+12|0,e[U0>>2]=N5,O0=k0-H5|0,e[y>>2]=O0,V0=F0+(H5<<2)|0,L0=O0<<2,oA(F0|0,V0|0,L0|0)|0,G0=t+20|0,z0=e[G0>>2]|0,J0=z0+(H5<<3)|0,q0=e[y>>2]|0,P0=q0<<3,oA(z0|0,J0|0,P0|0)|0,H0=e[_0>>2]|0,o1=H0+N5|0,e[_0>>2]=o1,LS(o),h=1,h|0}function FS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0;return Y0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,X=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,j=e[X>>2]|0,Ii(j),p0=g+16|0,M0=e[p0>>2]|0,Ii(M0),z0=g+20|0,P0=e[z0>>2]|0,Ii(P0),H0=g+24|0,h=e[H0>>2]|0,Ii(h),m=g+28|0,I=e[m>>2]|0,Ii(I),E=g+32|0,Q=e[E>>2]|0,Ii(Q),B=g+36|0,S=e[B>>2]|0,Ii(S),b=g+40|0,v=e[b>>2]|0,Ii(v),w=g+44|0,y=e[w>>2]|0,Ii(y),x=g+48|0,M=e[x>>2]|0,Ii(M),L=g+52|0,R=e[L>>2]|0,Ii(R),F=g+56|0,T=e[F>>2]|0,Ii(T),N=g+60|0,G=e[N>>2]|0,Ii(G),V=g+64|0,K=e[V>>2]|0,Ii(K),a0=g+68|0,W=e[a0>>2]|0,Ii(W),r0=e[6416]|0,s0=r0+12|0,J=e[s0>>2]|0,o0=HQ[J&1](t)|0,q=(o0|0)==0,q?(d0=(o|0)==0,d0?(a=0,a|0):(t0=Nu(t)|0,u0=(t0|0)==0,u0?(c0=t+4|0,$0=$Q(c0)|0,e[o>>2]=$0,l0=D8(c0)|0,Z=o+4|0,e[Z>>2]=l0,I0=o+8|0,e[I0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,h0=t+48|0,C0=h0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,K0=B0+4|0,v0=K0,e[v0>>2]=y0,T0=t+56|0,N0=T0,U0=N0,O0=e[U0>>2]|0,k0=N0+4|0,V0=k0,F0=e[V0>>2]|0,L0=o+24|0,G0=L0,J0=G0,e[J0>>2]=O0,q0=G0+4|0,Z0=q0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function TS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,V=e[w>>2]|0,t0=(V|0)>0,t0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,h0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,h=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=h,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(h0|0),S=Q*B,b=+(f0|0),v=S/b,D=+z7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,T=F/b,N=+z7(T),G=~~N,X=o+16|0,e[X>>2]=G,K=$+3368|0,a0=e[K>>2]|0,W=+(a0|0),r0=W*B,s0=r0/b,J=+z7(s0),o0=~~J,q=o+20|0,e[q>>2]=o0,d0=o+32|0,l1[d0>>3]=7,j=+(V|0),u0=$+3376|0,c0=+l1[u0>>3],$0=j*c0,l0=~~$0,Z=o+8|0,e[Z>>2]=l0,I0=o+4|0,e[I0>>2]=l0)}function NS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Nu(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,h=e[g>>2]|0,m=h+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function GS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0;if(F6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,M5=b2+104|0,g2=e[M5>>2]|0,F2=b2+4|0,G5=e[F2>>2]|0,T3=G5+28|0,U5=e[T3>>2]|0,S=g2+112|0,T=+l1[S>>3],o0=+z7(T),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,V0=e[w0>>2]|0,Y0=D8(V0)|0,s1=Y0<<3,L1=t+28|0,x1=e[L1>>2]|0,h2=(x1|0)==0,e2=g2+96|0,m2=e[e2>>2]|0,h2?(T5=g2+100|0,x5=e[T5>>2]|0,q=m2,b0=T5,B0=x5):(j2=g2+104|0,I5=e[j2>>2]|0,b5=g2+100|0,Y5=e[b5>>2]|0,g5=o5(I5,m2)|0,B5=o5(I5,Y5)|0,q=g5,b0=b5,B0=B5),s5=U5+(x1<<2)|0,R2=e[s5>>2]|0,M2=R2>>1,y2=U5+3372|0,Q5=e[y2>>2]|0,N5=+(Q5|0),m5=U5+3376|0,L5=+l1[m5>>3],q5=N5*L5,Y2=~~q5,p5=g2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=g2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,d5=g2+92|0,l5=e[d5>>2]|0,X2=(l5|0)>0,X2){h2?c5=l5:(w5=g2+104|0,r5=e[w5>>2]|0,a5=o5(r5,l5)|0,c5=a5),h5=U5+3384|0,z2=+l1[h5>>3],f5=15/z2,n5=g2+84|0,R5=e[n5>>2]|0,e5=s1-c5|0,v5=R5+e5|0,J5=(v5|0)>(Y2|0);e:do if(J5)if(i3=(g0|0)>0,E5=(s1|0)>(c5|0),R6=E5&i3,R6)if(I3=s1-c5|0,h3=I3+R5|0,K5=(h3|0)>(Y2|0),K5)for(V3=g0;;){if(r3=V3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,W5=D8(B3)|0,D3=W5<<3,f3=(V3|0)>1,y3=(D3|0)>(c5|0),M6=y3&f3,!M6){Z5=r3;break e}if(I=e[n5>>2]|0,X3=D3-c5|0,q3=X3+I|0,X5=(q3|0)>(Y2|0),X5)V3=r3;else{Z5=r3;break}}else Z5=g0;else Z5=g0;else if(b3=(v5|0)<(Y2|0),b3)if(t3=g0+1|0,s6=(t3|0)<15,H3=(s1|0)<(c5|0),r6=H3&s6,r6)if(c3=s1-c5|0,g3=c3+R5|0,u3=(g3|0)<(Y2|0),u3)for(z5=t3;;){if(Q3=(B+12|0)+(z5<<2)|0,H5=e[Q3>>2]|0,V5=D8(H5)|0,S5=V5<<3,Y3=z5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){Z5=z5;break e}if(m=e[n5>>2]|0,l3=S5-c5|0,N3=l3+m|0,E6=(N3|0)<(Y2|0),E6)z5=Y3;else{Z5=z5;break}}else Z5=g0;else Z5=g0;else Z5=g0;while(!1);k3=+(Z5|0),_3=+l1[S>>3],S3=k3-_3,a6=+z7(S3),i6=+(M2|0),b=a6/i6,v=G5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,L3=L?f5:v6,R=L3/D,F=R*i6,N=F+_3,l1[S>>3]=N,G=+z7(N),V=~~G,X=(B+12|0)+(V<<2)|0,K=e[X>>2]|0,a0=D8(K)|0,W=a0<<3,E=e[e2>>2]|0,r0=E,x3=V,n6=W}else r0=m2,x3=g0,n6=s1;s0=(r0|0)>0,J=(n6|0)<(q|0),h6=J&s0;e:do if(h6)if(d0=g2+88|0,t0=e[d0>>2]|0,j=n6-q|0,u0=j+t0|0,c0=(u0|0)<0,c0)for(d3=x3,o6=n6;;){if($0=d3+1|0,l0=(d3|0)>13,l0){J3=$0,C6=o6;break e}if(Z=(B+12|0)+($0<<2)|0,I0=e[Z>>2]|0,f0=D8(I0)|0,n0=f0<<3,h0=e[d0>>2]|0,p0=n0-q|0,C0=p0+h0|0,S0=(C0|0)<0,S0)d3=$0,o6=n0;else{J3=$0,C6=n0;break}}else J3=x3,C6=n6;else J3=x3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=g2+88|0,K0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+K0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(d6=J3,z3=C6;;){if(U0=d6+-1|0,O0=(d6|0)<1,O0){m3=U0,M3=z3;break e}if(k0=(B+12|0)+(U0<<2)|0,F0=e[k0>>2]|0,L0=D8(F0)|0,G0=L0<<3,z0=e[_0>>2]|0,J0=G0-B0|0,q0=J0+z0|0,Z0=e[y2>>2]|0,P0=(q0|0)>(Z0|0),P0)d6=U0,z3=G0;else{m3=U0,M3=G0;break}}else m3=J3,M3=C6;else m3=J3,M3=C6;while(!1);if(H0=(m3|0)<0,H0)o1=e[y2>>2]|0,i1=g2+88|0,x0=e[i1>>2]|0,n1=o1+B0|0,d1=n1-x0|0,g1=(d1|0)/8&-1,m1=g2+124|0,e[m1>>2]=0,h1=B+12|0,u1=e[h1>>2]|0,A1=D8(u1)|0,c1=(A1|0)>(g1|0),c1?($1=e[h1>>2]|0,j0=g1<<3,DS($1,j0),E1=e[h1>>2]|0,I1=D8(E1)|0,Q1=I1<<3,K3=Q1):K3=M3;else{if(p1=g2+88|0,B1=e[p1>>2]|0,w1=q+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,S1=g2+124|0,e[S1>>2]=g,D1=(B+12|0)+(g<<2)|0,R1=e[D1>>2]|0,F1=D8(R1)|0,U1=k1-F1|0,b1=(U1|0)>0,P1=e[D1>>2]|0,b1)for(G1=P1,L6=U1;;)if(Z1=L6+-1|0,O2(G1,0,8),z1=(L6|0)>1,q1=e[D1>>2]|0,z1)G1=q1,L6=Z1;else{h=q1;break}else h=P1;H1=D8(h)|0,Y1=H1<<3,K3=Y1}V1=e[e2>>2]|0,X1=(V1|0)>0,X1?e6=37:(n2=e[b0>>2]|0,j1=(n2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,c2=(K3|0)>(B0|0),G6=O1&c2,G6){s2=K3-B0|0,E2=g2+88|0,a2=e[E2>>2]|0,K1=s2+a2|0,e[E2>>2]=K1;break}if(d2=(q|0)>0,$2=(K3|0)<(q|0),X6=d2&$2,X6){i2=K3-q|0,l2=g2+88|0,r2=e[l2>>2]|0,A2=i2+r2|0,e[l2>>2]=A2;break}if(o2=g2+88|0,f2=e[o2>>2]|0,t2=(f2|0)>(Y2|0),t2)if(O1){k2=K3-B0|0,D2=f2+k2|0,S2=(D2|0)<(Y2|0),o=S2?Y2:D2,e[o2>>2]=o;break}else{e[o2>>2]=Y2;break}else if(d2){Q2=K3-q|0,N2=f2+Q2|0,L2=(N2|0)>(Y2|0),$=L2?Y2:N2,e[o2>>2]=$;break}else{e[o2>>2]=Y2;break}}while(!1);return U2=e[d5>>2]|0,W2=(U2|0)>0,W2?(P2=e[L1>>2]|0,V2=(P2|0)==0,V2?H2=U2:(G2=g2+104|0,q2=e[G2>>2]|0,Z2=o5(q2,U2)|0,H2=Z2),A5=K3-H2|0,N1=g2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,a=0,a|0):(a=0,a|0)}function uQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,X=e[D>>2]|0,j=(X|0)==0,j?(a=0,a|0):(p0=(o|0)==0,p0||(C0=X+104|0,S0=e[C0>>2]|0,Q0=X+64|0,b0=e[Q0>>2]|0,h=b0+104|0,m=e[h>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=$Q(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=D8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=X+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,T=X+48|0,N=T,G=N,V=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=o+16|0,s0=r0,J=s0,e[J>>2]=V,o0=s0+4|0,q=o0,e[q>>2]=W,d0=X+56|0,t0=d0,u0=t0,c0=e[u0>>2]|0,$0=t0+4|0,l0=$0,Z=e[l0>>2]|0,I0=o+24|0,g0=I0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,h0=n0,e[h0>>2]=Z),e[D>>2]=0,a=1,a|0)}function US(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;F=C,L=o,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=ce(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(h=(M|0)==7,h){e[g>>2]=D,mC(D),M=8;continue}else{if(m=ce(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,mC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function z8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0;return K=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,T=e[F>>2]|0,N=(R|0)>(T|0),G=t+68|0,V=e[G>>2]|0,N?(g=(V|0)==0,g||(h=V,m=R9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=h,e[B>>2]=m),e[F>>2]=$,v=R9($)|0,e[G>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=V,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function PS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0;if(t0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,G=e[D>>2]|0,V=(G|0)==0,!V)for(o0=G;X=o0+4|0,K=e[X>>2]|0,a0=e[o0>>2]|0,p2(a0),p2(o0),W=(K|0)==0,!W;)o0=K;if(r0=t+80|0,h=e[r0>>2]|0,m=(h|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+h|0,B=K7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||p2(y),M=(g|0)==0,M){q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}else J=0;for(;;){if(L=(g+12|0)+(J<<2)|0,R=e[L>>2]|0,pC(R),F=(J|0)==7,F){J=8;continue}if(T=e[L>>2]|0,p2(T),N=J+1|0,s0=(N|0)==15,s0)break;J=N}p2(g),q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=HS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=Bb(o)|0,S=Q+60|0,e[S>>2]=B,b=ce(1,180)|0,e[Q>>2]=b,KS(b,o),v=Q+80|0,TS(o,v),w=t+64|0,D=w,h=D,e[h>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function dQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0;if(P2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,V0=(w0|0)!=0,V0?(Y0=w0+28|0,s1=e[Y0>>2]|0,k0=s1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if(A2=e[x1>>2]|0,b=(A2|0)==0,b||(WS(A2),N=e[x1>>2]|0,p2(N)),q=x1+12|0,f0=e[q>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,wC(S0),Q0=e[q>>2]|0,b0=e[Q0>>2]|0,p2(b0),E0=e[q>>2]|0,p2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(K0=e[B0>>2]|0,wC(K0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,p2(v0),T0=e[y0>>2]|0,p2(T0)),N0=x1+48|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0){if(F0=(k0|0)==0,F0)p1=U0;else if(L0=k0+16|0,G0=e[L0>>2]|0,z0=(G0|0)>0,z0){if(J0=k0+800|0,q0=e[J0>>2]|0,Z0=25640+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+16|0,o1=e[H0>>2]|0,i1=e[U0>>2]|0,ss[o1&7](i1),x0=e[L0>>2]|0,n1=(x0|0)>1,n1)for(g1=1;o=e[N0>>2]|0,d1=J0+(g1<<2)|0,m1=e[d1>>2]|0,h1=25640+(m1<<2)|0,u1=e[h1>>2]|0,A1=u1+16|0,c1=e[A1>>2]|0,$1=o+(g1<<2)|0,j0=e[$1>>2]|0,ss[c1&7](j0),E1=g1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)g1=E1;a=e[N0>>2]|0,p1=a}else p1=U0;p2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,S1=e[M1>>2]|0,D1=(S1|0)>0,D1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,b1=e[U1>>2]|0,P1=b1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,ss[Z1&7](G1),z1=e[M1>>2]|0,q1=(z1|0)>1,q1)for(Y1=1;$=e[B1>>2]|0,H1=R1+(Y1<<2)|0,V1=e[H1>>2]|0,X1=25648+(V1<<2)|0,n2=e[X1>>2]|0,j1=n2+16|0,O1=e[j1>>2]|0,c2=$+(Y1<<2)|0,h2=e[c2>>2]|0,ss[O1&7](h2),s2=Y1+1|0,E2=e[M1>>2]|0,a2=(s2|0)<(E2|0),a2;)Y1=s2;g=e[B1>>2]|0,K1=g}else K1=w1;p2(K1)}if(d2=x1+56|0,$2=e[d2>>2]|0,i2=($2|0)==0,!i2){if(l2=(k0|0)==0,l2)L2=$2;else if(r2=k0+28|0,e2=e[r2>>2]|0,o2=(e2|0)>0,o2){if(QQ($2),f2=e[r2>>2]|0,t2=(f2|0)>1,t2)for(D2=1;h=e[d2>>2]|0,k2=h+(D2*52|0)|0,QQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,N2=(S2|0)<(Q2|0),N2;)D2=S2;m=e[d2>>2]|0,L2=m}else L2=$2;p2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||Qb(w),y=x1+80|0,NS(y),x=x1+20|0,LQ(x),M=x1+32|0,LQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(V0)if(T=w0+4|0,G=e[T>>2]|0,V=(G|0)>0,V){for(K=R,p0=G,U2=0;X=K+(U2<<2)|0,a0=e[X>>2]|0,W=(a0|0)==0,W?J=p0:(p2(a0),E=e[T>>2]|0,J=E),r0=U2+1|0,s0=(r0|0)<(J|0),!!s0;)I=e[L>>2]|0,K=I,p0=J,U2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;p2(o0),d0=t+12|0,t0=e[d0>>2]|0,j=(t0|0)==0,j||p2(t0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||p2(c0),l0=x1+68|0,Z=e[l0>>2]|0,I0=(Z|0)==0,I0||p2(Z),g0=x1+72|0,n0=e[g0>>2]|0,h0=(n0|0)==0,h0||p2(n0),p2(x1)),m2=t,V2=m2+112|0;do e[m2>>2]=0,m2=m2+4|0;while((m2|0)<(V2|0))}}function hQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||p2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||p2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||p2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,h=e[a>>2]|0,o0=h,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,T=e[F>>2]|0,N=(T|0)>0,N)if(G=t+8|0,V=e[G>>2]|0,X=e[V>>2]|0,K=R<<2,a0=K7(X,K)|0,W=e[G>>2]|0,e[W>>2]=a0,s0=e[F>>2]|0,J=(s0|0)>1,J)for($0=1;;)if($=e[D>>2]|0,u0=e[G>>2]|0,c0=u0+($0<<2)|0,Z=e[c0>>2]|0,I0=$<<2,g0=K7(Z,I0)|0,f0=e[G>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,h0=$0+1|0,p0=e[F>>2]|0,C0=(h0|0)<(p0|0),C0)$0=h0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(q=(o0|0)>0,q)){for(d0=t+8|0,t0=e[b>>2]|0,j=t+12|0,O0=0;;)if(S0=e[d0>>2]|0,Q0=S0+(O0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(t0<<2)|0,w0=e[j>>2]|0,B0=w0+(O0<<2)|0,e[B0>>2]=y0,_0=O0+1|0,K0=(_0|0)<(o0|0),K0)O0=_0;else{g=j;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function qS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=q0,$|0):(e[S0>>2]=E0,_0=t+28|0,K0=e[_0>>2]|0,M0=(K0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,O0=r0+4|0,k0=e[O0>>2]|0,V0=(N0|0)>(k0|0),!V0)?($=0,C=q0,$|0):(IQ(t),$=0,C=q0,$|0));if(b0=C,C=C+128|0,U0=t+28|0,F0=e[U0>>2]|0,L0=(F0|0)==0,L0&&IQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,hQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=q0,$|0;for(F=t+8|0,T=b,z0=0;;){if(N=(T|0)>64,N?(G=e[G0>>2]|0,V=(T|0)>(G|0),a=V?G:T,X=e[F>>2]|0,K=X+(z0<<2)|0,a0=e[K>>2]|0,h=T-a|0,W=a0+(h<<2)|0,+mQ(W,b0,a,32),s0=e[F>>2]|0,J=s0+(z0<<2)|0,o0=e[J>>2]|0,q=e[v>>2]|0,d0=o0+(q<<2)|0,m=q+-32|0,t0=o0+(m<<2)|0,j=e[S>>2]|0,u0=j-q|0,pQ(b0,t0,32,d0,u0)):(c0=e[F>>2]|0,$0=c0+(z0<<2)|0,Z=e[$0>>2]|0,I0=Z+(T<<2)|0,g0=e[S>>2]|0,f0=g0-T|0,n0=f0<<2,u4(I0|0,0,n0|0)|0),h0=z0+1|0,p0=e[x>>2]|0,C0=(h0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,T=g,z0=h0}return C=q0,$|0}function fQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0;if(ue=C,S=t+4|0,b=e[S>>2]|0,s2=b+28|0,S5=e[s2>>2]|0,a6=t+104|0,R6=e[a6>>2]|0,C6=R6+60|0,B6=e[C6>>2]|0,V6=t+48|0,a9=e[V6>>2]|0,v=t+40|0,G=e[v>>2]|0,d0=S5+(G<<2)|0,n0=e[d0>>2]|0,_0=(n0|0)/2&-1,L0=a9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,S1=t+28|0,q1=e[S1>>2]|0,E2=(q1|0)==0,E2||(f2=t+32|0,P2=e[f2>>2]|0,x5=(P2|0)==-1,x5))return $=0,$|0;y2=ZS(t)|0,y5=(y2|0)==-1;do if(y5){if(z2=e[f2>>2]|0,I3=(z2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,h=X3,V3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,U5=e[Y3>>2]|0,$6=(Q3|0)==(U5|0),n3=t+44|0,$6){e[n3>>2]=0,h=n3,V3=0;break}else{e[n3>>2]=y2,h=n3,V3=y2;break}while(!1);if(l3=e[V6>>2]|0,N3=e[v>>2]|0,E6=S5+(N3<<2)|0,k3=e[E6>>2]|0,_3=(k3|0)/4&-1,S3=_3+l3|0,i6=S5+(V3<<2)|0,Z5=e[i6>>2]|0,x3=(Z5|0)/4&-1,d3=S3+x3|0,J3=(Z5|0)/2&-1,d6=d3+J3|0,m3=t+20|0,L6=e[m3>>2]|0,M6=(L6|0)<(d6|0),M6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,h6=(r6|0)==0,!h6)for(w9=r6;b6=w9+4|0,G6=e[b6>>2]|0,X6=e[w9>>2]|0,p2(X6),p2(w9),v6=(G6|0)==0,!v6;)w9=G6;L3=o+80|0,n6=e[L3>>2]|0,o6=(n6|0)==0,o6||(z3=o+68|0,M3=e[z3>>2]|0,K3=o+76|0,e6=e[K3>>2]|0,F6=e6+n6|0,l6=K7(M3,F6)|0,e[z3>>2]=l6,o3=e[L3>>2]|0,K6=e[K3>>2]|0,A3=K6+o3|0,e[K3>>2]=A3,e[L3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,R3=t+36|0,Y6=e[R3>>2]|0,A6=o+24|0,e[A6>>2]=Y6,D6=e[v>>2]|0,U6=o+28|0,e[U6>>2]=D6,t9=e[h>>2]|0,Q6=o+32|0,e[Q6>>2]=t9,e9=(D6|0)==0;do if(e9)if(c9=jS(t)|0,P6=(c9|0)==0,J6=j0+8|0,P6){e[J6>>2]=1;break}else{e[J6>>2]=0;break}else if(G3=(Y6|0)==0,n9=(t9|0)==0,Y9=G3|n9,s9=j0+8|0,Y9){e[s9>>2]=0;break}else{e[s9>>2]=1;break}while(!1);T6=o+64|0,e[T6>>2]=t,i9=t+64|0,_6=i9,O6=_6,U3=e[O6>>2]|0,q6=_6+4|0,d9=q6,o9=e[d9>>2]|0,B9=rs(U3|0,o9|0,1,0)|0,Q9=j6,y9=i9,h9=y9,e[h9>>2]=B9,f9=y9+4|0,H9=f9,e[H9>>2]=Q9,y6=o+56|0,H6=y6,w=H6,e[w>>2]=U3,D=H6+4|0,y=D,e[y>>2]=o9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,T=F,N=e[T>>2]|0,V=o+48|0,X=V,K=X,e[K>>2]=R,a0=X+4|0,W=a0,e[W>>2]=N,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,J=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=J,q=j0+4|0,t0=+s[q>>2],j=+s[B6>>2],u0=t0>j,u0?(s[B6>>2]=t0,c0=t0):c0=j,$0=+vb(c0,t),s[B6>>2]=$0,s[q>>2]=$0,l0=b+4|0,Z=e[l0>>2]|0,I0=Z<<2,g0=I0+7|0,f0=g0&-8,h0=e[c6>>2]|0,p0=f0+h0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=R9(8)|0,K0=e[L3>>2]|0,M0=K0+h0|0,e[L3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=R9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,O0=N0,k0=0,G0=g,P0=f0):(O0=E0,k0=h0,G0=Z,P0=S0),U0=O0+k0|0,V0=k0+f0|0,e[c6>>2]=V0,e[o>>2]=U0,F0=G0<<2,z0=F0+7|0,J0=z0&-8,q0=J0+V0|0,Z0=(q0|0)>(P0|0),Z0?(H0=(O0|0)==0,H0||(o1=O0,Y0=R9(8)|0,i1=e[L3>>2]|0,n1=i1+V0|0,e[L3>>2]=n1,d1=e[S6>>2]|0,g1=Y0+4|0,e[g1>>2]=d1,e[Y0>>2]=o1,e[S6>>2]=Y0),e[C0>>2]=J0,m1=R9(J0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,u1=m1,A1=0,s1=m,V5=J0):(u1=O0,A1=V0,s1=G0,V5=P0),h1=u1+A1|0,c1=A1+J0|0,e[c6>>2]=c1,e[j0>>2]=h1,$1=(s1|0)>0;e:do if($1)for(E1=t+8|0,k1=c1,M1=V5,D1=u1,A9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(D1|0)==0,R1||(F1=D1,U1=R9(8)|0,b1=e[L3>>2]|0,P1=b1+k1|0,e[L3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=R9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,Y1=0):(H1=D1,Y1=k1),z1=H1+Y1|0,V1=Y1+w1|0,e[c6>>2]=V1,X1=e[j0>>2]|0,n2=X1+(A9<<2)|0,e[n2>>2]=z1,j1=e[j0>>2]|0,O1=j1+(A9<<2)|0,c2=e[O1>>2]|0,W1=e[E1>>2]|0,h2=W1+(A9<<2)|0,a2=e[h2>>2]|0,ge(c2|0,a2|0,p1|0)|0,K1=e[j0>>2]|0,d2=K1+(A9<<2)|0,$2=e[d2>>2]|0,i2=$2+(L0<<2)|0,l2=e[o>>2]|0,r2=l2+(A9<<2)|0,e[r2>>2]=i2,A2=A9+1|0,e2=e[l0>>2]|0,o2=(A2|0)<(e2|0),!o2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,D1=Q,A9=A2}while(!1);if(t2=e[f2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[f2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(N2=S5+4|0,L2=e[N2>>2]|0,U2=(L2|0)/2&-1,m2=d3-U2|0,W2=(m2|0)>0,!W2)return $=1,$|0;if(V2=e[R6>>2]|0,XS(V2,m2),G2=e[m3>>2]|0,q2=G2-m2|0,e[m3>>2]=q2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(H2=t+8|0,N1=e[H2>>2]|0,t5=e[N1>>2]|0,T5=t5+(m2<<2)|0,i5=q2<<2,oA(t5|0,T5|0,i5|0)|0,j2=e[l0>>2]|0,I5=(j2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[H2>>2]|0,Y5=b5+(g5<<2)|0,b2=e[Y5>>2]|0,B5=b2+(m2<<2)|0,s5=B<<2,oA(b2|0,B5|0,s5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return N5=e[v>>2]|0,e[R3>>2]=N5,m5=e[h>>2]|0,e[v>>2]=m5,e[V6>>2]=U2,L5=e[f2>>2]|0,q5=(L5|0)==0,q5?(f3=(m2|0)<0,y3=f3<<31>>31,q3=x,X5=q3,b3=e[X5>>2]|0,t3=q3+4|0,s6=t3,T3=e[s6>>2]|0,H3=rs(b3|0,T3|0,m2|0,y3|0)|0,c3=j6,g3=x,u3=g3,e[u3>>2]=H3,z5=g3+4|0,H5=z5,e[H5>>2]=c3,$=1,$|0):(M5=L5-m2|0,Y2=(M5|0)<1,a=Y2?-1:M5,e[f2>>2]=a,p5=(a|0)>(U2|0),p5?(c5=(m2|0)<0,F2=c5<<31>>31,v5=x,J5=v5,i3=e[J5>>2]|0,E5=v5+4|0,h3=E5,K5=e[h3>>2]|0,r3=rs(i3|0,K5|0,m2|0,F2|0)|0,a3=j6,B3=x,G5=B3,e[G5>>2]=r3,W5=B3+4|0,D3=W5,e[D3>>2]=a3,$=1,$|0):($5=a+m2|0,u5=$5-U2|0,T1=(u5|0)<0,D5=T1<<31>>31,d5=x,l5=d5,X2=e[l5>>2]|0,g2=d5+4|0,w5=g2,r5=e[w5>>2]|0,a5=rs(X2|0,r5|0,u5|0,D5|0)|0,h5=j6,f5=x,n5=f5,e[n5>>2]=a5,R5=f5+4|0,e5=R5,e[e5>>2]=h5,$=1,$|0))}function HS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0;if(n5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,l2=(O1|0)<1,l2)||(N2=e[B>>2]|0,H2=(N2|0)<64,H2)||(b2=B+4|0,M5=e[b2>>2]|0,S=(M5|0)<(N2|0),S))return $=1,$|0;T=B+3656|0,o0=e[T>>2]|0,z2=t,R5=z2+112|0;do e[z2>>2]=0,z2=z2+4|0;while((z2|0)<(R5|0));g0=ce(1,136)|0,w0=t+104|0,e[w0>>2]=g0,V0=t+4|0,e[V0>>2]=o,Y0=e[Z1>>2]|0,s1=Y0+-1|0,B1=q8(s1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=ce(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=ce(1,4)|0,S1=g0+16|0,e[S1>>2]=M1,D1=ce(1,20)|0,e[k1>>2]=D1,R1=ce(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,yC(D1,U1),b1=e[S1>>2]|0,P1=e[b1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,yC(P1,x1),z1=e[B>>2]|0,q1=q8(z1)|0,H1=q1+-7|0,Y1=g0+4|0,e[Y1>>2]=H1,V1=e[b2>>2]|0,X1=q8(V1)|0,n2=X1+-7|0,j1=g0+8|0,e[j1>>2]=n2,c2=(a|0)==0;e:do if(c2){if(y2=B+2848|0,Q5=e[y2>>2]|0,N5=(Q5|0)==0,N5&&(m5=B+24|0,L5=e[m5>>2]|0,q5=ce(L5,56)|0,e[y2>>2]=q5,Y2=e[m5>>2]|0,p5=(Y2|0)>0,p5)){for(Q1=Y2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(d5=e[y2>>2]|0,l5=d5+(w5*56|0)|0,X2=Vb(l5,u5)|0,b=(X2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,vC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,h5=0;A1=(B+1824|0)+(h5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?I1=p1:(vC(c1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=h5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,h5=j0;return dQ(t),$=-1,$|0}}else{if(W1=g0+20|0,h2=e[B>>2]|0,xQ(W1,h2),s2=g0+32|0,E2=e[b2>>2]|0,xQ(s2,E2),a2=B+2848|0,K1=e[a2>>2]|0,d2=(K1|0)==0,d2&&($2=B+24|0,i2=e[$2>>2]|0,r2=ce(i2,56)|0,e[a2>>2]=r2,A2=e[$2>>2]|0,e2=(A2|0)>0,e2&&(o2=B+1824|0,f2=e[o2>>2]|0,_Q(r2,f2)|0,t2=e[$2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[a2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,_Q(D2,L2)|0,U2=S2+1|0,m2=e[$2>>2]|0,W2=(U2|0)<(m2|0),W2;)S2=U2;P2=B+28|0,V2=e[P2>>2]|0,G2=ce(V2,52)|0,q2=g0+56|0,e[q2>>2]=G2,Z2=e[P2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=o+8|0,i5=G2,g2=0;;){if(T5=i5+(g2*52|0)|0,x5=(B+2852|0)+(g2<<2)|0,j2=e[x5>>2]|0,I5=e[j2>>2]|0,b5=B+(I5<<2)|0,Y5=e[b5>>2]|0,g5=(Y5|0)/2&-1,B5=e[t5>>2]|0,wb(T5,j2,N1,g5,B5),s5=g2+1|0,R2=e[P2>>2]|0,M2=(s5|0)<(R2|0),!M2)break t;h=e[q2>>2]|0,i5=h,g2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,N=R9(F)|0,G=t+8|0,e[G>>2]=N,V=R9(F)|0,X=t+12|0,e[X>>2]=V,K=(R|0)>0,K&&(a0=ce(x,4)|0,e[N>>2]=a0,W=(R|0)>1,W))for(J=1;m=e[G>>2]|0,r0=ce(x,4)|0,s0=m+(J<<2)|0,e[s0>>2]=r0,q=J+1|0,d0=(q|0)<(R|0),d0;)J=q;if(t0=t+36|0,e[t0>>2]=0,j=t+40|0,e[j>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,Z=B+16|0,I0=e[Z>>2]|0,f0=ce(I0,4)|0,n0=g0+48|0,e[n0>>2]=f0,h0=B+20|0,p0=e[h0>>2]|0,C0=ce(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[Z>>2]|0,b0=(Q0|0)>0,b0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,_0=e[B0>>2]|0,K0=25640+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(r5<<2)|0,U0=e[N0>>2]|0,O0=mi[T0&15](t,U0)|0,k0=e[n0>>2]|0,F0=k0+(r5<<2)|0,e[F0>>2]=O0,L0=r5+1|0,G0=e[Z>>2]|0,z0=(L0|0)<(G0|0),z0;)r5=L0;if(E0=e[h0>>2]|0,y0=(E0|0)>0,y0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,q0=e[J0>>2]|0,Z0=25648+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+8|0,o1=e[H0>>2]|0,i1=(B+1568|0)+(a5<<2)|0,x0=e[i1>>2]|0,n1=mi[o1&15](t,x0)|0,d1=e[S0>>2]|0,g1=d1+(a5<<2)|0,e[g1>>2]=n1,m1=a5+1|0,h1=e[h0>>2]|0,u1=(m1|0)<(h1|0),u1)a5=m1;else{$=0;break}return $|0}function IQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,C=C+64|0,g=M0,h=t+20|0,y=e[h>>2]|0,K=y<<2,o=K,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,T=u0+(B0<<2)|0,e[T>>2]=F,N=B0+1|0,G=(b|0)>(N|0),G;)B0=N;if(V=e[Q0>>2]|0,X=b-V|0,+mQ(u0,g,X,16),a0=e[h>>2]|0,W=e[Q0>>2]|0,a=a0-W|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,pQ(g,s0,16,r0,W),J=e[h>>2]|0,o0=(J|0)>0,o0)for(q=e[S>>2]|0,d0=q+(w0<<2)|0,t0=e[d0>>2]|0,_0=0;j=u0+(_0<<2)|0,c0=e[j>>2]|0,$0=_0^-1,l0=J+$0|0,Z=t0+(l0<<2)|0,e[Z>>2]=c0,I0=_0+1|0,g0=(J|0)>(I0|0),g0;)_0=I0;if(f0=w0+1|0,n0=e[m>>2]|0,h0=n0+4|0,p0=e[h0>>2]|0,S0=(f0|0)<(p0|0),S0)b=J,w0=f0;else break}C=M0}function YS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0;A2=C,O2(o,5653314,24),m=e[t>>2]|0,O2(o,m,16),I=t+4|0,G=e[I>>2]|0,O2(o,G,24),d0=e[I>>2]|0,n0=(d0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(S1=L0+O1|0,E=f[S1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(d0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(d0|0);e:do if(M){if(O2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,T=F<<24>>24,N=T+-1|0,O2(o,N,5),V=e[I>>2]|0,X=(V|0)>1,X)for(w=V,H1=0,W1=1;;){if(K=e[L>>2]|0,a0=K+W1|0,W=f[a0>>0]|0,r0=W1+-1|0,s0=K+r0|0,J=f[s0>>0]|0,o0=W<<24>>24>J<<24>>24,o0)for(q=J<<24>>24,t0=W<<24>>24,c0=w,Y1=H1,$2=q;;)if(j=W1-Y1|0,u0=c0-Y1|0,$0=q8(u0)|0,O2(o,j,$0),l0=$2+1|0,n2=(l0|0)==(t0|0),h=e[I>>2]|0,n2){g0=h,V1=W1;break}else c0=h,Y1=W1,$2=l0;else g0=w,V1=H1;if(Z=W1+1|0,I0=(Z|0)<(g0|0),I0)w=g0,H1=V1,W1=Z;else{$=g0,q1=V1,c2=Z;break}}else $=V,q1=0,c2=1;f0=c2-q1|0,h0=$-q1|0,p0=q8(h0)|0,O2(o,f0,p0)}else{O2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,s2=0;;){if(E0=b0+s2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){h2=s2;break t}if(B0=s2+1|0,K0=(B0|0)<(C0|0),K0)s2=B0;else{h2=B0;break}}else h2=0;while(!1);if(M0=(h2|0)==(C0|0),M0){if(O2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,E2=0;;)if(U0=e[N0>>2]|0,O0=U0+E2|0,k0=f[O0>>0]|0,V0=k0<<24>>24,F0=V0+-1|0,O2(o,F0,5),G0=E2+1|0,z0=e[I>>2]|0,J0=(G0|0)<(z0|0),J0)E2=G0;else break e}if(O2(o,1,1),q0=e[I>>2]|0,Z0=(q0|0)>0,Z0)for(P0=t+8|0,a2=0;H0=e[P0>>2]|0,o1=H0+a2|0,Y0=f[o1>>0]|0,i1=Y0<<24>>24==0,i1?O2(o,0,1):(O2(o,1,1),n1=e[P0>>2]|0,d1=n1+a2|0,g1=f[d1>>0]|0,m1=g1<<24>>24,h1=m1+-1|0,O2(o,h1,5)),u1=a2+1|0,A1=e[I>>2]|0,c1=(u1|0)<(A1|0),c1;)a2=u1}while(!1);if(s1=t+12|0,$1=e[s1>>2]|0,O2(o,$1,4),E1=e[s1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,O2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,O2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,D1=M1+-1|0,O2(o,D1,4),R1=t+28|0,F1=e[R1>>2]|0,O2(o,F1,1),U1=e[s1>>2]|0,(U1|0)==1)b1=qb(t)|0,l2=b1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=o5(Z1,P1)|0,l2=G1;else break;if(x1=(l2|0)>0,x1)for(K1=0;z1=e[I1>>2]|0,Q=z1+(K1<<2)|0,B=e[Q>>2]|0,d2=(B|0)>-1,i2=0-B|0,S=d2?B:i2,b=e[L1>>2]|0,O2(o,S,b),v=K1+1|0,X1=(v|0)==(l2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Gu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0;return X=C,g=(o|0)<0,g||(h=t+12|0,y=e[h>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,T=e[F>>2]|0,N=T+(o<<2)|0,G=e[N>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,O2(a,G,B),S=e[h>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function sE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,h=(g|0)>0,!h||(m=Uu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function VS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,q=o0<<2,h=q,d0=C,C=C+((1*h|0)+15&-16)|0,t0=(o0|0)>0;e:do if(t0){for(j=t+16|0,l0=0;;){if(N=Uu(t,a)|0,G=(N|0)==-1,G){g=-1;break}if(V=e[j>>2]|0,X=e[t>>2]|0,K=o5(X,N)|0,a0=V+(K<<2)|0,W=d0+(l0<<2)|0,e[W>>2]=a0,r0=l0+1|0,J=(r0|0)<(o0|0),J)l0=r0;else{u0=X;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=t0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(Z=0,g0=0;;){for(I0=0;v=d0+(I0<<2)|0,w=e[v>>2]|0,D=w+(Z<<2)|0,y=+s[D>>2],x=I0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,T=I0+1|0,$0=(T|0)==(o0|0),!$0;)I0=T;if(B=Z+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)Z=B,g0=S;else{g=0;break}}return C=n0,g|0}function JS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0;if(t5=C,K=t+8|0,a0=e[K>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(z1=t+16|0,e2=0;;){if(t0=Uu(t,a)|0,j=(t0|0)==-1,j){g=-1,N1=29;break}if(u0=e[z1>>2]|0,c0=e[t>>2]|0,$0=o5(c0,t0)|0,l0=(c0|0)>0,l0){for(Z=(c0|0)>1,H2=Z?c0:1,f2=e2,m2=0;I0=m2+1|0,X=m2+$0|0,g0=u0+(X<<2)|0,n0=+s[g0>>2],h0=f2+1|0,p0=o+(f2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(I0|0)<(c0|0),Q0;)f2=h0,m2=I0;h2=e2+H2|0,o2=h2}else o2=e2;if(W=(o2|0)<($|0),W)e2=o2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=Uu(t,a)|0,o0=(J|0)==-1,o0){g=-1,N1=29;break e}switch(q=e[i1>>2]|0,d0=e[t>>2]|0,d0|0){case 4:{B=J,y=q,N1=19;break t}case 3:{S=J,x=q,N1=21;break t}case 7:{I=J,v=q,N1=13;break t}case 6:{E=J,w=q,N1=15;break t}case 8:{h=q,m=J,N1=12;break t}case 5:{Q=J,D=q,N1=17;break t}case 1:{K1=J,$2=q,U2=t2,A5=0;break t}case 2:{b=J,M=q,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=h+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,K0=+s[_0>>2],M0=K0+y0,s[_0>>2]=M0,N0=b0,O0=h,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,O0=v,k2=t2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,Z0=J0,H0=w,D2=t2,P2=0,N1=16):(N1|0)==17?(N1=0,g1=Q*5|0,h1=g1,A1=D,S2=t2,V2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,G2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,b1=F1,Z1=x,N2=t2,q2=0,N1=22):(N1|0)==23&&(N1=0,V1=b<<1,n2=V1,O1=M,L2=t2,Z2=0,N1=24),(N1|0)==14&&(N1=0,T0=W2+1|0,V=W2+N0|0,U0=O0+(V<<2)|0,k0=+s[U0>>2],V0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],z0=G0+k0,s[L0>>2]=z0,Z0=N0,H0=O0,D2=V0,P2=T0,N1=16),(N1|0)==16&&(N1=0,q0=P2+1|0,G=P2+Z0|0,P0=H0+(G<<2)|0,o1=+s[P0>>2],Y0=D2+1|0,x0=o+(D2<<2)|0,n1=+s[x0>>2],d1=n1+o1,s[x0>>2]=d1,h1=Z0,A1=H0,S2=Y0,V2=q0,N1=18),(N1|0)==18&&(N1=0,m1=V2+1|0,N=V2+h1|0,u1=A1+(N<<2)|0,c1=+s[u1>>2],s1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+c1,s[j0>>2]=I1,B1=h1,v1=A1,Q2=s1,G2=m1,N1=20),(N1|0)==20&&(N1=0,p1=G2+1|0,T=G2+B1|0,w1=v1+(T<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,S1=o+(Q2<<2)|0,D1=+s[S1>>2],R1=D1+k1,s[S1>>2]=R1,b1=B1,Z1=v1,N2=L1,q2=p1,N1=22),(N1|0)==22&&(N1=0,U1=q2+1|0,F=q2+b1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=N2+1|0,q1=o+(N2<<2)|0,H1=+s[q1>>2],Y1=H1+G1,s[q1>>2]=Y1,n2=b1,O1=Z1,L2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,X1=Z2+1|0,R=Z2+n2|0,j1=O1+(R<<2)|0,c2=+s[j1>>2],W1=L2+1|0,s2=o+(L2<<2)|0,E2=+s[s2>>2],a2=E2+c2,s[s2>>2]=a2,K1=n2,$2=O1,U2=W1,A5=X1),L=A5+K1|0,d2=$2+(L<<2)|0,i2=+s[d2>>2],l2=U2+1|0,r2=o+(U2<<2)|0,A2=+s[r2>>2],r0=A2+i2,s[r2>>2]=r0,s0=(l2|0)<($|0),s0)t2=l2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function zS(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(r0=(a|0)/($|0)&-1,s0=h+a|0,J=(s0|0)/($|0)&-1,o0=(r0|0)<(J|0),!o0))return I=0,I|0;for(q=t+16|0,j=0,$0=r0;;){if(t0=Uu(t,g)|0,b=(t0|0)==-1,b){I=-1,g0=8;break}if(v=e[q>>2]|0,w=e[t>>2]|0,D=o5(w,t0)|0,y=(w|0)>0,y)for(c0=j,Z=$0,I0=0;;)if(Q=I0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,N=F+(Z<<2)|0,G=+s[N>>2],V=G+M,s[N>>2]=V,X=(L|0)==($|0),K=X&1,E=K+Z|0,m=X?0:L,a0=I0+1|0,W=(a0|0)<(w|0),W)c0=m,Z=E,I0=a0;else{u0=m,l0=E;break}else u0=j,l0=$0;if(d0=(l0|0)<(J|0),d0)j=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Uu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,h=e[g>>2]|0,y=t+36|0,K=e[y>>2]|0,u0=EC(o,K)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,d1=J0+(u0<<2)|0,g1=e[d1>>2]|0,m=(g1|0)<0,m){I=g1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=g1&32767,b=B-S|0,m1=b,u1=E;break}return v=g1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,CC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,u1=0;while(!1);if(T=EC(o,h)|0,N=(T|0)<0,G=(h|0)>1,V=N&G,V)for(j0=h;;)if(X=j0+-1|0,a0=EC(o,X)|0,W=(a0|0)<0,r0=(X|0)>1,s0=W&r0,s0)j0=X;else{$=W,s1=a0,$1=X;break}else $=N,s1=T,$1=h;if($)return a=-1,a|0;if(J=s1>>>16,o0=s1<<16,q=J|o0,d0=q>>>8,t0=d0&16711935,j=q<<8,c0=j&-16711936,$0=t0|c0,l0=$0>>>4,Z=l0&252645135,I0=$0<<4,g0=I0&-252645136,f0=Z|g0,n0=f0>>>2,h0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=h0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-u1|0,K0=(_0|0)>1,K0)for(M0=t+20|0,T0=e[M0>>2]|0,U0=_0,h1=m1,c1=u1;;)if(N0=U0>>1,O0=N0+c1|0,k0=T0+(O0<<2)|0,V0=e[k0>>2]|0,F0=V0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+c1|0,z0=F0?N0:0,q0=h1-z0|0,Z0=q0-G0|0,P0=(Z0|0)>1,P0)U0=Z0,h1=q0,c1=G0;else{A1=G0;break}else A1=u1;return H0=t+28|0,o1=e[H0>>2]|0,Y0=o1+A1|0,i1=f[Y0>>0]|0,x0=i1<<24>>24,n1=(x0|0)>($1|0),n1?(CC(o,$1),a=-1,a|0):(CC(o,x0),a=A1,a|0)}function KS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0;for(d1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,J=e[F>>2]|0,I0=t+4|0,e[I0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,q0=t+12|0,e[q0>>2]=J0,e[t>>2]=J,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=ce(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,yC(x,128),M=e[y>>2]|0,Y0=0;L=+(Y0|0),R=L*.024736950028266088,T=+Hn(+R),N=T,G=M+(Y0<<2)|0,V=N*N,s[G>>2]=V,X=Y0+1|0,o1=(X|0)==128,!o1;)Y0=X;for(K=t+40|0,e[K>>2]=2,a0=t+44|0,e[a0>>2]=4,W=t+56|0,e[W>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,q=t+88|0,e[q>>2]=9,d0=t+92|0,e[d0>>2]=8,t0=t+104|0,e[t0>>2]=13,j=t+108|0,e[j>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(Z=g0<<2,f0=R9(Z)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,h0=(g0|0)>0,h0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Hn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,K0=M0+B0,v0=i1+1|0,P0=(v0|0)==(g0|0),P0){a=K0;break}else M0=K0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,U0=x0+1|0,H0=(U0|0)==7,H0)break;$=((t+40|0)+(U0<<4)|0)+4|0,h=e[$>>2]|0,g0=h,x0=U0}O0=J*7|0,V0=ce(O0,144)|0,F0=t+152|0,e[F0>>2]=V0,L0=e[Z0>>2]|0,G0=ce(L0,4)|0,z0=t+160|0,e[z0>>2]=G0}function WS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;N=C,o=t+16|0,wC(o),a=t+48|0,v=e[a>>2]|0,p2(v),D=t+64|0,y=e[D>>2]|0,p2(y),x=t+80|0,M=e[x>>2]|0,p2(M),L=t+96|0,R=e[L>>2]|0,p2(R),F=t+112|0,$=e[F>>2]|0,p2($),g=t+128|0,h=e[g>>2]|0,p2(h),m=t+144|0,I=e[m>>2]|0,p2(I),E=t+36|0,Q=e[E>>2]|0,p2(Q),B=t+152|0,S=e[B>>2]|0,p2(S),b=t+160|0,w=e[b>>2]|0,p2(w),u4(t|0,0,180)|0}function ZS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,h=t+4|0,m=e[h>>2]|0,R=m+28|0,s0=e[R>>2]|0,Z=s0+2868|0,E0=t+104|0,O0=e[E0>>2]|0,H0=e[O0>>2]|0,A1=H0+168|0,v1=e[A1>>2]|0,I=H0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=H0+164|0,F=e[L>>2]|0,T=(M|0)>(F|0),T&&(e[L>>2]=M,N=H0+160|0,G=e[N>>2]|0,V=M<<2,X=K7(G,V)|0,e[N>>2]=X),K=(o|0)<(y|0),K)for(a0=H0+156|0,W=H0+160|0,r0=t+8|0,J=H0+40|0,o0=H0+152|0,x1=o;;){if(q=e[a0>>2]|0,d0=q+1|0,t0=(q|0)>23,$=t0?24:d0,e[a0>>2]=$,j=e[H0>>2]|0,u0=(j|0)>0,u0){for(G1=0,Y1=0;;)if(I0=e[r0>>2]|0,g0=I0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,h0=o5(n0,x1)|0,p0=f0+(h0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=eb(H0,Z,p0,J,Q0)|0,y0=b0|Y1,w0=G1+1|0,B0=e[H0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,Y1=y0;else{g=y0;break}K0=x1+2|0,M0=e[W>>2]|0,v0=M0+(K0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(U0=M0+(x1<<2)|0,e[U0>>2]=1,k0=x1+1|0,V0=M0+(k0<<2)|0,e[V0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,z0=(x1|0)>0,z0&&(J0=x1+-1|0,q0=M0+(J0<<2)|0,e[q0>>2]=1)),Z0=g&4,P0=(Z0|0)==0,P0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[W>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(o1=x1+1|0,Z1=(o1|0)==(y|0),Z1)break;x1=o1}if(Y0=e[I>>2]|0,i1=o5(Y0,y)|0,e[A1>>2]=i1,x0=t+48|0,n1=e[x0>>2]|0,d1=t+40|0,g1=e[d1>>2]|0,m1=s0+(g1<<2)|0,h1=e[m1>>2]|0,u1=(h1|0)/4&-1,c1=u1+n1|0,s1=s0+4|0,$1=e[s1>>2]|0,j0=($1|0)/2&-1,E1=c1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=H0+176|0,w1=e[B1>>2]|0,k1=i1-Y0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=H0+160|0,z1=w1;;){if(R1=(z1|0)<(p1|0),!R1){a=1,V1=22;break}if(e[B1>>2]=z1,F1=(z1|0)/(Y0|0)&-1,U1=e[M1>>2]|0,b1=U1+(F1<<2)|0,P1=e[b1>>2]|0,E=(P1|0)!=0,Q=(z1|0)>(n1|0),H1=Q&E,S1=Y0+z1|0,H1){q1=z1,V1=21;break}if(D1=(S1|0)<(k1|0),D1)z1=S1;else{a=-1,V1=22;break}}return(V1|0)==21?(B=H0+172|0,e[B>>2]=q1,a=0,a|0):(V1|0)==22?a|0:0}function jS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,h=e[g>>2]|0,y=e[h>>2]|0,K=t+4|0,u0=e[K>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,h0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=h0-Q|0,S=Q+h0|0,b=(m|0)==0,b?(G=e[f0>>2]|0,V=(G|0)/4&-1,a=V,$=V):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,T=e[F>>2]|0,N=(T|0)/4&-1,a=N,$=M),C0=B-$|0,S0=S+a|0,X=y+172|0,a0=e[X>>2]|0,W=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=W&r0,b0)return o=1,o|0;if(s0=y+8|0,J=e[s0>>2]|0,o0=(C0|0)/(J|0)&-1,q=(S0|0)/(J|0)&-1,d0=(o0|0)<(q|0),!d0)return o=0,o|0;for(t0=y+160|0,j=e[t0>>2]|0,Q0=o0;;){if(l0=j+(Q0<<2)|0,Z=e[l0>>2]|0,I0=(Z|0)==0,c0=Q0+1|0,!I0){o=1,E0=9;break}if($0=(c0|0)<(q|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function XS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,T=F+(L<<2)|0,g=M-L|0,h=g<<2,oA(F|0,T|0,h|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function eb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0;if(m3=C,K=t+4|0,a0=e[K>>2]|0,l2=t+12|0,N2=+s[l2>>2],H2=a0<<2,x=H2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,g2=e[M5>>2]|0,F2=(g2|0)>5,G5=(g2|0)/2&-1,h=F2?G5:2,W=o+60|0,$0=+s[W>>2],Q0=G5+-2|0,N0=+(Q0|0),Z0=$0-N0,h1=Z0<0,E6=h1?0:Z0,B1=E6>$0,k3=B1?$0:E6,b1=(a0|0)>0,b1)for(n2=t+36|0,$2=e[n2>>2]|0,V5=0;r2=a+(V5<<2)|0,A2=+s[r2>>2],e2=$2+(V5<<2)|0,o2=+s[e2>>2],f2=o2*A2,t2=b2+(V5<<2)|0,s[t2>>2]=f2,k2=V5+1|0,Q3=(k2|0)==(a0|0),!Q3;)V5=k2;D2=t+16|0,EQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,U2=b2+4|0,m2=+s[U2>>2],W2=m2,P2=W2*W2,V2=P2*.7,G2=V2+L2,q2=b2+8|0,Z2=+s[q2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=G2+t5,i5=T5,x5=g+140|0,j2=e[x5>>2]|0,I5=(j2|0)==0,I5?(b5=g+136|0,Y5=+s[b5>>2],g5=Y5+i5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=i5,T=B5,Y2=g5):(s5=g+132|0,R2=+s[s5>>2],M2=R2+i5,s[s5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],N5=Q5+i5,s[y2>>2]=N5,T=s5,Y2=M2),m5=(g+72|0)+(j2<<2)|0,L5=+s[m5>>2],q5=Y2-L5,s[T>>2]=q5,s[m5>>2]=i5,p5=e[x5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[x5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=Y2*.0625,d5=(s[w2>>2]=D5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,h5=a5*.5,z2=h5+-15,f5=z2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,U0=S5|1,O0=b2+(U0<<2)|0,k0=+s[O0>>2],V0=k0*k0,F0=V0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,z0=+(G0>>>0),J0=z0*35885571492144663e-23,q0=J0+-382.30810546875,P0=q0>1,Y0=b2+(o1<<2)|0,s[Y0>>2]=X,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;n1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=n1,T0=F,S5=i1}while(!1);if(n5=(h|0)>0,n5)l3=0,V3=0;else{for(n3=0,i6=0;;){if(d1=($+(n3<<4)|0)+4|0,g1=e[d1>>2]|0,m1=(g1|0)>0,m1)for(u1=$+(n3<<4)|0,A1=e[u1>>2]|0,c1=($+(n3<<4)|0)+8|0,s1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=s1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(g1|0),k1)c3=w1,Y3=v1;else{T3=w1;break}else T3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],S1=M1*T3,D1=(g+(n3*144|0)|0)+68|0,R1=e[D1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=S1P1,S=x1?P1:S1,z1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=S1,Y1=e[D1>>2]|0,V1=Y1+1|0,X1=(Y1|0)>15,D=X1?0:V1,e[D1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],c2=O1+k3,W1=q1>c2,h2=i6|5,Z5=W1?h2:i6,s2=(o+32|0)+(n3<<2)|0,E2=+s[s2>>2],a2=E2-k3,K1=z1>2]|0,c5=(e5|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,U5=0;;)if(u0=c0+U5|0,l0=b2+(u0<<2)|0,Z=+s[l0>>2],I0=g0+(U5<<2)|0,f0=+s[I0>>2],n0=f0*Z,h0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=h0,U5=p0;else{H3=h0;break}else H3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],h3=y0*H3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],K0=h3<_0,i3=K0?_0:h3,M0=h3>_0,b=M0?_0:h3,$6=0,N3=E,_3=-99999,S3=99999;;)if(s0=(N3|0)<1,w=s0?16:-1,v=w+N3|0,J=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[J>>2],q=_3o0,N=t0?o0:S3,j=$6+1|0,z5=(j|0)==(h|0),z5){L=d0,G=N;break}else $6=j,N3=v,_3=d0,S3=N;if(v5=b-G,J5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=h3,K5=e[r3>>2]|0,a3=K5+1|0,B3=(K5|0)>15,y=B3?0:a3,e[r3>>2]=y,W5=(o+4|0)+(l3<<2)|0,D3=+s[W5>>2],f3=D3+k3,y3=J5>f3,X3=V3|5,x3=y3?X3:V3,q3=(o+32|0)+(l3<<2)|0,X5=+s[q3>>2],b3=X5-k3,t3=v5>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,U3=o+1284|0,y6=e[U3>>2]|0,v9=(y6|0)>0,v9){for(mt=0;o4=be+(mt<<2)|0,e[o4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(y6|0),!S4;)mt=k4;if(v9){for(W3=0;Be=me+(W3<<2)|0,e[Be>>2]=-200,r0=W3+1|0,Ie=(r0|0)==(y6|0),!Ie;)W3=r0;if(v9){for(l0=y6<<2,u4(Pt|0,0,l0|0)|0,x9=0;b0=F4+(x9<<2)|0,e[b0>>2]=1,U0=x9+1|0,J4=(U0|0)==(y6|0),!J4;)x9=U0;if(v9){if(u1=y6<<2,u4(t8|0,-1,u1|0)|0,w1=(y6|0)>1,!w1)return $4=0,C=ae,$4|0;for(P1=r6+-1|0,j1=W+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ke=F,b9=0,b4=0;;){Fe=b9+1|0,Te=o+(Fe<<2)|0,Ge=e[Te>>2]|0,He=z6+(b9*56|0)|0,O4=He,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[He>>2]=ke,Ye=(z6+(b9*56|0)|0)+4|0,e[Ye>>2]=Ge,J9=(Ge|0)<(r6|0),s8=J9?Ge:P1,Ve=(s8|0)<(ke|0),Ve)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,Z9=0,jt=0,Tt=0,K8=0,W8=0;else for(xe=ke,pt=0,z4=0,We=0,oe=0,D4=0,gt=0,E3=0,T9=0,dt=0,D9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,V=+s[he>>2],Ue=V*7.314285755157471,Ce=Ue+1023.5,v4=~~Ce,W9=(v4|0)>1023,k9=(v4|0)<0,m=k9?0:v4,S=W9?1023:m,Y4=(S|0)==0;do if(Y4)zt=pt,at=z4,$t=We,Bt=oe,W4=D4,De=gt,wt=E3,Wt=T9,je=dt,et=D9,g4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Je=+s[nt>>2],V4=+s[j1>>2],ze=V4+Je,s4=!(ze>=V),s4){h4=xe+gt|0,ne=S+Nt|0,f4=o5(xe,xe)|0,I4=f4+oe|0,Se=o5(S,S)|0,s0=Se+D9|0,J=o5(S,xe)|0,o0=J+T9|0,q=z4+1|0,zt=pt,at=q,$t=We,Bt=I4,W4=D4,De=h4,wt=E3,Wt=o0,je=dt,et=s0,g4=u8,Xt=ne;break}else{R4=xe+D4|0,ot=S+u8|0,re=o5(xe,xe)|0,d4=re+We|0,N6=o5(S,S)|0,Ke=N6+dt|0,P9=o5(S,xe)|0,fe=P9+E3|0,Ne=pt+1|0,zt=Ne,at=z4,$t=d4,Bt=oe,W4=R4,De=gt,wt=fe,Wt=T9,je=Ke,et=D9,g4=ot,Xt=Nt;break}while(!1);if(d0=xe+1|0,t0=(xe|0)<(s8|0),t0)xe=d0,pt=zt,z4=at,We=$t,oe=Bt,D4=W4,gt=De,E3=wt,T9=Wt,dt=je,D9=et,u8=g4,Nt=Xt;else{_t=zt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=De,a8=wt,Z9=Wt,jt=je,Tt=et,K8=g4,W8=Xt;break}}if(j=(z6+(b9*56|0)|0)+8|0,e[j>>2]=Qt,u0=(z6+(b9*56|0)|0)+12|0,e[u0>>2]=K8,c0=(z6+(b9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(b9*56|0)|0)+20|0,e[$0>>2]=jt,Z=(z6+(b9*56|0)|0)+24|0,e[Z>>2]=a8,I0=(z6+(b9*56|0)|0)+28|0,e[I0>>2]=_t,g0=(z6+(b9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(z6+(b9*56|0)|0)+36|0,e[f0>>2]=W8,n0=(z6+(b9*56|0)|0)+40|0,e[n0>>2]=Rt,h0=(z6+(b9*56|0)|0)+44|0,e[h0>>2]=Tt,p0=(z6+(b9*56|0)|0)+48|0,e[p0>>2]=Z9,C0=(z6+(b9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+b4|0,f6=(Fe|0)==(i2|0),f6){E8=S0;break}else ke=Ge,b9=Fe,b4=S0}}else B4=9}else B4=9}else B4=9}else B4=9;if((B4|0)==9){if(P0=(y6|0)==0,!P0)return $4=0,C=ae,$4|0;N2=z6+4|0,O4=z6,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[N2>>2]=r6,H2=(r6|0)<1,H2)Vt=0,r8=0,Kt=0,Ct=0,ct=0,se=0,yt=0,l4=0,l8=0,c8=0,H8=0,Y8=0;else for(b2=W+1112|0,pe=0,xt=0,Et=0,At=0,p4=0,E4=0,C4=0,Ze=0,c4=0,ut=0,X4=0,R8=0,ht=0;;){M5=$+(pe<<2)|0,G=+s[M5>>2],g2=G*7.314285755157471,F2=g2+1023.5,G5=~~F2,T3=(G5|0)>1023,U5=(G5|0)<0,h=U5?0:G5,B=T3?1023:h,V3=(B|0)==0;do if(V3)Jt=xt,G4=Et,U4=At,lt=p4,K4=E4,_4=C4,Z4=Ze,j4=c4,Ft=ut,g8=X4,F8=R8,T8=ht;else if(h6=a+(pe<<2)|0,K3=+s[h6>>2],A6=+s[b2>>2],c9=A6+K3,P6=!(c9>=G),P6){B9=pe+C4|0,Q9=B+ht|0,y9=o5(pe,pe)|0,h9=y9+p4|0,f9=o5(B,B)|0,H9=f9+X4|0,H6=o5(B,pe)|0,A9=H6+c4|0,Y9=Et+1|0,Jt=xt,G4=Y9,U4=At,lt=h9,K4=E4,_4=B9,Z4=Ze,j4=A9,Ft=ut,g8=H9,F8=R8,T8=Q9;break}else{J6=pe+E4|0,T6=B+R8|0,i9=o5(pe,pe)|0,_6=i9+At|0,O6=o5(B,B)|0,q6=O6+ut|0,a9=o5(B,pe)|0,d9=a9+Ze|0,o9=xt+1|0,Jt=o9,G4=Et,U4=_6,lt=p4,K4=J6,_4=C4,Z4=d9,j4=c4,Ft=q6,g8=X4,F8=T6,T8=ht;break}while(!1);if(w9=pe+1|0,S9=(w9|0)==(r6|0),S9){Vt=Jt,r8=G4,Kt=U4,Ct=lt,ct=K4,se=_4,yt=Z4,l4=j4,l8=Ft,c8=g8,H8=F8,Y8=T8;break}else pe=w9,xt=Jt,Et=G4,At=U4,p4=lt,E4=K4,C4=_4,Ze=Z4,c4=j4,ut=Ft,X4=g8,R8=F8,ht=T8}we=z6+8|0,e[we>>2]=ct,ue=z6+12|0,e[ue>>2]=H8,Ee=z6+16|0,e[Ee>>2]=Kt,V9=z6+20|0,e[V9>>2]=l8,ie=z6+24|0,e[ie>>2]=yt,F9=z6+28|0,e[F9>>2]=Vt,W6=z6+32|0,e[W6>>2]=se,$9=z6+36|0,e[$9>>2]=Y8,ve=z6+40|0,e[ve>>2]=Ct,Re=z6+44|0,e[Re>>2]=c8,de=z6+48|0,e[de>>2]=l4,_9=z6+52|0,e[_9>>2]=r8,E8=Vt}if(Q0=(E8|0)==0,Q0)return $4=0,C=ae,$4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,BC(z6,E0,$8,Zt,W)|0,y0=e[$8>>2]|0,e[be>>2]=y0,e[me>>2]=y0,w0=e[Zt>>2]|0,B0=me+4|0,e[B0>>2]=w0,_0=be+4|0,e[_0>>2]=w0,K0=(y6|0)>2;do if(K0){M0=W+1112|0,v0=W+1096|0,T0=W+1100|0,N0=W+1104|0,Oe=2;e:for(;;){O0=(o+520|0)+(Oe<<2)|0,k0=e[O0>>2]|0,V0=Pt+(k0<<2)|0,F0=e[V0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,z0=t8+(F0<<2)|0,J0=e[z0>>2]|0,q0=(J0|0)==(G0|0);t:do if(!q0){if(Z0=(o+520|0)+(F0<<2)|0,H0=e[Z0>>2]|0,o1=(o+520|0)+(G0<<2)|0,Y0=e[o1>>2]|0,e[z0>>2]=G0,i1=(W+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,n1=(W+836|0)+(G0<<2)|0,d1=e[n1>>2]|0,g1=be+(F0<<2)|0,m1=e[g1>>2]|0,h1=(m1|0)<0,A1=me+(F0<<2)|0,c1=e[A1>>2]|0,h1?w=c1:(s1=(c1|0)<0,s1?w=m1:($1=c1+m1|0,j0=$1>>1,w=j0)),E1=be+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=me+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,S1=(y|0)==-1,L8=M1|S1,L8){B4=38;break e}D1=y-w|0,R1=d1-x0|0,N4=(D1|0)>-1,L9=0-D1|0,F1=N4?D1:L9,U1=(D1|0)/(R1|0)&-1,b1=D1>>31,Z1=b1|1,G1=$+(x0<<2)|0,K=+s[G1>>2],x1=K*7.314285755157471,z1=x1+1023.5,q1=~~z1,H1=(q1|0)>1023,Y1=(q1|0)<0,I=Y1?0:q1,b=H1?1023:I,V1=o5(U1,R1)|0,f8=(V1|0)>-1,p8=0-V1|0,X1=f8?V1:p8,n2=F1-X1|0,O1=w-b|0,c2=o5(O1,O1)|0,W1=a+(x0<<2)|0,h2=+s[W1>>2],s2=+s[M0>>2],E2=s2+h2,a2=!(E2>=K),a2?B4=42:(K1=+(w|0),d2=+s[v0>>2],$2=d2+K1,l2=+(b|0),r2=$2>2],e2=K1-A2,o2=e2>l2,o2||(B4=42)));i:do if((B4|0)==42){if(B4=0,f2=x0+1|0,t2=(f2|0)<(d1|0),t2)for(m2=f2,a4=0,x8=c2,Yt=1,C8=w;;){if(k2=a4+n2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Pe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,U2=$+(m2<<2)|0,X=+s[U2>>2],W2=X*7.314285755157471,P2=W2+1023.5,V2=~~P2,G2=(V2|0)>1023,q2=(V2|0)<0,E=q2?0:V2,D=G2?1023:E,Z2=A8-D|0,A5=o5(Z2,Z2)|0,N1=A5+x8|0,t5=Yt+1|0,T5=a+(m2<<2)|0,i5=+s[T5>>2],x5=i5+s2,j2=x5>=X,I5=(D|0)!=0,o8=j2&I5,o8&&(b5=+(A8|0),Y5=+s[v0>>2],g5=Y5+b5,B5=+(D|0),s5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=m2+1|0,N5=(Q5|0)<(d1|0),N5)m2=Q5,a4=Pe,x8=N1,Yt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=c2,Ht=1;if(m5=+s[v0>>2],L5=m5*m5,q5=+(Ht|0),Y2=L5/q5,p5=+s[N0>>2],$5=Y2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>p5,X2)))break;g3=be+(Oe<<2)|0,e[g3>>2]=-200,u3=me+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(H0*56|0)|0,r5=k0-H0|0,a5=BC(w5,r5,Ot,qt,W)|0,h5=z6+(k0*56|0)|0,z2=Y0-k0|0,f5=BC(h5,z2,T4,st,W)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),e5=(f5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,n5)){v5=be+(Oe<<2)|0,e[v5>>2]=-200,J5=me+(Oe<<2)|0,e[J5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[be>>2]=i3),I3=e[qt>>2]|0,h3=be+(Oe<<2)|0,e[h3>>2]=I3,K5=e[T4>>2]|0,r3=me+(Oe<<2)|0,e[r3>>2]=K5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),W5=K5&I3,D3=(W5|0)>-1,D3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(_8=e8+-1|0,X3=F4+(_8<<2)|0,q3=e[X3>>2]|0,X5=(q3|0)==(G0|0),!X5)break i;if(e[X3>>2]=Oe,b3=(e8|0)>1,b3)e8=_8;else break}while(!1);if(m8=k0+1|0,y3=(m8|0)<(y6|0),y3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,H3=(s6|0)==(F0|0),!H3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,z5=(Q3|0)<(y6|0),z5)Oe=Q3;else{B4=68;break}}if((B4|0)==38)BS(1);else if((B4|0)==68){T=e[be>>2]|0,N=e[me>>2]|0,S5=T,$6=N;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,V5=z8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,N3=l3>>1,v=N3)),e[V5>>2]=v,E6=e[_0>>2]|0,k3=(E6|0)<0,_3=e[B0>>2]|0,k3?M=_3:(S3=(_3|0)<0,S3?M=E6:(a6=_3+E6|0,i6=a6>>1,M=i6)),Z5=V5+4|0,e[Z5>>2]=M,K0)A4=2;else return $4=V5,C=ae,$4|0;for(;;)if(x3=A4+-2|0,d3=(o+1032|0)+(x3<<2)|0,J3=e[d3>>2]|0,d6=(o+780|0)+(x3<<2)|0,m3=e[d6>>2]|0,L6=(W+836|0)+(J3<<2)|0,M6=e[L6>>2]|0,R6=(W+836|0)+(m3<<2)|0,S6=e[R6>>2]|0,b6=V5+(J3<<2)|0,G6=e[b6>>2]|0,X6=V5+(m3<<2)|0,v6=e[X6>>2]|0,L3=(W+836|0)+(A4<<2)|0,n6=e[L3>>2]|0,o6=G6&32767,C6=v6&32767,z3=C6-o6|0,M3=S6-M6|0,h8=(z3|0)>-1,Lt=0-z3|0,e6=h8?z3:Lt,F6=n6-M6|0,l6=o5(e6,F6)|0,o3=(l6|0)/(M3|0)&-1,K6=(z3|0)<0,A3=0-o3|0,L=K6?A3:o3,x=L+o6|0,c6=be+(A4<<2)|0,B6=e[c6>>2]|0,R3=(B6|0)<0,Y6=me+(A4<<2)|0,D6=e[Y6>>2]|0,R3?Q=D6:(U6=(D6|0)<0,U6?Q=B6:(t9=D6+B6|0,Q6=t9>>1,Q=Q6)),e9=(Q|0)<0,G3=(x|0)==(Q|0),M8=e9|G3,n9=x|32768,g=M8?n9:Q,V6=V5+(A4<<2)|0,e[V6>>2]=g,s9=A4+1|0,m4=(s9|0)==(y6|0),m4){$4=V5;break}else A4=s9;return C=ae,$4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0;if(u0=C,h=o+1284|0,m=e[h>>2]|0,x=(a|0)!=0,X=($|0)!=0,d0=x&X,!d0)return t0=0,t0|0;if(K=m<<2,a0=z8(t,K)|0,W=(m|0)>0,!W)return t0=a0,t0|0;for(r0=65536-g|0,q=0;;)if(s0=a+(q<<2)|0,J=e[s0>>2]|0,I=J&32767,E=o5(I,r0)|0,Q=$+(q<<2)|0,B=e[Q>>2]|0,S=B&32767,b=o5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(q<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,T=F&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),V=q+1|0,o0=(V|0)==(m|0),o0){t0=a0;break}else q=V;return t0|0}function tb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;if(q6=C,C=C+336|0,P6=q6+64|0,d3=q6+32|0,G3=q6,D=a+1296|0,y=e[D>>2]|0,d2=a+1284|0,R2=e[d2>>2]|0,$5=o+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return O2(t,0,1),T5=o+36|0,i5=e[T5>>2]|0,x5=(i5|0)/2&-1,j2=x5<<2,u4(g|0,0,j2|0)|0,m=0,C=q6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;q0=$+(C6<<2)|0,m1=e[q0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(Z2=p1>>>4,J6=Z2):(U1|0)==1?(X1=p1>>>2,J6=X1):(U1|0)==2?($2=p1>>>3,J6=$2):(U1|0)==3?(S2=(p1>>>0)/12&-1,J6=S2):J6=p1,I5=m1&32768,b5=I5|J6,e[q0>>2]=b5,Y5=C6+1|0,v6=(Y5|0)==(R2|0),!v6;)C6=Y5;if(g5=e[$>>2]|0,e[P6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,s5=P6+4|0,e[s5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(z3=2;;){if(Q5=z3+-2|0,N5=(a+1032|0)+(Q5<<2)|0,m5=e[N5>>2]|0,L5=(a+780|0)+(Q5<<2)|0,q5=e[L5>>2]|0,M5=(y+836|0)+(m5<<2)|0,Y2=e[M5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,d5=e[D5>>2]|0,l5=(y+836|0)+(z3<<2)|0,X2=e[l5>>2]|0,g2=T1&32767,w5=d5&32767,r5=w5-g2|0,h5=u5-Y2|0,K3=(r5|0)>-1,n9=0-r5|0,z2=K3?r5:n9,f5=X2-Y2|0,n5=o5(z2,f5)|0,R5=(n5|0)/(h5|0)&-1,e5=(r5|0)<0,c5=0-R5|0,E=e5?c5:R5,I=E+g2|0,F2=$+(z3<<2)|0,v5=e[F2>>2]|0,J5=v5&32768,E5=(J5|0)!=0,I3=(v5|0)==(I|0),c9=E5|I3,c9)h3=I|32768,e[F2>>2]=h3,K5=P6+(z3<<2)|0,e[K5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),h=B3?a3:I,G5=v5-I|0,W5=(G5|0)<0;do if(W5)if(D3=0-h|0,y3=(G5|0)<(D3|0),y3){X3=G5^-1,q3=h+X3|0,T6=q3;break}else{X5=G5<<1,b3=X5^-1,T6=b3;break}else if(t3=(h|0)>(G5|0),t3){T3=G5<<1,T6=T3;break}else{s6=h+G5|0,T6=s6;break}while(!1);H3=P6+(z3<<2)|0,e[H3>>2]=T6,e[y5>>2]=g2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=z3+1|0,X6=(Q3|0)==(R2|0),X6)break;z3=Q3}S=e[P6>>2]|0,b=e[s5>>2]|0,a6=S,x3=b}else a6=g5,x3=B5;if(O2(t,1,1),z5=a+1308|0,H5=e[z5>>2]|0,V5=H5+1|0,e[z5>>2]=V5,S5=e[y2>>2]|0,Y3=S5+-1|0,U5=q8(Y3)|0,$6=U5<<1,n3=a+1304|0,N3=e[n3>>2]|0,E6=N3+$6|0,e[n3>>2]=E6,k3=e[y2>>2]|0,_3=k3+-1|0,S3=q8(_3)|0,O2(t,a6,S3),i6=e[y2>>2]|0,V3=i6+-1|0,Z5=q8(V3)|0,O2(t,x3,Z5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,M3=0,l6=2;;){if(F=(y+4|0)+(M3<<2)|0,T=e[F>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,V=(y+192|0)+(T<<2)|0,X=e[V>>2]|0,K=1<>2]=0,e[d3+4>>2]=0,e[d3+8>>2]=0,e[d3+12>>2]=0,e[d3+16>>2]=0,e[d3+20>>2]=0,e[d3+24>>2]=0,e[d3+28>>2]=0,W=(X|0)==0,!W){if(e[G3>>2]=0,e[G3+4>>2]=0,e[G3+8>>2]=0,e[G3+12>>2]=0,e[G3+16>>2]=0,e[G3+20>>2]=0,e[G3+24>>2]=0,e[G3+28>>2]=0,r0=(X|0)==31,!r0)for(A3=0;h0=((y+320|0)+(T<<5)|0)+(A3<<2)|0,p0=e[h0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=G3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(K|0),_0;)A3=B0;s0=(G|0)>0;e:do if(s0){if(r0)for(J3=0,L6=0,c6=0;;)if(K0=d3+(c6<<2)|0,M0=e[K0>>2]|0,v0=M0<>2]|0,Y6=0;;){if(J=G3+(Y6<<2)|0,o0=e[J>>2]|0,d0=(q|0)<(o0|0),d0){A6=Y6,U3=31;break}if(t0=Y6+1|0,j=(t0|0)<(K|0),j)Y6=t0;else{U3=33;break}}if((U3|0)==31?(U3=0,u0=d3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(U3|0)==33&&(U3=0,Q=d3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(V0*56|0)|0,L0=Gu(F0,m3,t)|0,G0=e[R>>2]|0,z0=G0+L0|0,e[R>>2]=z0}if(J0=(G|0)>0,J0)for(R3=0;Z0=d3+(R3<<2)|0,P0=e[Z0>>2]|0,H0=((y+320|0)+(T<<5)|0)+(P0<<2)|0,o1=e[H0>>2]|0,Y0=(o1|0)>-1,Y0&&(i1=R3+l6|0,x0=P6+(i1<<2)|0,n1=e[x0>>2]|0,d1=(a0+(o1*56|0)|0)+4|0,g1=e[d1>>2]|0,h1=(n1|0)<(g1|0),h1&&(u1=a0+(o1*56|0)|0,A1=Gu(u1,n1,t)|0,c1=e[n3>>2]|0,s1=c1+A1|0,e[n3>>2]=s1)),$1=R3+1|0,b6=($1|0)==(G|0),!b6;)R3=$1;if(j0=G+l6|0,E1=M3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)M3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=o5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,S1=l3+(M1<<2)|0,D1=e[S1>>2]|0,R1=(D1|0)/2&-1,F1=e[d2>>2]|0,b1=(F1|0)>1,b1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(z1=(a+260|0)+(o3<<2)|0,q1=e[z1>>2]|0,H1=$+(q1<<2)|0,Y1=e[H1>>2]|0,V1=Y1&32767,n2=(V1|0)==(Y1|0),n2)if(j1=e[w1>>2]|0,O1=o5(j1,Y1)|0,c2=(y+836|0)+(q1<<2)|0,W1=e[c2>>2]|0,h2=O1-Q6|0,s2=W1-D6|0,e6=(h2|0)>-1,V6=0-h2|0,E2=e6?h2:V6,a2=(h2|0)/(s2|0)&-1,K1=h2>>31,i2=K1|1,l2=o5(a2,s2)|0,F6=(l2|0)>-1,s9=0-l2|0,r2=F6?l2:s9,A2=E2-r2|0,e2=(R1|0)>(W1|0),i9=e2?W1:R1,o2=(i9|0)>(D6|0),o2&&(f2=g+(D6<<2)|0,e[f2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(i9|0),k2)for(m2=t2,R6=0,_6=Q6;;)if(D2=R6+A2|0,Q2=(D2|0)<(s2|0),N2=Q2?0:i2,L2=Q2?0:s2,S6=D2-L2|0,B=_6+a2|0,O6=B+N2|0,U2=g+(m2<<2)|0,e[U2>>2]=O6,W2=m2+1|0,h6=(W2|0)==(i9|0),h6){o6=W1,U6=W1,e9=O1;break}else m2=W2,R6=S6,_6=O6;else o6=W1,U6=W1,e9=O1;else o6=n6,U6=D6,e9=Q6;if(P2=o3+1|0,V2=e[d2>>2]|0,G2=(P2|0)<(V2|0),G2)n6=o6,o3=P2,D6=U6,Q6=e9;else{L3=o6,t9=e9;break}}else L3=0,t9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(L3|0)<(G1|0),x1)K6=L3;else return m=1,C=q6,m|0;for(;;)if(q2=g+(K6<<2)|0,e[q2>>2]=t9,A5=K6+1|0,H2=e[P1>>2]|0,N1=(H2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{m=1;break}return C=q6,m|0}function BC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,h1=+s[Z0>>2],i2=0,e2=0,f2=0,S2=0,U2=0,V2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,b1=e[B1>>2]|0,n2=(t+(e2*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+b1|0,J=+(T|0),o0=J*h1,q=S+1|0,d0=+(q|0),t0=o0/d0,j=t0,u0=j+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,Z=+(l0|0),I0=(t+(e2*56|0)|0)+8|0,g0=e[I0>>2]|0,f0=+(g0|0),n0=f0*u0,h0=Z+S2,p0=h0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+V2,K0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),U0=(t+(e2*56|0)|0)+16|0,O0=e[U0>>2]|0,k0=+(O0|0),V0=k0*u0,F0=T0+f2,L0=F0+V0,G0=(t+(e2*56|0)|0)+48|0,z0=e[G0>>2]|0,J0=+(z0|0),q0=(t+(e2*56|0)|0)+24|0,P0=e[q0>>2]|0,H0=+(P0|0),o1=H0*u0,Y0=J0+U2,i1=Y0+o1,x0=+(b1|0),n1=+(S|0),d1=u0*n1,g1=x0+i2,m1=g1+d1,u1=e2+1|0,A2=(u1|0)==(o|0),A2){$2=m1,o2=L0,D2=p0,L2=i1,P2=K0;break}else i2=m1,e2=u1,f2=L0,S2=p0,U2=i1,V2=K0;else $2=0,o2=0,D2=0,L2=0,P2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(s1=+(Q|0),$1=D2+s1,j0=+(A1|0),E1=j0+P2,I1=o5(Q,Q)|0,Q1=+(I1|0),p1=o2+Q1,w1=o5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=$2+1,l2=L1,t2=p1,Q2=$1,m2=k1,G2=E1):(l2=$2,t2=o2,Q2=D2,m2=L2,G2=P2),M1=e[$>>2]|0,S1=(M1|0)>-1,S1?(D1=+(Q0|0),R1=Q2+D1,F1=+(M1|0),U1=F1+G2,P1=o5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=o5(M1,Q0)|0,z1=+(x1|0),q1=z1+m2,H1=l2+1,r2=H1,k2=G1,N2=R1,W2=q1,q2=U1):(r2=l2,k2=t2,N2=Q2,W2=m2,q2=G2),Y1=k2*r2,V1=N2*N2,X1=Y1-V1,j1=X1>0,j1?(O1=q2*k2,c2=N2*W2,W1=O1-c2,h2=W1/X1,s2=W2*r2,E2=N2*q2,a2=s2-E2,K1=a2/X1,d2=+(Q|0),b=K1*d2,v=b+h2,w=+z7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+h2,L=+z7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,N=(F|0)>1023,N?(e[a>>2]=1023,m=e[$>>2]|0,G=m,r0=1023):(G=R,r0=F),V=(G|0)>1023,V?(e[$>>2]=1023,I=e[a>>2]|0,X=I,s0=1023):(X=r0,s0=G),K=(X|0)<0,K?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,W=(a0|0)<0,W?(e[$>>2]=0,h=0,h|0):(h=0,h|0)):(e[a>>2]=0,e[$>>2]=0,h=1,h|0)}function ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,W=e[t>>2]|0,O2(o,W,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,z0=0,Y0=-1;;)if(B=N0+(z0<<2)|0,S=e[B>>2]|0,O2(o,S,4),b=e[B>>2]|0,v=(Y0|0)<(b|0),a=v?b:Y0,w=z0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)z0=w,Y0=a;else{$=a;break}if(O0=($|0)>-1,O0)for(k0=t+128|0,V0=t+192|0,E=t+256|0,Q=t+320|0,J0=0;;){if(x=k0+(J0<<2)|0,L=e[x>>2]|0,R=L+-1|0,O2(o,R,3),F=V0+(J0<<2)|0,T=e[F>>2]|0,O2(o,T,2),N=e[F>>2]|0,G=(N|0)==0,G?(Z0=0,i1=8):(V=E+(J0<<2)|0,X=e[V>>2]|0,O2(o,X,8),g=e[F>>2]|0,K=(g|0)==31,K||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(J0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,O2(o,s0,8),J=Z0+1|0,o0=e[F>>2]|0,q=1<>2]|0,c0=u0+-1|0,O2(o,c0,2),l0=M+-1|0,Z=q8(l0)|0,O2(o,Z,4),I0=q8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,h0=t+128|0,U0=g0,F0=0,q0=0,P0=0;;){if(p0=n0+(q0<<2)|0,C0=e[p0>>2]|0,S0=h0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(P0|0)<(E0|0),y0){for(o1=P0;w0=o1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,O2(o,_0,I0),K0=o1+1|0,L0=(K0|0)==(E0|0),!L0;)o1=K0;h=e[t>>2]|0,T0=h,H0=E0}else T0=U0,H0=P0;if(M0=q0+1|0,v0=(M0|0)<(T0|0),v0)U0=T0,F0=E0,q0=M0,P0=H0;else break}}function rb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,K=ce(1,1120)|0,u0=n4(o,5)|0,e[K>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=K+4|0,Z1=0,n2=-1;;){if(L=n4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(T=(n2|0)<(L|0),g=T?L:n2,N=Z1+1|0,G=e[K>>2]|0,V=(N|0)<(G|0),V)Z1=N,n2=g;else{h=g;break}}if(J0=(h|0)>-1,J0)for(g1=K+128|0,Q1=K+192|0,F1=K+256|0,x=y+24|0,M=K+320|0,G1=0;;){if(X=n4(o,3)|0,a0=X+1|0,W=g1+(G1<<2)|0,e[W>>2]=a0,r0=n4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,J=(r0|0)<0,J||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,t0=I):(q=n4(o,8)|0,d0=F1+(G1<<2)|0,e[d0>>2]=q,t0=q),j=(t0|0)<0,j)||(c0=e[x>>2]|0,$0=(t0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,Z=(l0|0)==31,!Z)for(H1=0;;){if(h0=n4(o,8)|0,p0=h0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(h0|0)<0,Q0||(b0=e[x>>2]|0,E0=(h0|0)>(b0|0),f0=H1+1|0,E0))break e;if(I0=e[s0>>2]|0,g0=1<>2]=_0,M0=n4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[K>>2]|0,U0=(N0|0)>0,U0)for(O0=K+4|0,k0=K+128|0,V0=K+836|0,F0=1<>2]|0,z0=k0+(G0<<2)|0,q0=e[z0>>2]|0,Z0=q0+P1|0,P0=(Z0|0)>63,P0)break e;if(H0=(Y1|0)<(Z0|0),H0){for(X1=Y1;;){if(o1=n4(o,M0)|0,Y0=X1+2|0,i1=V0+(Y0<<2)|0,e[i1>>2]=o1,x0=(o1|0)>-1,n1=(o1|0)<(F0|0),j1=x0&n1,!j1)break e;if(d1=X1+1|0,m1=(d1|0)<(Z0|0),m1)X1=d1;else{$=d1;break}}B=e[K>>2]|0,A1=B,V1=$}else A1=U1,V1=Y1;if(h1=x1+1|0,u1=(h1|0)<(A1|0),u1)U1=A1,P1=Z0,x1=h1,Y1=V1;else{E=V0,Q=F0,b1=Z0;break}}else v=K+836|0,w=1<>2]=0,c1=K+840|0,e[c1>>2]=Q,s1=b1+2|0,$1=(b1|0)>-2,$1)for(z1=0;j0=E+(z1<<2)|0,E1=O1+(z1<<2)|0,e[E1>>2]=j0,I1=z1+1|0,p1=(I1|0)<(s1|0),p1;)z1=I1;Pu(O1,s1,4,8),B1=(s1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,S1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,D1=(S1|0)==(M1|0),w1=q1+1|0,!D1;)if(v1=(w1|0)<(s1|0),v1)S1=M1,q1=w1;else break t;if(R1=(K|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=K,C=W1,a|0}while(!1);return p2(K),a=0,C=W1,a|0}function nb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0;if(R1=C,C=C+272|0,S1=R1,$=ce(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,X=o+840|0,j=e[X>>2]|0,p0=$+1288|0,e[p0>>2]=j,M0=e[o>>2]|0,z0=(M0|0)>0,z0){for(Y0=o+4|0,h=o+128|0,h1=0,k1=0;;)if(m=Y0+(h1<<2)|0,I=e[m>>2]|0,E=h+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=h1+1|0,b=(S|0)<(M0|0),b)h1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,D1=7):(Pu(S1,v,4,8),w1=a)}else o1=$+1284|0,e[o1>>2]=2,F=2,v1=0,D1=7;if((D1|0)==7){for(u1=0;x=D+(u1<<2)|0,M=S1+(u1<<2)|0,e[M>>2]=x,L=u1+1|0,R=(L|0)<(F|0),R;)u1=L;for(Pu(S1,F,4,8),T=D,N=$+260|0,A1=0;K=S1+(A1<<2)|0,a0=e[K>>2]|0,W=a0,r0=W-T|0,s0=r0>>2,J=N+(A1<<2)|0,e[J>>2]=s0,o0=A1+1|0,q=(o0|0)<(F|0),q;)A1=o0;for(G=$+260|0,V=$+520|0,c1=0;t0=G+(c1<<2)|0,u0=e[t0>>2]|0,c0=V+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(F|0),l0;)c1=$0;for(d0=$+260|0,s1=0;;)if(Z=d0+(s1<<2)|0,I0=e[Z>>2]|0,g0=D+(I0<<2)|0,f0=e[g0>>2]|0,n0=$+(s1<<2)|0,e[n0>>2]=f0,h0=s1+1|0,C0=(h0|0)<(F|0),C0)s1=h0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,K0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,U0=e[p0>>2]|0,x0=1,g1=U0,j0=0,E1=0,p1=0;;)if(O0=D+(j0<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=V0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(g1|0),G0=(k0|0)>(N0|0),M1=L0&G0,n1=M1?j0:x0,m1=M1?k0:g1,J0=j0+1|0,q0=(J0|0)<(v0|0),q0)x0=n1,g1=m1,j0=J0,E1=I1,p1=B1;else{d1=n1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,P0=K0+($1<<2)|0,e[P0>>2]=d1,H0=$1+1|0,i1=(H0|0)==(w1|0),i1)break;$1=H0}return C=R1,$|0}function ob(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function sb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function ab(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,h=o+1296|0,m=e[h>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,U0=b0+4|0,P0=e[U0>>2]|0,u1=P0+28|0,w1=e[u1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=n4(I,1)|0,W=(M|0)==1,!W)return a=0,a|0;q=o+1284|0,d0=e[q>>2]|0,t0=d0<<2,j=z8(t,t0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,Z=q8($0)|0,I0=n4(I,Z)|0,e[j>>2]=I0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=q8(f0)|0,h0=n4(I,n0)|0,p0=j+4|0,e[p0>>2]=h0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,o2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,K0=(m+128|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(V0*56|0)|0,L0=sE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(z0=(M0|0)>0,z0)for(J0=N0+-1|0,l2=i2,f2=0;;){if(q0=l2&J0,Z0=((m+320|0)+(_0<<5)|0)+(q0<<2)|0,H0=e[Z0>>2]|0,o1=l2>>T0,Y0=(H0|0)>-1,Y0){if(i1=j1+(H0*56|0)|0,x0=sE(i1,I)|0,n1=f2+o2|0,d1=j+(n1<<2)|0,e[d1>>2]=x0,g1=(x0|0)==-1,g1){a=0,D2=25;break t}}else m1=f2+o2|0,h1=j+(m1<<2)|0,e[h1>>2]=0;if(A1=f2+1|0,c1=(A1|0)<(M0|0),c1)l2=o1,f2=A1;else break}if(s1=M0+o2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,o2=s1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[q>>2]|0,E0=(Q0|0)>2,!E0)return a=j,a|0;for(y0=o+1032|0,w0=o+780|0,A2=2;;){if(I1=A2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,S1=e[M1>>2]|0,D1=j+(p1<<2)|0,R1=e[D1>>2]|0,F1=j+(L1<<2)|0,U1=e[F1>>2]|0,b1=(m+836|0)+(A2<<2)|0,Z1=e[b1>>2]|0,G1=R1&32767,x1=U1&32767,z1=x1-G1|0,q1=S1-v1|0,e2=(z1|0)>-1,t2=0-z1|0,H1=e2?z1:t2,Y1=Z1-v1|0,V1=o5(H1,Y1)|0,X1=(V1|0)/(q1|0)&-1,n2=(z1|0)<0,O1=0-X1|0,g=n2?O1:X1,$=g+G1|0,c2=e[u0>>2]|0,W1=c2-$|0,h2=j+(A2<<2)|0,s2=e[h2>>2]|0,E2=(s2|0)==0,E2)r0=$|32768,e[h2>>2]=r0;else{a2=(W1|0)<($|0),K1=a2?W1:$,d2=K1<<1,$2=(s2|0)<(d2|0);do if($2)if(b=s2&1,v=(b|0)==0,v){x=s2>>1,k2=x;break}else{w=s2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=s2-$|0,k2=Q;break}else{B=s2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[h2>>2]=R,F=e[Q1>>2]|0,T=j+(F<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,V=e[k1>>2]|0,X=j+(V<<2)|0,K=e[X>>2]|0,a0=K&32767,e[X>>2]=a0}if(s0=A2+1|0,J=e[q>>2]|0,o0=(s0|0)<(J|0),o0)A2=s0;else{a=j;break}}return a|0}function Ab(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0;if(b1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,W=e[M>>2]|0,$0=W+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,g1=t+28|0,m1=e[g1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return d1=B<<2,u4($|0,0,d1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=o5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,T=e[F>>2]|0,N=(T|0)>1,N)for(G=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=G+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,J=e[s0>>2]|0,o0=J&32767,q=(o0|0)==(J|0),q)if(d0=(I+836|0)+(r0<<2)|0,t0=e[d0>>2]|0,j=o5(w,J)|0,u0=(j|0)<0,c0=(j|0)>255,l0=c0?255:j,Z=u0?0:l0,I0=Z-k1|0,g0=t0-B1|0,E1=(I0|0)>-1,M1=0-I0|0,f0=E1?I0:M1,n0=(I0|0)/(g0|0)&-1,h0=I0>>31,p0=h0|1,C0=o5(n0,g0)|0,I1=(C0|0)>-1,S1=0-C0|0,S0=I1?C0:S1,b0=f0-S0|0,E0=(B|0)>(t0|0),D1=E0?t0:B,y0=(D1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,K0=+s[_0>>2],M0=K0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(D1|0),T0)for(z0=v0,h1=0,R1=k1;;)if(U0=h1+b0|0,O0=(U0|0)<(g0|0),k0=O0?0:p0,V0=O0?0:g0,u1=U0-V0|0,h=R1+n0|0,F1=h+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(z0<<2)|0,J0=+s[G0>>2],q0=J0*L0,s[G0>>2]=q0,P0=z0+1|0,c1=(P0|0)==(D1|0),c1){j0=t0,w1=t0,L1=Z;break}else z0=P0,h1=u1,R1=F1;else j0=t0,w1=t0,L1=Z;else j0=$1,w1=B1,L1=k1;if(H0=Q1+1|0,o1=(H0|0)<(T|0),o1)$1=j0,Q1=H0,B1=w1,k1=L1;else{s1=j0,v1=L1;break}}else s1=0,v1=R;if(V=(s1|0)<(B|0),!V)return g=1,g|0;for(X=1768+(v1<<2)|0,K=+s[X>>2],p1=s1;;)if(Y0=$+(p1<<2)|0,i1=+s[Y0>>2],x0=i1*K,s[Y0>>2]=x0,n1=p1+1|0,A1=(n1|0)==(B|0),A1){g=1;break}else p1=n1;return g|0}function $b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$-h|0,m|0}function lb(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function cb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0;u0=C,g=nl(o|0)|0,h=nl(a|0)|0,y=g+2|0,K=y+h|0,$=K,W=C,C=C+((1*$|0)+15&-16)|0,kC(W|0,o|0)|0,t0=nl(W|0)|0,d0=W+t0|0,f[d0>>0]=61,f[d0+1>>0]=0,GQ(W|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,J=e[s0>>2]|0,o0=J<<2,q=o0+8|0,m=K7(r0,q)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=K7(E,S)|0,e[I>>2]=b,v=nl(W|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=R9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,T=F+(w<<2)|0,N=e[T>>2]|0,kC(N|0,W|0)|0,G=e[s0>>2]|0,V=G+1|0,e[s0>>2]=V,X=e[t>>2]|0,a0=X+(V<<2)|0,e[a0>>2]=0,C=u0}function gb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0;if(K=C,g=(t|0)==0,!g){if(h=e[t>>2]|0,y=(h|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,T=h,V=0;F=T+(V<<2)|0,N=e[F>>2]|0,G=(N|0)==0,G?E=x:(p2(N),a=e[M>>2]|0,E=a),m=V+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,T=o,V=m;$=e[t>>2]|0,Q=$}else Q=h;p2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||p2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||p2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function ub(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=ce(1,3664)|0,a=t+28|0,e[a>>2]=o}function QC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,h=t+28|0,m=e[h>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(h1=c0,$1=0;s1=(m+32|0)+($1<<2)|0,I=e[s1>>2]|0,E=(I|0)==0,E?S=h1:(p2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)h1=S,$1=Q;if(T0=m+12|0,q0=e[T0>>2]|0,m1=(q0|0)>0,m1)for(u1=q0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?K=u1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,T=e[F>>2]|0,N=T+8|0,G=e[N>>2]|0,ss[G&7](y),a=e[T0>>2]|0,K=a),V=j0+1|0,X=(V|0)<(K|0),X;)u1=K,j0=V;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;J=(m+1056|0)+(E1<<2)|0,o0=e[J>>2]|0,q=(o0|0)==0,q?g0=A1:(d0=(m+800|0)+(E1<<2)|0,t0=e[d0>>2]|0,j=25640+(t0<<2)|0,u0=e[j>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,ss[l0&7](o0),$=e[b>>2]|0,g0=$),Z=E1+1|0,I0=(Z|0)<(g0|0),I0;)A1=g0,E1=Z;if(W=m+20|0,r0=e[W>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=c1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,K0=e[_0>>2]|0,ss[K0&7](Q0),g=e[W>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)c1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,h0=(n0|0)>0,p0=m+2848|0,h0)for(Q1=0;U0=(m+1824|0)+(Q1<<2)|0,O0=e[U0>>2]|0,k0=(O0|0)==0,k0||vC(O0),V0=e[p0>>2]|0,F0=(V0|0)==0,F0||(L0=V0+(Q1*56|0)|0,Yb(L0)),G0=Q1+1|0,z0=e[f0>>2]|0,J0=(G0|0)<(z0|0),J0;)Q1=G0;if(Z0=e[p0>>2]|0,P0=(Z0|0)==0,P0||p2(Z0),H0=m+28|0,o1=e[H0>>2]|0,Y0=(o1|0)>0,Y0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,yb(x0),n1=p1+1|0,d1=e[H0>>2]|0,g1=(n1|0)<(d1|0),g1;)p1=n1;p2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function db(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,Q=e[E>>2]|0,c1=t+104|0,k1=e[c1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,h=-129,C=X2,h|0;if(c2=Q+4|0,r2=e[c2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(mC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,J=(F|0)<64,J)D5=-130,l5=27;else if(I0=B5+4|0,y0=e[I0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{O2(T1,1,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),O2(T1,0,32),o1=e[c2>>2]|0,O2(T1,o1,8),h1=Q+8|0,u1=e[h1>>2]|0,O2(T1,u1,32),A1=Q+12|0,s1=e[A1>>2]|0,O2(T1,s1,32),$1=Q+16|0,j0=e[$1>>2]|0,O2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,O2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=q8(p1)|0,O2(T1,B1,4),w1=e[I0>>2]|0,v1=w1+-1|0,L1=q8(v1)|0,O2(T1,L1,4),O2(T1,1,1),M1=k1+64|0,S1=e[M1>>2]|0,D1=(S1|0)==0,D1||p2(S1),R1=D8(T1)|0,F1=R9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,b1=e[U1>>2]|0,P1=D8(T1)|0,ge(F1|0,b1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=D8(T1)|0,z1=a+4|0,e[z1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,Ii(T1),hb(T1,o),Y1=k1+68|0,V1=e[Y1>>2]|0,X1=(V1|0)==0,X1||p2(V1),n2=D8(T1)|0,j1=R9(n2)|0,e[Y1>>2]=j1,O1=e[U1>>2]|0,W1=D8(T1)|0,ge(j1|0,O1|0,W1|0)|0,h2=e[Y1>>2]|0,e[$>>2]=h2,s2=D8(T1)|0,E2=$+4|0,e[E2>>2]=s2,a2=$+8|0,K1=$+24|0,e[a2>>2]=0,e[a2+4>>2]=0,e[a2+8>>2]=0,e[a2+12>>2]=0,d2=K1,$2=d2,e[$2>>2]=1,i2=d2+4|0,l2=i2,e[l2>>2]=0,Ii(T1),A2=e[N1>>2]|0,e2=(A2|0)==0;e:do if(!e2){if(O2(T1,5,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),o2=A2+24|0,f2=e[o2>>2]|0,t2=f2+-1|0,O2(T1,t2,8),k2=e[o2>>2]|0,D2=(k2|0)>0,D2)for(Y2=0;;){if(U2=(A2+1824|0)+(Y2<<2)|0,m2=e[U2>>2]|0,W2=YS(m2,T1)|0,P2=(W2|0)==0,Q2=Y2+1|0,!P2)break e;if(S2=e[o2>>2]|0,N2=(Q2|0)<(S2|0),N2)Y2=Q2;else break}if(O2(T1,0,6),O2(T1,0,16),V2=A2+16|0,G2=e[V2>>2]|0,q2=G2+-1|0,O2(T1,q2,6),Z2=e[V2>>2]|0,A5=(Z2|0)>0,A5)for(p5=0;;){if(H2=(A2+800|0)+(p5<<2)|0,t5=e[H2>>2]|0,O2(T1,t5,16),T5=e[H2>>2]|0,i5=25640+(T5<<2)|0,x5=e[i5>>2]|0,j2=e[x5>>2]|0,I5=(j2|0)==0,I5)break e;if(b5=(A2+1056|0)+(p5<<2)|0,Y5=e[b5>>2]|0,_C[j2&3](Y5,T1),g5=p5+1|0,b2=e[V2>>2]|0,s5=(g5|0)<(b2|0),s5)p5=g5;else break}if(R2=A2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,O2(T1,y2,6),Q5=e[R2>>2]|0,N5=(Q5|0)>0,N5)for($5=0;m5=(A2+1312|0)+($5<<2)|0,L5=e[m5>>2]|0,O2(T1,L5,16),q5=e[m5>>2]|0,M5=25648+(q5<<2)|0,S=e[M5>>2]|0,b=e[S>>2]|0,v=(A2+1568|0)+($5<<2)|0,w=e[v>>2]|0,_C[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=A2+12|0,L=e[M>>2]|0,R=L+-1|0,O2(T1,R,6),T=e[M>>2]|0,N=(T|0)>0,N)for(u5=0;G=(A2+288|0)+(u5<<2)|0,V=e[G>>2]|0,O2(T1,V,16),X=e[G>>2]|0,K=25664+(X<<2)|0,a0=e[K>>2]|0,W=e[a0>>2]|0,r0=(A2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,YQ[W&1](Q,s0,T1),o0=u5+1|0,q=e[M>>2]|0,d0=(o0|0)<(q|0),d0;)u5=o0;if(t0=A2+8|0,j=e[t0>>2]|0,u0=j+-1|0,O2(T1,u0,6),c0=e[t0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=(A2+32|0)+(y5<<2)|0,Z=e[l0>>2]|0,g0=e[Z>>2]|0,O2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,h0=e[n0>>2]|0,O2(T1,h0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,O2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,O2(T1,E0,8),w0=y5+1|0,B0=e[t0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return O2(T1,1,1),K0=k1+72|0,M0=e[K0>>2]|0,v0=(M0|0)==0,v0||p2(M0),T0=D8(T1)|0,N0=R9(T0)|0,e[K0>>2]=N0,U0=e[U1>>2]|0,O0=D8(T1)|0,ge(N0|0,U0|0,O0|0)|0,V0=e[K0>>2]|0,e[g>>2]=V0,F0=D8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,z0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,J0=z0,q0=J0,e[q0>>2]=2,Z0=J0+4|0,P0=Z0,e[P0>>2]=0,pC(T1),h=0,C=X2,h|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,d5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,d5=D5),pC(T1),H0=e[I>>2]|0,Y0=(H0|0)==0,Y0||p2(H0),i1=k1+68|0,x0=e[i1>>2]|0,n1=(x0|0)==0,n1||p2(x0),d1=k1+72|0,g1=e[d1>>2]|0,m1=(g1|0)==0,m1||p2(g1),e[I>>2]=0,e[i1>>2]=0,e[d1>>2]=0,h=d5,C=X2,h|0}function hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0;for($0=C,O2(t,3,8),O2(t,118,8),O2(t,111,8),O2(t,114,8),O2(t,98,8),O2(t,105,8),O2(t,115,8),O2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,W=M<<24>>24,O2(t,W,8),J=(m|0)==0,!J;)a=I,g=m;if(o0=o+8|0,q=e[o0>>2]|0,O2(t,q,32),d0=e[o0>>2]|0,t0=(d0|0)>0,!t0){O2(t,1,1);return}for(j=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)O2(t,0,32);else if(b=e[j>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,O2(t,w,32),D=e[j>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,T=e[F>>2]|0,$=T,h=x;N=h+-1|0,G=$+1|0,V=f[$>>0]|0,X=V<<24>>24,O2(t,X,8),K=(N|0)==0,!K;)$=G,h=N;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}O2(t,1,1)}function mQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0;if(V1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,h=s0,Z=C,C=C+((1*h|0)+15&-16)|0,E0=(E|0)==0,E0)N=0;else{for(O0=$;;){if(H0=(O0|0)<(a|0),H0)for(Q1=0,R1=O0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-O0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,D1=(x|0)==(a|0),D1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(O0<<3)|0,l1[M>>3]=I1,L=O0+-1|0,F=(O0|0)==0,F)break;O0=L}I=+l1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,V=G+1e-10,X=($|0)>0,X)B1=T,F1=0;else return k1=T,j0=k1,C=V1,+j0;for(;;){if(b1=F1+1|0,K=B1>3],q=-o0,d0=(F1|0)>0,d0){for(P1=0,q1=q;;)if(u0=Z+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,I0=+l1[l0>>3],g0=I0*c0,f0=q1-g0,n0=P1+1|0,S1=(n0|0)==(F1|0),S1){m=f0;break}else P1=n0,q1=f0;if(h0=m/B1,p0=Z+(F1<<3)|0,l1[p0>>3]=h0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=Z+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=Z+(B0<<3)|0,K0=+l1[_0>>3],M0=K0*h0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*h0,N0=+l1[_0>>3],U0=N0+T0,l1[_0>>3]=U0,k0=G1+1|0,V0=(k0|0)<(C0|0),V0;)G1=k0;H1=b0?C0:1,q0=h0,Z1=H1}else q0=h0,Z1=0}else t0=q/B1,j=Z+(F1<<3)|0,l1[j>>3]=t0,q0=t0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=Z+(Z1<<3)|0,z0=+l1[G0>>3],J0=z0*q0,Z0=J0+z0,l1[G0>>3]=Z0),P0=q0*q0,o1=1-P0,Y0=o1*B1,i1=(b1|0)<($|0),i1)B1=Y0,F1=b1;else{v1=Y0;break}}if((Y1|0)==8&&(a0=Z+(U1<<3)|0,W=$-U1|0,r0=W<<3,u4(a0|0,0,r0|0)|0,v1=w1),X)p1=.99,x1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;x0=Z+(x1<<3)|0,n1=+l1[x0>>3],d1=n1*p1,l1[x0>>3]=d1,g1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=g1,x1=m1;if(X)z1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;;)if(h1=Z+(z1<<3)|0,u1=+l1[h1>>3],c1=u1,s1=o+(z1<<2)|0,s[s1>>2]=c1,$1=z1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else z1=$1;return j0=k1,C=V1,+j0}function pQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0;if(j=C,I=g+a|0,E=I<<2,h=E,L=C,C=C+((1*h|0)+15&-16)|0,F=(o|0)==0,T=(a|0)>0,F?T&&(G=a<<2,u4(L|0,0,G|0)|0):T&&(N=a<<2,ge(L|0,o|0,N|0)|0),V=(g|0)>0,!V){C=j;return}if(X=(a|0)>0,X)r0=0,s0=a;else{K=g<<2,u4(L|0,0,K|0)|0,u4($|0,0,K|0)|0,C=j;return}for(;;){for(o0=r0,q=a,d0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=q+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=d0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,q=D,d0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,J=s0+1|0,W=(S|0)==(g|0),W)break;r0=S,s0=J}C=j}function fb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,h=(g|0)>1,h?(O2(a,1,1),y=e[o>>2]|0,K=y+-1|0,O2(a,K,4)):O2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(O2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,O2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=q8(v)|0,O2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=q8(L)|0,O2(a,x,R),F=E0+1|0,T=e[u0>>2]|0,N=(F|0)<(T|0),N;)E0=F}else O2(a,0,1);if(O2(a,0,2),G=e[o>>2]|0,V=(G|0)>1,V){if(X=t+4|0,a0=e[X>>2]|0,W=(a0|0)>0,W){for(r0=o+4|0,y0=0;d0=r0+(y0<<2)|0,t0=e[d0>>2]|0,O2(a,t0,4),j=y0+1|0,c0=e[X>>2]|0,$0=(j|0)<(c0|0),$0;)y0=j;$=e[o>>2]|0,s0=$,B0=13}}else s0=G,B0=13;if(!((B0|0)==13&&(J=(s0|0)>0,!J)))for(o0=o+1028|0,q=o+1092|0,w0=0;O2(a,0,8),l0=o0+(w0<<2)|0,Z=e[l0>>2]|0,O2(a,Z,8),I0=q+(w0<<2)|0,g0=e[I0>>2]|0,O2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,h0=(f0|0)<(n0|0),h0;)w0=f0}function Ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0;s1=C,g=ce(1,3208)|0,h=t+28|0,y=e[h>>2]|0,u4(g|0,0,3208)|0,K=t+4|0,u0=e[K>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=n4(o,1)|0,J0=(v0|0)<0,J0)c1=24;else{if(Y0=(v0|0)==0,Y0)e[g>>2]=1;else if(i1=n4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=n4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=n4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[K>>2]|0,T=$,x0=0;;){if(F=T+-1|0,N=q8(F)|0,G=n4(o,N)|0,V=D+(x0<<2)|0,e[V>>2]=G,X=e[K>>2]|0,a0=X+-1|0,W=q8(a0)|0,r0=n4(o,W)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,J=r0|G,o0=(J|0)<0,q=(G|0)==(r0|0),g1=q|o0,g1||(d0=e[K>>2]|0,t0=(G|0)<(d0|0),j=(r0|0)<(d0|0),m1=t0&j,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)T=d0,x0=L;else break}}if(c0=n4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,Z=(l0|0)>1,Z){if(I0=e[K>>2]|0,g0=(I0|0)>0,g0)for(f0=g+4|0,n1=0;;){if(B0=n4(o,4)|0,_0=f0+(n1<<2)|0,e[_0>>2]=B0,K0=e[g>>2]|0,M0=(B0|0)>=(K0|0),T0=(B0|0)<0,h1=T0|M0,y0=n1+1|0,h1)break e;if(E0=e[K>>2]|0,w0=(y0|0)<(E0|0),w0)n1=y0;else{n0=K0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(h0=(n0|0)>0,!h0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,d1=0;;){if(n4(o,8)|0,k0=n4(o,8)|0,V0=p0+(d1<<2)|0,e[V0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,u1=G0|L0,u1||(z0=n4(o,8)|0,q0=Q0+(d1<<2)|0,e[q0>>2]=z0,Z0=e[b0>>2]|0,P0=(z0|0)>=(Z0|0),H0=(z0|0)<0,A1=H0|P0,U0=d1+1|0,A1))break e;if(N0=e[g>>2]|0,O0=(U0|0)<(N0|0),O0)d1=U0;else{a=g;break}}return a|0}}}while(!1);return(c1|0)==24&&(o1=(g|0)==0,o1)?(a=0,a|0):(p2(g),a=0,a|0)}function mb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function pb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,ds=0,Kn=0,hs=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,or=0,Ts=0,$o=0,dn=0,lo=0,hn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,sr=0,br=0,W7=0,Dr=0,Io=0,Z7=0,S7=0,b7=0,t7=0,D7=0,_r=0,ar=0,Ar=0,xr=0,p7=0,Ps=0,hi=0,sl=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,V3=e[i2>>2]|0,Ne=V3+28|0,je=e[Ne>>2]|0,Cs=M+104|0,I7=e[Cs>>2]|0,Ls=t+104|0,dn=e[Ls>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=V3+4|0,b0=e[l0>>2]|0,U0=b0<<2,$=U0,P0=C,C=C+((1*$|0)+15&-16)|0,u1=z8(t,U0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=z8(t,P1)|0,l2=e[l0>>2]|0,N2=l2<<2,H2=z8(t,N2)|0,b2=dn+4|0,M5=+s[b2>>2],g2=e[l0>>2]|0,F2=g2<<2,g=F2,G5=C,C=C+((1*g|0)+15&-16)|0,T3=dn+8|0,U5=e[T3>>2]|0,Z5=t+28|0,h6=e[Z5>>2]|0,K3=(je+544|0)+(h6<<2)|0,A6=e[K3>>2]|0,P6=I7+56|0,B9=e[P6>>2]|0,we=(h6|0)!=0,de=we?2:0,D=de+U5|0,he=B9+(D*52|0)|0,ze=t+40|0,e[ze>>2]=h6,h4=(g2|0)>0,h4)for(Ie=+(r0|0),W3=4/Ie,m8=(s[w2>>2]=W3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),De=ct*7177114298428933e-22,j4=De+-764.6162109375,c8=j4,g4=c8+.345,Ai=g4,$i=I7+4|0,zi=t+24|0,h7=t+32|0,J8=Ai+-764.6162109375,nn=r0+-1|0,gs=(nn|0)>1,Xn=Ai+-382.30810546875,Dr=M5,Z7=0;;){if(Bs=e[t>>2]|0,ln=Bs+(Z7<<2)|0,f7=e[ln>>2]|0,io=z8(t,Lt)|0,Qs=j1+(Z7<<2)|0,e[Qs>>2]=io,ys=z8(t,Lt)|0,ro=u1+(Z7<<2)|0,e[ro>>2]=ys,no=e[zi>>2]|0,oo=e[Z5>>2]|0,ws=e[h7>>2]|0,Xb(f7,$i,je,no,oo,ws),cn=e[Z5>>2]|0,vs=(I7+12|0)+(cn<<2)|0,so=e[vs>>2]|0,ks=e[so>>2]|0,Ss=e[ro>>2]|0,EQ(ks,f7,Ss),bs=e[Z5>>2]|0,ao=(I7+20|0)+(bs*12|0)|0,zb(ao,f7),Ds=e[f7>>2]|0,_s=Ds&2147483647,xs=+(_s>>>0),Ao=xs*7177114298428933e-22,Ms=J8+Ao,Rs=Ms,gn=Rs+.345,vr=gn,s[f7>>2]=vr,un=G5+(Z7<<2)|0,s[un>>2]=vr,gs)for(V=vr,_r=1;;)if(Fs=f7+(_r<<2)|0,or=+s[Fs>>2],Ts=or*or,$o=_r+1|0,lo=f7+($o<<2)|0,hn=+s[lo>>2],Ns=hn*hn,co=Ns+Ts,go=(s[w2>>2]=co,e[w2>>2]|0),Gs=go&2147483647,uo=+(Gs>>>0),ho=uo*35885571492144663e-23,Us=Xn+ho,kr=Us,R=kr+.345,F=R,T=$o>>1,N=f7+(T<<2)|0,s[N>>2]=F,G=F>V,G?(s[un>>2]=F,wr=F):wr=V,X=_r+2|0,K=(X|0)<(nn|0),K)V=wr,_r=X;else{W=wr;break}else W=vr;if(a0=W>0,a0?(s[un>>2]=0,J=0):J=W,s0=J>Dr,Io=s0?J:Dr,o0=Z7+1|0,q=e[l0>>2]|0,d0=(o0|0)<(q|0),d0)Dr=Io,Z7=o0;else{Q=Lt,S=_t,W7=Io;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,W7=M5;t0=z8(t,Q)|0,j=z8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,Z=I7+48|0,$0)b7=0;else{for(S7=0;;){o6=(A6+4|0)+(S7<<2)|0,C6=e[o6>>2]|0,z3=u1+(S7<<2)|0,M3=e[z3>>2]|0,e6=e[t>>2]|0,F6=e6+(S7<<2)|0,l6=e[F6>>2]|0,o3=l6+(S<<2)|0,e[ze>>2]=h6,K6=z8(t,60)|0,A3=H2+(S7<<2)|0,e[A3>>2]=K6,hi=K6,mn=hi+60|0;do e[hi>>2]=0,hi=hi+4|0;while((hi|0)<(mn|0));if(yQ(he,o3,t0),c6=G5+(S7<<2)|0,B6=+s[c6>>2],wQ(he,l6,j,W7,B6),rl(he,t0,j,1,l6,M3,o3),R3=(A6+1028|0)+(C6<<2)|0,Y6=e[R3>>2]|0,D6=(je+800|0)+(Y6<<2)|0,U6=e[D6>>2]|0,t9=(U6|0)==1,!t9){a=-1;break}if(Q6=e[Z>>2]|0,e9=Q6+(Y6<<2)|0,G3=e[e9>>2]|0,n9=il(t,G3,o3,l6)|0,V6=e[A3>>2]|0,s9=V6+28|0,e[s9>>2]=n9,c9=Nu(t)|0,J6=(c9|0)==0,J6||(T6=e[A3>>2]|0,i9=T6+28|0,_6=e[i9>>2]|0,O6=(_6|0)==0,O6||(rl(he,t0,j,2,l6,M3,o3),U3=e[R3>>2]|0,q6=e[Z>>2]|0,a9=q6+(U3<<2)|0,d9=e[a9>>2]|0,o9=il(t,d9,o3,l6)|0,Q9=e[A3>>2]|0,y9=Q9+56|0,e[y9>>2]=o9,rl(he,t0,j,0,l6,M3,o3),h9=e[R3>>2]|0,f9=e[Z>>2]|0,H9=f9+(h9<<2)|0,y6=e[H9>>2]|0,H6=il(t,y6,o3,l6)|0,A9=e[A3>>2]|0,e[A9>>2]=H6,Y9=e[R3>>2]|0,w9=e[Z>>2]|0,ue=w9+(Y9<<2)|0,Ee=e[ue>>2]|0,V9=e[A3>>2]|0,ie=e[V9>>2]|0,F9=V9+28|0,v9=e[F9>>2]|0,W6=Gt(t,Ee,ie,v9,9362)|0,$9=e[A3>>2]|0,ve=$9+4|0,e[ve>>2]=W6,Re=e[R3>>2]|0,_9=e[Z>>2]|0,Fe=_9+(Re<<2)|0,Te=e[Fe>>2]|0,Ge=e[A3>>2]|0,He=e[Ge>>2]|0,o4=Ge+28|0,ke=e[o4>>2]|0,Ye=Gt(t,Te,He,ke,18724)|0,J9=e[A3>>2]|0,Ve=J9+8|0,e[Ve>>2]=Ye,Ue=e[R3>>2]|0,Ce=e[Z>>2]|0,v4=Ce+(Ue<<2)|0,W9=e[v4>>2]|0,k9=e[A3>>2]|0,k4=e[k9>>2]|0,Y4=k9+28|0,nt=e[Y4>>2]|0,Je=Gt(t,W9,k4,nt,28086)|0,V4=e[A3>>2]|0,s4=V4+12|0,e[s4>>2]=Je,R4=e[R3>>2]|0,ot=e[Z>>2]|0,re=ot+(R4<<2)|0,d4=e[re>>2]|0,Be=e[A3>>2]|0,N6=e[Be>>2]|0,Ke=Be+28|0,P9=e[Ke>>2]|0,fe=Gt(t,d4,N6,P9,37449)|0,ne=e[A3>>2]|0,f4=ne+16|0,e[f4>>2]=fe,I4=e[R3>>2]|0,Se=e[Z>>2]|0,a4=Se+(I4<<2)|0,Pe=e[a4>>2]|0,m4=e[A3>>2]|0,S9=e[m4>>2]|0,f6=m4+28|0,J4=e[f6>>2]|0,S4=Gt(t,Pe,S9,J4,46811)|0,be=e[A3>>2]|0,me=be+20|0,e[me>>2]=S4,z6=e[R3>>2]|0,F4=e[Z>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,pe=e[A3>>2]|0,xe=e[pe>>2]|0,mt=pe+28|0,x9=e[mt>>2]|0,b9=Gt(t,st,xe,x9,56173)|0,Oe=e[A3>>2]|0,A4=Oe+24|0,e[A4>>2]=b9,h8=e[R3>>2]|0,N4=e[Z>>2]|0,f8=N4+(h8<<2)|0,_8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,_8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,x8=e[R3>>2]|0,Ht=e[Z>>2]|0,Yt=Ht+(x8<<2)|0,Vt=e[Yt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,Jt=e[pt>>2]|0,zt=xt+56|0,r8=e[zt>>2]|0,n8=Gt(t,Vt,Jt,r8,18724)|0,Et=e[A3>>2]|0,z4=Et+36|0,e[z4>>2]=n8,G4=e[R3>>2]|0,at=e[Z>>2]|0,L9=at+(G4<<2)|0,p8=e[L9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,L8=e[E8>>2]|0,o8=b4+56|0,M8=e[o8>>2]|0,$4=Gt(t,p8,L8,M8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=$4,At=e[R3>>2]|0,We=e[Z>>2]|0,U4=We+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,p4=e[Rt>>2]|0,oe=Ct+56|0,lt=e[oe>>2]|0,Bt=Gt(t,$t,p4,lt,37449)|0,Qt=e[A3>>2]|0,E4=Qt+44|0,e[E4>>2]=Bt,D4=e[R3>>2]|0,K4=e[Z>>2]|0,W4=K4+(D4<<2)|0,se=e[W4>>2]|0,P4=e[A3>>2]|0,C4=P4+28|0,gt=e[C4>>2]|0,_4=P4+56|0,yt=e[_4>>2]|0,a8=Gt(t,se,gt,yt,46811)|0,Ze=e[A3>>2]|0,E3=Ze+48|0,e[E3>>2]=a8,Z4=e[R3>>2]|0,wt=e[Z>>2]|0,l4=wt+(Z4<<2)|0,Z9=e[l4>>2]|0,c4=e[A3>>2]|0,T9=c4+28|0,Wt=e[T9>>2]|0,C8=c4+56|0,A8=e[C8>>2]|0,$8=Gt(t,Z9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=S7+1|0,ut=e[l0>>2]|0,dt=(jt|0)<(ut|0),dt)S7=jt;else{B=Z,Tt=ut;break e}}return C=In,a|0}for(;;){G6=(A6+4|0)+(b7<<2)|0,C0=e[G6>>2]|0,X6=u1+(b7<<2)|0,h0=e[X6>>2]|0,v6=e[t>>2]|0,L3=v6+(b7<<2)|0,n0=e[L3>>2]|0,I0=n0+(S<<2)|0,e[ze>>2]=h6,n6=z8(t,60)|0,v0=H2+(b7<<2)|0,e[v0>>2]=n6,hi=n6,mn=hi+60|0;do e[hi>>2]=0,hi=hi+4|0;while((hi|0)<(mn|0));for(ar=0;i6=h0+(ar<<2)|0,x3=e[i6>>2]|0,d3=x3&2147483647,J3=+(d3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,L6=m3,M6=L6+.345,R6=M6,y=ar+S|0,S6=n0+(y<<2)|0,s[S6>>2]=R6,r6=ar+1|0,b6=(r6|0)<(S|0),b6;)ar=r6;if(yQ(he,I0,t0),g0=G5+(b7<<2)|0,f0=+s[g0>>2],wQ(he,n0,j,W7,f0),rl(he,t0,j,1,n0,h0,I0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(je+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[Z>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,K0=il(t,_0,I0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=K0,N0=Nu(t)|0,O0=(N0|0)==0,O0||(k0=e[v0>>2]|0,V0=k0+28|0,F0=e[V0>>2]|0,L0=(F0|0)==0,L0||(rl(he,t0,j,2,n0,h0,I0),G0=e[p0>>2]|0,z0=e[Z>>2]|0,J0=z0+(G0<<2)|0,q0=e[J0>>2]|0,Z0=il(t,q0,I0,n0)|0,H0=e[v0>>2]|0,o1=H0+56|0,e[o1>>2]=Z0,rl(he,t0,j,0,n0,h0,I0),Y0=e[p0>>2]|0,i1=e[Z>>2]|0,x0=i1+(Y0<<2)|0,n1=e[x0>>2]|0,d1=il(t,n1,I0,n0)|0,g1=e[v0>>2]|0,e[g1>>2]=d1,m1=e[p0>>2]|0,h1=e[Z>>2]|0,A1=h1+(m1<<2)|0,c1=e[A1>>2]|0,s1=e[v0>>2]|0,$1=e[s1>>2]|0,j0=s1+28|0,E1=e[j0>>2]|0,I1=Gt(t,c1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[Z>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,S1=e[M1>>2]|0,D1=M1+28|0,R1=e[D1>>2]|0,F1=Gt(t,L1,S1,R1,18724)|0,U1=e[v0>>2]|0,b1=U1+8|0,e[b1>>2]=F1,Z1=e[p0>>2]|0,G1=e[Z>>2]|0,x1=G1+(Z1<<2)|0,z1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,Y1=q1+28|0,V1=e[Y1>>2]|0,X1=Gt(t,z1,H1,V1,28086)|0,n2=e[v0>>2]|0,O1=n2+12|0,e[O1>>2]=X1,c2=e[p0>>2]|0,W1=e[Z>>2]|0,h2=W1+(c2<<2)|0,s2=e[h2>>2]|0,E2=e[v0>>2]|0,a2=e[E2>>2]|0,K1=E2+28|0,d2=e[K1>>2]|0,$2=Gt(t,s2,a2,d2,37449)|0,r2=e[v0>>2]|0,A2=r2+16|0,e[A2>>2]=$2,e2=e[p0>>2]|0,o2=e[Z>>2]|0,f2=o2+(e2<<2)|0,t2=e[f2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,U2=e[v0>>2]|0,m2=U2+20|0,e[m2>>2]=L2,W2=e[p0>>2]|0,P2=e[Z>>2]|0,V2=P2+(W2<<2)|0,G2=e[V2>>2]|0,q2=e[v0>>2]|0,Z2=e[q2>>2]|0,A5=q2+28|0,N1=e[A5>>2]|0,t5=Gt(t,G2,Z2,N1,56173)|0,T5=e[v0>>2]|0,i5=T5+24|0,e[i5>>2]=t5,x5=e[p0>>2]|0,j2=e[Z>>2]|0,I5=j2+(x5<<2)|0,b5=e[I5>>2]|0,Y5=e[v0>>2]|0,g5=Y5+28|0,B5=e[g5>>2]|0,s5=Y5+56|0,R2=e[s5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,N5=e[p0>>2]|0,m5=e[Z>>2]|0,L5=m5+(N5<<2)|0,q5=e[L5>>2]|0,Y2=e[v0>>2]|0,p5=Y2+28|0,$5=e[p5>>2]|0,u5=Y2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,d5=D5+36|0,e[d5>>2]=T1,l5=e[p0>>2]|0,X2=e[Z>>2]|0,w5=X2+(l5<<2)|0,r5=e[w5>>2]|0,a5=e[v0>>2]|0,h5=a5+28|0,z2=e[h5>>2]|0,f5=a5+56|0,n5=e[f5>>2]|0,R5=Gt(t,r5,z2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=R5,v5=e[p0>>2]|0,J5=e[Z>>2]|0,i3=J5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,h3=I3+28|0,K5=e[h3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,K5,a3,37449)|0,W5=e[v0>>2]|0,D3=W5+44|0,e[D3>>2]=B3,f3=e[p0>>2]|0,y3=e[Z>>2]|0,X3=y3+(f3<<2)|0,q3=e[X3>>2]|0,X5=e[v0>>2]|0,b3=X5+28|0,t3=e[b3>>2]|0,s6=X5+56|0,H3=e[s6>>2]|0,c3=Gt(t,q3,t3,H3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,z5=e[Z>>2]|0,H5=z5+(Q3<<2)|0,V5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,N3=Gt(t,V5,$6,l3,56173)|0,E6=e[v0>>2]|0,k3=E6+52|0,e[k3>>2]=N3)),_3=b7+1|0,S3=e[l0>>2]|0,a6=(_3|0)<(S3|0),a6)b7=_3;else{B=Z,Tt=S3;break e}}return C=In,a|0}else w=I7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=W7,Ft=Tt<<2,h=Ft,X4=C,C=C+((1*h|0)+15&-16)|0,m=Ft,D9=C,C=C+((1*m|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,H8=et?0:7,K8=I7+44|0,R8=t+24|0,u8=t+32|0,F8=je+2868|0,Y8=I7+52|0,p7=H8;;){if(W8=(dn+12|0)+(p7<<2)|0,ht=e[W8>>2]|0,O2(ht,0,1),Nt=e[K8>>2]|0,O2(ht,h6,Nt),T8=e[Z5>>2]|0,Xt=(T8|0)==0,Xt||(O4=e[R8>>2]|0,O2(ht,O4,1),B4=e[u8>>2]|0,O2(ht,B4,1)),ae=e[l0>>2]|0,N8=(ae|0)>0,N8)for(t7=0;;)if(Oi=(A6+4|0)+(t7<<2)|0,qi=e[Oi>>2]|0,Hi=j1+(t7<<2)|0,pi=e[Hi>>2]|0,Z8=(A6+1028|0)+(qi<<2)|0,Ei=e[Z8>>2]|0,j8=e[B>>2]|0,Ci=j8+(Ei<<2)|0,X8=e[Ci>>2]|0,Bi=H2+(t7<<2)|0,c7=e[Bi>>2]|0,Yi=c7+(p7<<2)|0,Qi=e[Yi>>2]|0,yi=tb(ht,t,X8,Qi,pi)|0,g7=P0+(t7<<2)|0,e[g7>>2]=yi,wi=t7+1|0,li=e[l0>>2]|0,u7=(wi|0)<(li|0),u7)t7=wi;else{I=li;break}else I=ae;if(Vi=e[Z5>>2]|0,Ji=((je+3240|0)+(Vi*60|0)|0)+(p7<<2)|0,Ki=e[Ji>>2]|0,kb(p7,F8,he,A6,u1,j1,P0,Ki,I),ci=e[A6>>2]|0,vi=(ci|0)>0,vi)for(D7=0;;){if(Wi=(A6+1092|0)+(D7<<2)|0,ei=e[Wi>>2]|0,gi=e[l0>>2]|0,V8=(gi|0)>0,V8)for($n=gi,m7=0,Ar=0;;)if(ti=(A6+4|0)+(Ar<<2)|0,d7=e[ti>>2]|0,Zi=(d7|0)==(D7|0),Zi?(ki=D9+(m7<<2)|0,ji=P0+(Ar<<2)|0,Si=e[ji>>2]|0,Ps=(Si|0)!=0,o=Ps&1,e[ki>>2]=o,bi=j1+(Ar<<2)|0,Xi=e[bi>>2]|0,Di=m7+1|0,ii=X4+(m7<<2)|0,e[ii>>2]=Xi,E=e[l0>>2]|0,ui=E,fn=Di):(ui=$n,fn=m7),_i=Ar+1|0,e7=(_i|0)<(ui|0),e7)$n=ui,m7=fn,Ar=_i;else{fo=fn;break}else fo=0;if(xi=(je+1312|0)+(ei<<2)|0,x4=e[xi>>2]|0,Li=25648+(x4<<2)|0,G8=e[Li>>2]|0,di=G8+20|0,l9=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ei<<2)|0,Q8=e[vt>>2]|0,U8=xC[l9&7](t,Q8,X4,D9,fo)|0,yr=e[l0>>2]|0,as=(yr|0)>0,as)for(sr=0,xr=0;;)if(Vn=(A6+4|0)+(xr<<2)|0,As=e[Vn>>2]|0,Jn=(As|0)==(D7|0),Jn?($s=j1+(xr<<2)|0,ls=e[$s>>2]|0,zn=sr+1|0,cs=X4+(sr<<2)|0,e[cs>>2]=ls,br=zn):br=sr,on=xr+1|0,us=(on|0)<(yr|0),us)sr=br,xr=on;else{Sr=br;break}else Sr=0;if(ds=e[xi>>2]|0,Kn=25648+(ds<<2)|0,hs=e[Kn>>2]|0,Wn=hs+24|0,Zn=e[Wn>>2]|0,fs=e[Y8>>2]|0,sn=fs+(ei<<2)|0,jn=e[sn>>2]|0,VQ[Zn&3](ht,t,jn,X4,D9,Sr,U8,D7)|0,an=D7+1|0,eo=e[A6>>2]|0,Is=(an|0)<(eo|0),Is)D7=an;else break}if(ms=p7+1|0,ps=Nu(t)|0,An=(ps|0)!=0,to=An?14:7,Es=(p7|0)<(to|0),Es)p7=ms;else{a=0;break}}return C=In,a|0}function Eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,V1=F1+28|0,K1=e[V1>>2]|0,k2=v+104|0,G2=e[k2>>2]|0,I5=t+28|0,N5=e[I5>>2]|0,w=K1+(N5<<2)|0,V=e[w>>2]|0,t0=t+36|0,e[t0>>2]=V,h0=F1+4|0,K0=e[h0>>2]|0,G0=K0<<2,g=G0,n1=C,C=C+((1*g|0)+15&-16)|0,h=G0,j0=C,C=C+((1*h|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[h0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=G2+48|0,L1=V<<1,M1=L1&2147483646,X2=0;;)if(P1=w1+(X2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,z1=(K1+800|0)+(x1<<2)|0,q1=e[z1>>2]|0,H1=25640+(q1<<2)|0,Y1=e[H1>>2]|0,X1=Y1+20|0,n2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,c2=e[O1>>2]|0,W1=mi[n2&15](t,c2)|0,h2=I1+(X2<<2)|0,e[h2>>2]=W1,s2=E1+(X2<<2)|0,e5=(W1|0)!=0,a=e5&1,e[s2>>2]=a,E2=e[t>>2]|0,a2=E2+(X2<<2)|0,d2=e[a2>>2]|0,u4(d2|0,0,M1|0)|0,$2=X2+1|0,i2=e[h0>>2]|0,l2=($2|0)<(i2|0),l2)X2=$2;else{s1=i2;break}else s1=p1;if(S1=o+1156|0,D1=e[S1>>2]|0,R1=(D1|0)>0,R1)for(U1=o+1160|0,b1=o+2184|0,g2=0;t2=U1+(g2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,N2=(Q2|0)==0,L2=b1+(g2<<2)|0,U2=e[L2>>2]|0,N2?(m2=E1+(U2<<2)|0,W2=e[m2>>2]|0,P2=(W2|0)==0,P2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,V2=E1+(U2<<2)|0,e[V2>>2]=1),q2=g2+1|0,Z2=(q2|0)<(D1|0),Z2;)g2=q2;if(r2=e[o>>2]|0,A2=(r2|0)>0,A2){for(e2=o+1092|0,o2=G2+52|0,f2=o+4|0,A5=s1,w5=0;;){if(H2=(A5|0)>0,H2)for($1=A5,d5=0,f5=0;;)if(N1=f2+(f5<<2)|0,t5=e[N1>>2]|0,T5=(t5|0)==(w5|0),T5?(i5=E1+(f5<<2)|0,x5=e[i5>>2]|0,j2=j0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[j2>>2]=$,b5=e[t>>2]|0,Y5=b5+(f5<<2)|0,g5=e[Y5>>2]|0,b2=d5+1|0,B5=n1+(d5<<2)|0,e[B5>>2]=g5,B=e[h0>>2]|0,M2=B,l5=b2):(M2=$1,l5=d5),s5=f5+1|0,R2=(s5|0)<(M2|0),R2)$1=M2,d5=l5,f5=s5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,L5=e[m5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,Y2=M5+28|0,p5=e[Y2>>2]|0,$5=e[o2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,xC[p5&7](t,y5,n1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[h0>>2]|0,A5=Q,w5=T1}S=e[S1>>2]|0,x=S}else x=D1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,T=(V|0)/2&-1,N=(V|0)>1,a5=x;;){if(r5=a5+-1|0,s0=L+(r5<<2)|0,J=e[s0>>2]|0,o0=R+(J<<2)|0,q=e[o0>>2]|0,d0=F+(r5<<2)|0,j=e[d0>>2]|0,u0=R+(j<<2)|0,c0=e[u0>>2]|0,N)for(n5=0;;){$0=q+(n5<<2)|0,l0=+s[$0>>2],Z=c0+(n5<<2)|0,I0=+s[Z>>2],g0=l0>0,f0=I0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-I0,s[Z>>2]=n0;break}else{s[Z>>2]=l0,p0=I0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=I0+l0,s[Z>>2]=C0;break}else{s[Z>>2]=l0,S0=l0-I0,s[$0>>2]=S0;break}while(!1);if(Q0=n5+1|0,b0=(Q0|0)<(T|0),b0)n5=Q0;else break}if(G=(a5|0)>1,G)a5=r5;else break}if(X=e[h0>>2]|0,K=(X|0)>0,!K)return C=F2,0;for(a0=o+4|0,W=o+1028|0,r0=G2+48|0,h5=0;;)if(y0=e[t>>2]|0,w0=y0+(h5<<2)|0,B0=e[w0>>2]|0,_0=a0+(h5<<2)|0,M0=e[_0>>2]|0,v0=W+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,U0=e[N0>>2]|0,O0=25640+(U0<<2)|0,k0=e[O0>>2]|0,V0=k0+24|0,F0=e[V0>>2]|0,L0=e[r0>>2]|0,z0=L0+(T0<<2)|0,J0=e[z0>>2]|0,q0=I1+(h5<<2)|0,Z0=e[q0>>2]|0,DC[F0&3](t,J0,Z0,B0)|0,P0=h5+1|0,H0=e[h0>>2]|0,o1=(P0|0)<(H0|0),o1)h5=P0;else{E=H0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(z2=0;Y0=e[t>>2]|0,i1=Y0+(z2<<2)|0,x0=e[i1>>2]|0,d1=e[I5>>2]|0,g1=(G2+12|0)+(d1<<2)|0,m1=e[g1>>2]|0,h1=e[m1>>2]|0,Cb(h1,x0,x0),u1=z2+1|0,A1=e[h0>>2]|0,c1=(u1|0)<(A1|0),c1;)z2=u1;return C=F2,0}function yC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0;if(S1=C,a=(o|0)/4&-1,$=a<<2,w=R9($)|0,V=a+o|0,t0=V<<2,h0=R9(t0)|0,K0=o>>1,G0=+(o|0),n1=G0,E1=+tn(+n1),g=E1*1.4426950408889634,h=+z7(g),m=~~h,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=h0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,T=+(F|0),N=b*T,G=+rA(+N),X=G,K=w1<<1,a0=h0+(K<<2)|0,s[a0>>2]=X,W=+Hn(+N),r0=W,s0=-r0,J=K|1,o0=h0+(J<<2)|0,s[o0>>2]=s0,q=+(J|0),d0=y*q,j=+rA(+d0),u0=j,c0=K+K0|0,$0=h0+(c0<<2)|0,s[$0>>2]=u0,l0=+Hn(+d0),Z=l0,I0=c0+1|0,g0=h0+(I0<<2)|0,s[g0>>2]=Z,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+rA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=h0+(B0<<2)|0,s[_0>>2]=y0,M0=+Hn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,U0=h0+(N0<<2)|0,s[U0>>2]=T0,O0=v1+1|0,k0=(O0|0)<(x|0),k0;)v1=O0;if(V0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=J0,Q1=0,L1=0;;)if(q0=Z0&k1,P0=(q0|0)==0,H0=1<>Y0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=Y0;if(d1=B1^-1,g1=L0&d1,m1=g1+-1|0,h1=k1<<1,u1=w+(h1<<2)|0,e[u1>>2]=m1,A1=h1|1,c1=w+(A1<<2)|0,e[c1>>2]=B1,s1=k1+1|0,$1=(s1|0)<(x|0),$1)k1=s1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function wC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||p2($),h=t+12|0,m=e[h>>2]|0,I=(m|0)==0,I||p2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function Cb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,W2=o+($<<2)|0,g=I+j1|0,i5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,h5=u5+(j1<<2)|0,u3=h5,H5=W2,_3=i5;E5=_3+-16|0,y3=H5+8|0,E=+s[y3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,U0=+s[H5>>2],P0=u3+8|0,u1=+s[P0>>2],w1=u1*U0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],l2=+s[L>>2],k2=l2*O1,D2=+s[y3>>2],S2=+s[P0>>2],Q2=S2*D2,N2=k2-Q2,L2=_3+-12|0,s[L2>>2]=N2,U2=H5+24|0,m2=+s[U2>>2],P2=u3+4|0,V2=+s[P2>>2],G2=m2*V2,q2=-G2,Z2=H5+16|0,A5=+s[Z2>>2],H2=+s[u3>>2],N1=H2*A5,t5=q2-N1,T5=_3+-8|0,s[T5>>2]=t5,x5=+s[Z2>>2],j2=+s[P2>>2],I5=j2*x5,b5=+s[U2>>2],Y5=+s[u3>>2],g5=Y5*b5,b2=I5-g5,B5=_3+-4|0,s[B5>>2]=b2,s5=H5+-32|0,R2=u3+16|0,y2=s5>>>0>>0,!y2;)u3=R2,H5=s5,_3=E5;for(Q5=a+(I<<2)|0,h=I+-8|0,N5=o+(h<<2)|0,Q3=h5,V5=N5,S3=i5;m5=Q3+-16|0,L5=V5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,Y2=+s[M5>>2],p5=Y2*q5,$5=V5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],d5=D5*y5,l5=d5+p5,s[S3>>2]=l5,X2=+s[L5>>2],g2=+s[T1>>2],w5=g2*X2,r5=+s[$5>>2],a5=+s[M5>>2],z2=a5*r5,f5=w5-z2,n5=S3+4|0,s[n5>>2]=f5,R5=+s[V5>>2],e5=Q3+-12|0,c5=+s[e5>>2],F2=c5*R5,v5=V5+8|0,J5=+s[v5>>2],i3=+s[m5>>2],I3=i3*J5,h3=I3+F2,K5=S3+8|0,s[K5>>2]=h3,r3=+s[V5>>2],a3=+s[m5>>2],B3=a3*r3,G5=+s[v5>>2],W5=+s[e5>>2],D3=W5*G5,f3=B3-D3,X3=S3+12|0,s[X3>>2]=f3,q3=V5+-32|0,X5=S3+16|0,b3=q3>>>0>>0,!b3;)Q3=m5,V5=q3,S3=X5;for($6=t+4|0,n3=e[$6>>2]|0,CQ(n3,u5,Q5,I),l3=e[t>>2]|0,N3=e[M2>>2]|0,E6=t+12|0,k3=e[E6>>2]|0,BQ(l3,N3,k3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,z5=s6,S5=a,a6=i5,Z5=i5;T3=a6+-16|0,H3=+s[S5>>2],c3=z5+4|0,g3=+s[c3>>2],Q=g3*H3,B=S5+4|0,S=+s[B>>2],b=+s[z5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[z5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],T=F*R,N=M+T,G=-N,s[Z5>>2]=G,V=S5+8|0,X=+s[V>>2],K=z5+12|0,a0=+s[K>>2],W=a0*X,s0=S5+12|0,J=+s[s0>>2],o0=z5+8|0,q=+s[o0>>2],d0=q*J,t0=W-d0,j=a6+-8|0,s[j>>2]=t0,u0=+s[V>>2],c0=+s[o0>>2],$0=c0*u0,Z=+s[s0>>2],I0=+s[K>>2],g0=I0*Z,f0=$0+g0,n0=-f0,h0=Z5+4|0,s[h0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=z5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=z5+16|0,_0=+s[B0>>2],K0=_0*w0,M0=E0-K0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],O0=N0*T0,k0=+s[y0>>2],V0=+s[S0>>2],F0=V0*k0,L0=O0+F0,G0=-L0,z0=Z5+8|0,s[z0>>2]=G0,J0=S5+24|0,q0=+s[J0>>2],Z0=z5+28|0,H0=+s[Z0>>2],o1=H0*q0,Y0=S5+28|0,i1=+s[Y0>>2],x0=z5+24|0,n1=+s[x0>>2],d1=n1*i1,g1=o1-d1,s[T3>>2]=g1,m1=+s[J0>>2],h1=+s[x0>>2],A1=h1*m1,c1=+s[Y0>>2],s1=+s[Z0>>2],$1=s1*c1,j0=A1+$1,E1=-j0,I1=Z5+12|0,s[I1>>2]=E1,Q1=Z5+16|0,p1=S5+32|0,B1=z5+32|0,v1=p1>>>0>>0,v1;)z5=B1,S5=p1,a6=T3,Z5=Q1;for(k1=a+(j1<<2)|0,Y3=i5,i6=k1,x3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,S1=Y3+-4|0,D1=+s[S1>>2],R1=i6+-4|0,s[R1>>2]=D1,F1=-D1,s[x3>>2]=F1,U1=Y3+-8|0,b1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=b1,G1=-b1,x1=x3+4|0,s[x1>>2]=G1,z1=Y3+-12|0,q1=+s[z1>>2],H1=i6+-12|0,s[H1>>2]=q1,Y1=-q1,V1=x3+8|0,s[V1>>2]=Y1,X1=+s[M1>>2],s[L1>>2]=X1,n2=-X1,c2=x3+12|0,s[c2>>2]=n2,W1=x3+16|0,h2=W1>>>0>>0,h2)Y3=M1,i6=L1,x3=W1;else{U5=i5,V3=i5;break}for(;s2=V3+-16|0,E2=U5+12|0,a2=e[E2>>2]|0,e[s2>>2]=a2,K1=U5+8|0,d2=e[K1>>2]|0,$2=V3+-12|0,e[$2>>2]=d2,i2=U5+4|0,r2=e[i2>>2]|0,A2=V3+-8|0,e[A2>>2]=r2,e2=e[U5>>2]|0,o2=V3+-4|0,e[o2>>2]=e2,f2=U5+16|0,t2=s2>>>0>Q5>>>0,t2;)U5=f2,V3=s2}function EQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,v=e[t>>2]|0,w=v>>1,o1=v>>2,c1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,c2=G1+(w<<2)|0,g=w+o1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,X=(c1|0)>0,X){for(h=g+1|0,j=o+(h<<2)|0,p0=c1+-1|0,M0=p0>>>1,z0=M0<<1,q0=w+-2|0,Z0=q0-z0|0,P0=g+-4|0,H0=M0<<2,Y0=P0-H0|0,s5=D,L5=0,h5=r2,R5=j;i1=h5+-16|0,x0=s5+-8|0,n1=h5+-8|0,d1=+s[n1>>2],g1=+s[R5>>2],m1=g1+d1,h1=+s[i1>>2],u1=R5+8|0,A1=+s[u1>>2],s1=A1+h1,$1=s5+-4|0,j0=+s[$1>>2],E1=s1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=L5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*s1,L1=+s[$1>>2],M1=L1*m1,S1=v1-M1,D1=L5|1,b=D1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=S1,F1=R5+16|0,U1=L5+2|0,b1=(U1|0)<(c1|0),b1;)s5=x0,L5=U1,h5=i1,R5=F1;P1=z0+2|0,g2=N1+(Z0<<2)|0,w5=o+(Y0<<2)|0,H2=Z0,B5=g2,m5=P1,a5=w5}else H2=w,B5=D,m5=0,a5=r2;if(Z1=o+4|0,x1=w-c1|0,z1=(m5|0)<(x1|0),z1){for(q1=w+-1|0,H1=q1-m5|0,Y1=H1-c1|0,V1=Y1>>>1,X1=V1<<1,n2=m5+X1|0,j1=V1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,M5=m5,z2=a5,c5=Z1;h2=M2+-8|0,s2=z2+-16|0,E2=z2+-8|0,a2=+s[E2>>2],K1=+s[c5>>2],d2=a2-K1,$2=+s[s2>>2],i2=c5+8|0,l2=+s[i2>>2],A2=$2-l2,e2=M2+-4|0,o2=+s[e2>>2],f2=A2*o2,t2=+s[h2>>2],k2=t2*d2,D2=k2+f2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[h2>>2],N2=Q2*A2,U2=+s[e2>>2],m2=U2*d2,W2=N2-m2,P2=M5|1,Q=P2+w|0,V2=G1+(Q<<2)|0,s[V2>>2]=W2,G2=c5+16|0,q2=M5+2|0,Z2=(q2|0)<(x1|0),Z2;)M2=h2,M5=q2,z2=s2,c5=G2;A5=n2+2|0,l5=o+(O1<<2)|0,B=H2+W1|0,X2=N1+(B<<2)|0,R2=X2,q5=A5,e5=l5}else R2=B5,q5=m5,e5=Z1;if(t5=(q5|0)<(w|0),t5)for(T5=o+(v<<2)|0,y2=R2,Y2=q5,f5=T5,F2=e5;i5=y2+-8|0,x5=f5+-16|0,j2=f5+-8|0,I5=+s[j2>>2],b5=-I5,Y5=+s[F2>>2],g5=b5-Y5,b2=+s[x5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],T=L*F,N=+s[i5>>2],G=N*g5,V=G+T,m=Y2+w|0,K=G1+(m<<2)|0,s[K>>2]=V,a0=+s[i5>>2],W=a0*L,r0=+s[R>>2],s0=r0*g5,J=W-s0,o0=Y2|1,I=o0+w|0,q=G1+(I<<2)|0,s[q>>2]=J,d0=F2+16|0,t0=Y2+2|0,u0=(t0|0)<(w|0),u0;)y2=i5,Y2=t0,f5=x5,F2=d0;if($5=t+4|0,u5=e[$5>>2]|0,CQ(u5,N1,c2,w),d5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,BQ(d5,y5,D5,G1),c0=(o1|0)>0,!c0){C=J5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,Z=l0+(w<<2)|0,I0=t+16|0,Q5=Z,p5=0,r5=G1,n5=$0;g0=n5+-4|0,f0=+s[r5>>2],n0=+s[Q5>>2],h0=n0*f0,C0=r5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+h0,w0=+s[I0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,K0=+s[r5>>2],v0=+s[Q0>>2],T0=v0*K0,N0=+s[C0>>2],U0=+s[Q5>>2],O0=U0*N0,k0=T0-O0,V0=+s[I0>>2],F0=k0*V0,s[g0>>2]=F0,L0=r5+8|0,G0=Q5+8|0,J0=p5+1|0,N5=(J0|0)==(o1|0),!N5;)Q5=G0,p5=J0,r5=L0,n5=g0;C=J5}function CQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0;if(yr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,Y5=a+(I<<2)|0,R3=$>>1,B=R3+-8|0,e8=a+(B<<2)|0,g=o,B8=Y5,Q8=e8;ht=B8+24|0,Hi=+s[ht>>2],Qi=Q8+24|0,vi=+s[Qi>>2],Si=Hi-vi,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,h1=+s[Z0>>2],B1=N0-h1,b1=vi+Hi,s[ht>>2]=b1,n2=+s[Z0>>2],$2=n2+N0,s[Q0>>2]=$2,S2=g+4|0,Z2=+s[S2>>2],g5=Z2*B1,q5=+s[g>>2],X2=q5*Si,c5=X2+g5,s[Qi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*Si,S6=s6-i6,s[Z0>>2]=S6,z3=B8+16|0,Y6=+s[z3>>2],c9=Q8+16|0,o9=+s[c9>>2],w9=Y6-o9,Re=B8+20|0,Ve=+s[Re>>2],V4=Q8+20|0,fe=+s[V4>>2],f6=Ve-fe,xe=o9+Y6,s[z3>>2]=xe,I8=+s[V4>>2],Vt=I8+Ve,s[Re>>2]=Vt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*f6,_4=g+16|0,T9=+s[_4>>2],Ft=T9*w9,u8=Ft+Bt,s[c9>>2]=u8,W8=+s[_4>>2],Nt=W8*f6,T8=+s[at>>2],Xt=T8*w9,O4=Nt-Xt,s[V4>>2]=O4,B4=B8+8|0,ae=+s[B4>>2],N8=Q8+8|0,Ai=+s[N8>>2],Oi=ae-Ai,qi=B8+12|0,pi=+s[qi>>2],Z8=Q8+12|0,Ei=+s[Z8>>2],j8=pi-Ei,Ci=Ai+ae,s[B4>>2]=Ci,X8=+s[Z8>>2],Bi=X8+pi,s[qi>>2]=Bi,$i=g+36|0,c7=+s[$i>>2],Yi=c7*j8,yi=g+32|0,g7=+s[yi>>2],wi=g7*Oi,li=wi+Yi,s[N8>>2]=li,u7=+s[yi>>2],Vi=u7*j8,Ji=+s[$i>>2],zi=Ji*Oi,Ki=Vi-zi,s[Z8>>2]=Ki,ci=+s[B8>>2],Wi=+s[Q8>>2],ei=ci-Wi,gi=B8+4|0,V8=+s[gi>>2],ti=Q8+4|0,d7=+s[ti>>2],Zi=V8-d7,h7=Wi+ci,s[B8>>2]=h7,ki=+s[ti>>2],ji=ki+V8,s[gi>>2]=ji,bi=g+52|0,Xi=+s[bi>>2],Di=Xi*Zi,ii=g+48|0,_i=+s[ii>>2],e7=_i*ei,ui=e7+Di,s[Q8>>2]=ui,J8=+s[ii>>2],xi=J8*Zi,x4=+s[bi>>2],b0=x4*ei,E0=xi-b0,s[ti>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(K0=(C0|0)>1,K0)for(G8=1;;){if(M0=1<>G8,U0=4<>1,S=O0+-8|0,N=U0+1|0,d0=U0<<1,$0=d0|1,I0=U0*3|0,f0=I0+1|0,h0=U0<<2,di=0;;){for(V0=o5(di,T0)|0,F0=a+(V0<<2)|0,m=E+V0|0,L0=a+(m<<2)|0,u0=S+V0|0,G0=a+(u0<<2)|0,h=o,vt=L0,U8=G0;z0=vt+24|0,J0=+s[z0>>2],q0=U8+24|0,P0=+s[q0>>2],H0=J0-P0,o1=vt+28|0,Y0=+s[o1>>2],i1=U8+28|0,x0=+s[i1>>2],n1=Y0-x0,d1=P0+J0,s[z0>>2]=d1,g1=+s[i1>>2],m1=g1+Y0,s[o1>>2]=m1,u1=h+4|0,A1=+s[u1>>2],c1=A1*n1,s1=+s[h>>2],$1=s1*H0,j0=$1+c1,s[q0>>2]=j0,E1=+s[h>>2],I1=E1*n1,Q1=+s[u1>>2],p1=Q1*H0,w1=I1-p1,s[i1>>2]=w1,v1=h+(U0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=U8+16|0,S1=+s[M1>>2],D1=L1-S1,R1=vt+20|0,F1=+s[R1>>2],U1=U8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=S1+L1,s[k1>>2]=G1,x1=+s[U1>>2],z1=x1+F1,s[R1>>2]=z1,q1=h+(N<<2)|0,H1=+s[q1>>2],Y1=H1*Z1,V1=+s[v1>>2],X1=V1*D1,j1=X1+Y1,s[M1>>2]=j1,O1=+s[v1>>2],c2=O1*Z1,W1=+s[q1>>2],h2=W1*D1,s2=c2-h2,s[U1>>2]=s2,E2=h+(d0<<2)|0,a2=vt+8|0,K1=+s[a2>>2],d2=U8+8|0,i2=+s[d2>>2],l2=K1-i2,r2=vt+12|0,A2=+s[r2>>2],e2=U8+12|0,o2=+s[e2>>2],f2=A2-o2,t2=i2+K1,s[a2>>2]=t2,k2=+s[e2>>2],D2=k2+A2,s[r2>>2]=D2,Q2=h+($0<<2)|0,N2=+s[Q2>>2],L2=N2*f2,U2=+s[E2>>2],m2=U2*l2,W2=m2+L2,s[d2>>2]=W2,P2=+s[E2>>2],V2=P2*f2,G2=+s[Q2>>2],q2=G2*l2,A5=V2-q2,s[e2>>2]=A5,H2=h+(I0<<2)|0,N1=+s[vt>>2],t5=+s[U8>>2],T5=N1-t5,i5=vt+4|0,x5=+s[i5>>2],j2=U8+4|0,I5=+s[j2>>2],b5=x5-I5,b2=t5+N1,s[vt>>2]=b2,B5=+s[j2>>2],s5=B5+x5,s[i5>>2]=s5,R2=h+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[H2>>2],N5=Q5*T5,m5=N5+y2,s[U8>>2]=m5,L5=+s[H2>>2],M5=L5*b5,Y2=+s[R2>>2],p5=Y2*T5,$5=M5-p5,s[j2>>2]=$5,u5=h+(h0<<2)|0,y5=vt+-32|0,T1=U8+-32|0,D5=T1>>>0>>0,!D5;)h=u5,vt=y5,U8=T1;if(d5=di+1|0,l5=(d5|0)<(M0|0),l5)di=d5;else break}if(g2=G8+1|0,Li=(g2|0)==(C0|0),Li)break;G8=g2}if(k0=($|0)>0,k0)l9=0;else return;for(;w5=a+(l9<<2)|0,Q=l9|30,r5=a+(Q<<2)|0,a5=+s[r5>>2],T=l9|14,h5=a+(T<<2)|0,z2=+s[h5>>2],f5=a5-z2,q=l9|31,n5=a+(q<<2)|0,R5=+s[n5>>2],c0=l9|15,e5=a+(c0<<2)|0,F2=+s[e5>>2],v5=R5-F2,J5=z2+a5,s[r5>>2]=J5,i3=F2+R5,s[n5>>2]=i3,s[h5>>2]=f5,s[e5>>2]=v5,l0=l9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],Z=l9|12,h3=a+(Z<<2)|0,K5=+s[h3>>2],r3=I3-K5,g0=l9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],n0=l9|13,W5=a+(n0<<2)|0,D3=+s[W5>>2],f3=G5-D3,y3=K5+I3,s[E5>>2]=y3,X3=D3+G5,s[a3>>2]=X3,q3=r3*.9238795042037964,X5=f3*.3826834261417389,b3=q3-X5,s[h3>>2]=b3,t3=r3*.3826834261417389,T3=f3*.9238795042037964,H3=T3+t3,s[W5>>2]=H3,p0=l9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=l9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],z5=g3-Q3,v=l9|27,H5=a+(v<<2)|0,V5=+s[H5>>2],w=l9|11,S5=a+(w<<2)|0,U5=+s[S5>>2],$6=V5-U5,n3=Q3+g3,s[c3>>2]=n3,l3=U5+V5,s[H5>>2]=l3,N3=z5-$6,E6=N3*.7071067690849304,s[u3>>2]=E6,k3=$6+z5,_3=k3*.7071067690849304,s[S5>>2]=_3,D=l9|24,S3=a+(D<<2)|0,a6=+s[S3>>2],y=l9|8,V3=a+(y<<2)|0,Z5=+s[V3>>2],x3=a6-Z5,x=l9|25,d3=a+(x<<2)|0,J3=+s[d3>>2],M=l9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],L6=J3-m3,M6=Z5+a6,s[S3>>2]=M6,R6=m3+J3,s[d3>>2]=R6,r6=x3*.3826834261417389,h6=L6*.9238795042037964,b6=r6-h6,G6=L6*.3826834261417389,X6=x3*.9238795042037964,v6=G6+X6,L=l9|22,L3=a+(L<<2)|0,n6=+s[L3>>2],R=l9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],M3=n6-C6,F=l9|7,K3=a+(F<<2)|0,e6=+s[K3>>2],G=l9|23,F6=a+(G<<2)|0,l6=+s[F6>>2],o3=e6-l6,K6=C6+n6,s[L3>>2]=K6,A3=l6+e6,s[F6>>2]=A3,s[o6>>2]=o3,s[K3>>2]=M3,V=l9|4,c6=a+(V<<2)|0,B6=+s[c6>>2],X=l9|20,A6=a+(X<<2)|0,D6=+s[A6>>2],U6=B6-D6,K=l9|5,t9=a+(K<<2)|0,Q6=+s[t9>>2],a0=l9|21,e9=a+(a0<<2)|0,G3=+s[e9>>2],n9=Q6-G3,V6=D6+B6,s[A6>>2]=V6,s9=G3+Q6,s[e9>>2]=s9,P6=n9*.9238795042037964,J6=U6*.3826834261417389,T6=P6+J6,i9=n9*.3826834261417389,_6=U6*.9238795042037964,O6=i9-_6,W=l9|2,U3=a+(W<<2)|0,q6=+s[U3>>2],r0=l9|18,a9=a+(r0<<2)|0,d9=+s[a9>>2],B9=q6-d9,s0=l9|3,Q9=a+(s0<<2)|0,y9=+s[Q9>>2],J=l9|19,h9=a+(J<<2)|0,f9=+s[h9>>2],H9=y9-f9,y6=d9+q6,s[a9>>2]=y6,H6=f9+y9,s[h9>>2]=H6,A9=H9+B9,Y9=A9*.7071067690849304,we=H9-B9,ue=we*.7071067690849304,Ee=+s[w5>>2],o0=l9|16,V9=a+(o0<<2)|0,ie=+s[V9>>2],F9=Ee-ie,t0=l9|1,v9=a+(t0<<2)|0,W6=+s[v9>>2],j=l9|17,$9=a+(j<<2)|0,ve=+s[$9>>2],de=W6-ve,_9=ie+Ee,s[V9>>2]=_9,Fe=ve+W6,s[$9>>2]=Fe,Te=de*.3826834261417389,Ge=F9*.9238795042037964,He=Te+Ge,o4=de*.9238795042037964,ke=F9*.3826834261417389,Ye=o4-ke,J9=Ye-v6,he=He-b6,Ue=He+b6,Ce=Ye+v6,v4=he+J9,W9=J9-he,k9=+s[S5>>2],k4=ue-k9,Y4=+s[u3>>2],nt=Y4-Y9,Je=Y4+Y9,ze=k9+ue,s4=+s[h3>>2],R4=s4-T6,ot=+s[W5>>2],re=ot-O6,d4=s4+T6,Be=ot+O6,N6=R4-re,Ke=re+R4,P9=+s[h5>>2],Ne=P9-o3,h4=+s[e5>>2],ne=h4-M3,f4=o3+P9,I4=M3+h4,Se=Ne+k4,a4=Ne-k4,Pe=N6+v4,m4=Pe*.7071067690849304,S9=N6-v4,J4=S9*.7071067690849304,Ie=m4+Se,s[o6>>2]=Ie,S4=Se-m4,s[c6>>2]=S4,be=Ke-W9,me=be*.7071067690849304,z6=ne-nt,F4=me+a4,s[w5>>2]=F4,T4=a4-me,s[U3>>2]=T4,st=Ke+W9,pe=st*.7071067690849304,mt=ne+nt,W3=z6+J4,s[Q9>>2]=W3,x9=z6-J4,s[v9>>2]=x9,b9=mt+pe,s[K3>>2]=b9,Oe=mt-pe,s[t9>>2]=Oe,A4=f4+Je,h8=f4-Je,N4=Ue+d4,f8=d4-Ue,_8=A4+N4,s[h5>>2]=_8,m8=A4-N4,s[h3>>2]=m8,Ut=Be-Ce,Pt=I4-ze,Ot=h8+Ut,s[V3>>2]=Ot,qt=h8-Ut,s[u3>>2]=qt,t8=Be+Ce,i8=I4+ze,x8=Pt+f8,s[S5>>2]=x8,Ht=Pt-f8,s[d6>>2]=Ht,Yt=i8+t8,s[e5>>2]=Yt,_t=i8-t8,s[W5>>2]=_t,xt=+s[d3>>2],pt=Fe-xt,Jt=+s[S3>>2],zt=_9-Jt,r8=Jt+_9,n8=xt+Fe,Et=zt+pt,z4=pt-zt,G4=+s[h9>>2],Lt=+s[H5>>2],L9=G4-Lt,p8=+s[c3>>2],b4=+s[a9>>2],E8=p8-b4,L8=b4+p8,o8=Lt+G4,M8=+s[E5>>2],$4=+s[A6>>2],s8=M8-$4,Mt=+s[a3>>2],At=+s[e9>>2],We=Mt-At,U4=$4+M8,$t=At+Mt,Ct=s8-We,Rt=We+s8,p4=+s[r5>>2],oe=+s[L3>>2],lt=p4-oe,ct=+s[n5>>2],Qt=+s[F6>>2],E4=ct-Qt,D4=oe+p4,K4=Qt+ct,W4=lt+L9,se=lt-L9,P4=Ct+Et,C4=P4*.7071067690849304,gt=Ct-Et,De=gt*.7071067690849304,yt=C4+W4,s[L3>>2]=yt,a8=W4-C4,s[A6>>2]=a8,Ze=Rt-z4,E3=Ze*.7071067690849304,Z4=E4-E8,wt=E3+se,s[V9>>2]=wt,l4=se-E3,s[a9>>2]=l4,Z9=Rt+z4,c4=Z9*.7071067690849304,j4=E4+E8,Wt=Z4+De,s[h9>>2]=Wt,C8=Z4-De,s[$9>>2]=C8,A8=j4+c4,s[F6>>2]=A8,$8=j4-c4,s[e9>>2]=$8,Zt=D4+L8,l8=D4-L8,jt=U4+r8,ut=U4-r8,dt=Zt+jt,s[r5>>2]=dt,je=Zt-jt,s[E5>>2]=je,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[S3>>2]=X4,D9=l8-c8,s[c3>>2]=D9,g8=$t+n8,et=K4+o8,H8=Tt+ut,s[H5>>2]=H8,K8=Tt-ut,s[d3>>2]=K8,R8=et+g8,s[n5>>2]=R8,F8=et-g8,s[a3>>2]=F8,g4=l9+32|0,Y8=(g4|0)<($|0),Y8;)l9=g4}function BQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,G=o+(t<<2)|0,s1=G,$1=a,j0=$,E1=v;d0=e[$1>>2]|0,g=d0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,h=L0+b|0,x0=$+(h<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=h+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=c1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[s1>>2],F=L*R,T=s1+4|0,N=+s[T>>2],V=N*y,X=V+F,K=N*L,a0=R*y,W=K-a0,r0=E1+-16|0,s0=D+c1,J=s0*.5,o0=x-M,q=o0*.5,t0=X+J,s[j0>>2]=t0,j=J-X,u0=E1+-8|0,s[u0>>2]=j,c0=W+q,$0=j0+4|0,s[$0>>2]=c0,l0=W-q,Z=E1+-4|0,s[Z>>2]=l0,I0=$1+8|0,g0=e[I0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,h0=$1+12|0,p0=e[h0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],K0=B0+w0,M0=s1+8|0,v0=+s[M0>>2],T0=K0*v0,N0=s1+12|0,U0=+s[N0>>2],O0=U0*y0,k0=O0+T0,V0=U0*K0,F0=v0*y0,G0=V0-F0,z0=E0+Q0,J0=z0*.5,q0=w0-B0,Z0=q0*.5,P0=k0+J0,H0=j0+8|0,s[H0>>2]=P0,o1=J0-k0,s[r0>>2]=o1,Y0=G0+Z0,i1=j0+12|0,s[i1>>2]=Y0,n1=G0-Z0,d1=E1+-12|0,s[d1>>2]=n1,g1=s1+16|0,m1=$1+16|0,h1=j0+16|0,u1=h1>>>0>>0,u1;)s1=g1,$1=m1,j0=h1,E1=r0}function Bb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=ce(1,36)|0,h=t+4|0,m=e[h>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Qb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&p2(t)}function yb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function wb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0;A9=C,y6=t,Y9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,d3=+z7(l3),G6=d3+-1,F6=~~G6,L=t+32|0,e[L>>2]=F6,r0=+(g|0),l0=r0*.25,b0=l0,U0=b0*.5,P0=+($|0),u1=U0/P0,w1=+tn(+u1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,l2=F6+1|0,N2=1<>2]=c5,v5=+($|0),J5=v5+.25,E5=J5*r0,I3=E5,h3=I3*.5,K5=h3/P0,r3=+tn(+K5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,G5=H2*B3,W5=G5+.5,D3=~~W5,y3=1-c5|0,X3=y3+D3|0,q3=t+40|0,e[q3>>2]=X3,X5=$<<2,b3=R9(X5)|0,t3=t+16|0,e[t3>>2]=b3,s6=R9(X5)|0,T3=t+20|0,e[T3>>2]=s6,H3=R9(X5)|0,c3=t+24|0,e[c3>>2]=H3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,z5=t+48|0,s[z5>>2]=1,H5=(g|0)<26e3;do if(H5)s[z5>>2]=0;else{if(V5=(g|0)<38e3,V5){s[z5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[z5>>2]=1.274999976158142)}while(!1);Y3=P0*2,U5=+(g|0),$6=($|0)>0,k3=$6,i9=0,o9=0;e:for(;;){for(Q=k3^1,_6=i9;;){if(S3=_6+1|0,a6=+(S3|0),i6=a6*.08664337545633316,V3=i6+2.7488713472395148,Z5=+Yn(+V3),x3=Y3*Z5,J3=x3/U5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(o9|0),t9=E|Q,!t9){m=S3,I=m3,O6=_6;break}if(L6=(S3|0)<87,L6)_6=S3;else{d9=o9;break e}}for(M6=1272+(O6<<2)|0,R6=+s[M6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],h6=r6-R6,b6=I-o9|0,X6=+(b6|0),v6=h6/X6,L3=o9-I|0,n6=o9-$|0,o6=L3>>>0>n6>>>0,H9=o6?L3:n6,n3=o9-H9|0,U6=R6,B9=o9;C6=U6+100,z3=b3+(B9<<2)|0,s[z3>>2]=C6,M3=U6+v6,K3=B9+1|0,V6=(K3|0)==(n3|0),!V6;)U6=M3,B9=K3;if(N3=(n3|0)<($|0),E6=(m|0)<87,E6)k3=N3,i9=m,o9=n3;else{d9=n3;break}}if(_3=(d9|0)<($|0),_3)for(Q9=d9;Y6=Q9+-1|0,A6=b3+(Y6<<2)|0,D6=e[A6>>2]|0,R=b3+(Q9<<2)|0,e[R>>2]=D6,F=Q9+1|0,n9=(F|0)==($|0),!n9;)Q9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,K6=o+120|0,A3=e[K6>>2]|0,c6=o+124|0,B6=o+116|0,R3=o+112|0,P6=1,U3=0,y9=-99;;){K=o5(o3,U3)|0,a0=+(K|0),W=a0*.0007399999885819852,s0=W,J=+ts(+s0),o0=J*13.100000381469727,q=o5(K,K)|0,d0=+(q|0),t0=d0*18499999754340024e-24,j=t0,u0=+ts(+j),c0=u0*2.240000009536743,$0=c0+o0,Z=a0*9999999747378752e-20,I0=Z,g0=$0+I0,f0=g0,n0=A3+y9|0,h0=(n0|0)<(U3|0);e:do if(h0)for(p0=+s[R3>>2],C0=f0-p0,S0=C0,f9=y9;;){if(Q0=o5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+ts(+w0),_0=B0*13.100000381469727,K0=o5(Q0,Q0)|0,M0=+(K0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+ts(+T0),O0=N0*2.240000009536743,k0=E0*9999999747378752e-20,V0=k0,F0=_0+V0,L0=F0+O0,G0=L0($|0);e:do if(z0)J6=P6;else for(J0=e[c6>>2]|0,q0=J0+U3|0,T6=P6;;){if(Y0=(T6|0)<(q0|0),!Y0&&(i1=o5(T6,o3)|0,x0=+(i1|0),n1=x0*.0007399999885819852,d1=n1,g1=+ts(+d1),m1=g1*13.100000381469727,h1=o5(i1,i1)|0,A1=+(h1|0),c1=A1*18499999754340024e-24,s1=c1,$1=+ts(+s1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,b1=U3+1|0,G3=(b1|0)==($|0),G3)break;P6=J6,U3=b1,y9=h9}if(e6)for(T=U5*.5,N=e[L>>2]|0,G=N+1|0,V=1<>2]=O1,W1=q6+1|0,e9=(W1|0)==($|0),e9){v=T;break}else q6=W1;else H6=19}else H6=19;if((H6|0)==19&&(y=U5*.5,v=y),h2=o+36|0,s2=v/P0,E2=s2,a2=o+24|0,K1=+s[a2>>2],d2=o+28|0,$2=+s[d2>>2],r2=Sb(h2,E2,$,K1,$2)|0,A2=t+8|0,e[A2>>2]=r2,e2=R9(12)|0,o2=t+12|0,e[o2>>2]=e2,f2=R9(X5)|0,e[e2>>2]=f2,t2=R9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=R9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,a9=0;L2=+(a9|0),U2=L2+.5,m2=U2*U5,W2=m2/Y3,P2=+tn(+W2),V2=P2*2.885390043258667,G2=V2+-11.931568145751953,q2=G2,Z2=q2<0,s9=Z2?0:q2,h=s9>=16,c9=h?16:s9,A5=~~c9,N1=+(A5|0),t5=c9-N1,T5=t5,i5=1-T5,x5=A5+1|0,j2=(Q2+132|0)+(A5<<2)|0,I5=+s[j2>>2],b5=I5,Y5=b5*i5,g5=(Q2+132|0)+(x5<<2)|0,B5=+s[g5>>2],s5=B5*t5,R2=s5,M2=R2+Y5,y2=M2,Q5=b+(a9<<2)|0,s[Q5>>2]=y2,N5=(Q2+200|0)+(A5<<2)|0,m5=+s[N5>>2],L5=m5,q5=L5*i5,Y2=(Q2+200|0)+(x5<<2)|0,p5=+s[Y2>>2],$5=p5*t5,u5=$5,y5=u5+q5,T1=y5,D5=w+(a9<<2)|0,s[D5>>2]=T1,d5=(Q2+268|0)+(A5<<2)|0,l5=+s[d5>>2],X2=l5,w5=X2*i5,r5=(Q2+268|0)+(x5<<2)|0,a5=+s[r5>>2],h5=a5*t5,z2=h5,f5=z2+w5,n5=f5,R5=D+(a9<<2)|0,s[R5>>2]=n5,e5=a9+1|0,Q6=(e5|0)==($|0),!Q6;)a9=e5}function QQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;if(P0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,V=(w|0)==0,V||p2(w),t0=t+20|0,h0=e[t0>>2]|0,K0=(h0|0)==0,K0||p2(h0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||p2(L0),g=t+8|0,h=e[g>>2]|0,m=(h|0)==0,!m){for(E=h,J0=0;I=E+(J0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,p2(B),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,p2(y),x=e[g>>2]|0,M=x+(J0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,p2(F),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,X=G+12|0,K=e[X>>2]|0,p2(K),a0=e[g>>2]|0,W=a0+(J0<<2)|0,r0=e[W>>2]|0,s0=r0+16|0,J=e[s0>>2]|0,p2(J),o0=e[g>>2]|0,q=o0+(J0<<2)|0,d0=e[q>>2]|0,j=d0+20|0,u0=e[j>>2]|0,p2(u0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,Z=l0+24|0,I0=e[Z>>2]|0,p2(I0),g0=e[g>>2]|0,f0=g0+(J0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,p2(C0),S0=e[g>>2]|0,Q0=S0+(J0<<2)|0,b0=e[Q0>>2]|0,p2(b0),E0=J0+1|0,z0=(E0|0)==17,!z0;)o=e[g>>2]|0,E=o,J0=E0;y0=e[g>>2]|0,p2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,p2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,p2(N0),U0=e[w0>>2]|0,O0=U0+8|0,k0=e[O0>>2]|0,p2(k0),V0=e[w0>>2]|0,p2(V0)),q0=t,H0=q0+52|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0))}}function yQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,h=I,M=C,C=C+((1*h|0)+15&-16)|0,W=t+24|0,u0=e[W>>2]|0,vQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(h0=0;$0=o+(h0<<2)|0,l0=+s[$0>>2],Z=a+(h0<<2)|0,I0=+s[Z>>2],E=l0-I0,Q=M+(h0<<2)|0,s[Q>>2]=E,B=h0+1|0,f0=(B|0)==(m|0),!f0;)h0=B;if(S=e[W>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,vQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],T=L-F,s[R>>2]=T,N=p0+1|0,n0=(N|0)==(m|0),!n0;)p0=N;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;G=a+(C0<<2)|0,V=+s[G>>2],X=V,K=X+.5,a0=~~K,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,J=M+(C0<<2)|0,o0=+s[J>>2],q=(y+336|0)+(g<<2)|0,d0=+s[q>>2],t0=d0+o0,s[G>>2]=t0,j=C0+1|0,g0=(j|0)==(m|0),!g0;)C0=j;C=Q0}function wQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,T=t+40|0,u1=e[T>>2]|0,w1=u1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,N=(u1|0)>0,N)for($5=0;q=P1+($5<<2)|0,s[q>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(u1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],d1=g50,g1){for(m1=t+16|0,h1=e[m1>>2]|0,d5=0;A1=h1+(d5<<2)|0,c1=+s[A1>>2],s1=c1+q5,$1=a+(d5<<2)|0,s[$1>>2]=s1,j0=d5+1|0,Y2=(j0|0)==(F|0),!Y2;)d5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,g1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,S1=t+28|0,u5=0;;){D1=o+(u5<<2)|0,R1=+s[D1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,a5=R1;e:for(;;)for(y5=D5;;){if(b1=y5+1|0,Z1=(b1|0)<(F|0),!Z1){S=0,v=b1,T1=y5,h5=a5;break e}if(G1=k1+(b1<<2)|0,x1=e[G1>>2]|0,z1=(x1|0)==(U1|0),!z1){S=1,v=b1,T1=y5,h5=a5;break e}if(q1=o+(b1<<2)|0,H1=+s[q1>>2],Y1=H1>a5,Y1){D5=b1,a5=H1;continue e}else y5=b1}if(V1=h5+6,X1=a+(T1<<2)|0,n2=+s[X1>>2],O1=V1>n2,O1&&(c2=e[L1>>2]|0,W1=U1>>c2,h2=(W1|0)>16,m=h2?16:W1,s2=(m|0)<0,h=s2?0:m,E2=I1+(h<<2)|0,a2=e[E2>>2]|0,K1=e[M1>>2]|0,d2=B1+h5,$2=d2,l2=$2+-30,r2=l2*.10000000149011612,A2=~~r2,e2=(A2|0)<0,o2=e2?0:A2,f2=(o2|0)>7,t2=f2?7:o2,k2=a2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,N2=+s[S2>>2],L2=~~N2,U2=+s[D2>>2],m2=~~U2,W2=(m2|0)<(L2|0),W2))for(P2=k1+(T1<<2)|0,V2=e[P2>>2]|0,G2=e[S1>>2]|0,q2=V2-G2|0,Z2=+(q2|0),H2=K1>>1,N1=+(H2|0),t5=U2+-16,T5=+(K1|0),i5=t5*T5,x5=i5-N1,j2=x5+Z2,I5=~~j2,p5=m2,J5=I5;b5=(J5|0)>0,b5&&(R=p5+2|0,Y5=D2+(R<<2)|0,b2=+s[Y5>>2],B5=b2+h5,s5=P1+(J5<<2)|0,R2=+s[s5>>2],M2=R2>2]=B5)),y2=J5+K1|0,Q5=(y2|0)<(u1|0),N5=p5+1|0,m5=(N5|0)<(L2|0),c5=m5&Q5,c5;)p5=N5,J5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),L5=e[M>>2]|0,bb(P1,L5,u1),G=e[t>>2]|0,V=(G|0)>1;e:do if(V)for(X=t+20|0,K=t+28|0,a0=e[X>>2]|0,W=e[a0>>2]|0,r0=L5>>1,s0=W-r0|0,J=e[K>>2]|0,o0=s0-J|0,d0=e[j1>>2]|0,t0=d0+32|0,Z=1,n0=W,X2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(Z<<2)|0,I0=e[l0>>2]|0,g0=I0+n0|0,h0=g0>>1,p0=h0-J|0,C0=+s[t0>>2],S0=$0>C0,z2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,n5=z2;;){for(b0=n5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(K0=w0=(G|0),U0=(n0|0)>(T0|0),R5=N0|U0;t:do if(R5)g2=X2;else for(w5=X2;;){if(O0=a+(w5<<2)|0,k0=+s[O0>>2],V0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(G|0),!G0){g2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,z0=(L|0)>(T0|0),z0){g2=L0;break}else w5=L0}while(!1);if(j=g2+1|0,u0=(j|0)<(G|0),!u0){l5=g2;break e}w=a0+(g2<<2)|0,x=e[w>>2]|0,Z=j,n0=x,X2=g2,F2=v5}else l5=0;while(!1);if(J0=e[T>>2]|0,q0=J0+-1|0,Z0=P1+(q0<<2)|0,P0=+s[Z0>>2],H0=(l5|0)<(G|0),H0)r5=l5;else{C=E5;return}for(;o1=a+(r5<<2)|0,Y0=+s[o1>>2],x0=Y0>2]=P0),n1=r5+1|0,M5=(n1|0)==(G|0),!M5;)r5=n1;C=E5}function rl(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,Z=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],T=F+M,N=+s[b>>2],G=T>N,_0=G?N:T,V=a+(B0<<2)|0,X=+s[V>>2],K=X+Z,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,J=+s[r0>>2],o0=_0-J,q=o0>-17.200000762939453,d0=o0+17.200000762939453,t0=d0,q?(j=D*t0,u0=1-j,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*t0,I0=1-l0,g0=I0,y0=g0),f0=h+(B0<<2)|0,n0=+s[f0>>2],h0=n0*y0,s[f0>>2]=h0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function vb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;return N=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),h=g+8|0,m=e[h>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function kb(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0;if(Ve=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?W5=16:(d6=A5+508|0,v6=e[d6>>2]|0,W5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,U0=e[b0>>2]|0,P0=1624+(U0<<3)|0,u1=+l1[P0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,H2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,M5=C,C=C+((1*M|0)+15&-16)|0,g2=$+1156|0,F2=(c0|0)>1e3,Ye=F2?1696:1624,He=Ye+(P1<<3)|0,Ge=+l1[He>>3],G5=o5(j1,W5)|0,L=G5,D3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=D3,v=G5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=G5,y3=C,C=C+((1*w|0)+15&-16)|0,e[H2>>2]=y3,D=G5,q3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=q3,X5=(E|0)>1,X5&&(b3=D3+(W5<<2)|0,t3=i2+4|0,e[t3>>2]=b3,s6=f3+(W5<<2)|0,T3=Q2+4|0,e[T3>>2]=s6,H3=y3+(W5<<2)|0,c3=H2+4|0,e[c3>>2]=H3,g3=q3+(W5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,B9=(E|0)==2,!B9))for(S5=2;F=e[i2>>2]|0,G=e[Q2>>2]|0,V=e[H2>>2]|0,X=e[b2>>2]|0,V5=o5(S5,W5)|0,Y3=F+(V5<<2)|0,U5=i2+(S5<<2)|0,e[U5>>2]=Y3,$6=G+(V5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=V+(V5<<2)|0,N3=H2+(S5<<2)|0,e[N3>>2]=l3,k3=X+(V5<<2)|0,_3=b2+(S5<<2)|0,e[_3>>2]=k3,S3=S5+1|0,o9=(S3|0)==(E|0),!o9;)S5=S3;if(z5=e[g2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,V3=c0^-1,Z5=W5^-1,H6=0,w9=V3;;){if(J3=(w9|0)>(Z5|0),o4=J3?w9:Z5,m3=o4^-1,L6=c0-H6|0,M6=(W5|0)>(L6|0),Q=M6?L6:W5,ge(M5|0,m|0,j1|0)|0,u4(a6|0,0,G5|0)|0,i6)for(R6=(Q|0)>0,S6=l0-H6|0,$9=0;;){if(L3=h+($9<<2)|0,n6=e[L3>>2]|0,o6=n6+(H6<<2)|0,C6=M5+($9<<2)|0,z3=e[C6>>2]|0,M3=(z3|0)==0,M3){if(R6)for(F6=H2+($9<<2)|0,l6=e[F6>>2]|0,K6=i2+($9<<2)|0,A3=e[K6>>2]|0,c6=Q2+($9<<2)|0,B6=e[c6>>2]|0,R3=b2+($9<<2)|0,Y6=e[R3>>2]|0,v9=0;G0=l6+(v9<<2)|0,s[G0>>2]=1000000013351432e-25,z0=A3+(v9<<2)|0,s[z0>>2]=0,J0=B6+(v9<<2)|0,s[J0>>2]=0,q0=Y6+(v9<<2)|0,e[q0>>2]=0,q=v9+H6|0,Z0=n6+(q<<2)|0,e[Z0>>2]=0,H0=v9+1|0,q6=(H0|0)==(m3|0),!q6;)v9=H0}else{if(K3=H2+($9<<2)|0,e6=e[K3>>2]|0,R6){for(ie=0;d0=ie+H6|0,A6=n6+(d0<<2)|0,D6=e[A6>>2]|0,U6=1768+(D6<<2)|0,t9=e[U6>>2]|0,e9=e6+(ie<<2)|0,e[e9>>2]=t9,G3=ie+1|0,_6=(G3|0)==(m3|0),!_6;)ie=G3;if(n9=g+($9<<2)|0,V6=e[n9>>2]|0,s9=b2+($9<<2)|0,c9=e[s9>>2]|0,R6){for(V9=0;P6=(V9|0)>=(S6|0),u0=P6?Ge:u1,J6=u0,t0=V9+H6|0,T6=V6+(t0<<2)|0,i9=+s[T6>>2],y9=+rr(+i9),Z=e6+(V9<<2)|0,I0=+s[Z>>2],g0=y9/I0,f0=c9+(V9<<2)|0,_9=!(g0>2]=B,n0=V9+1|0,O6=(n0|0)==(Q|0),!O6;)V9=n0;if(R6)for(h0=i2+($9<<2)|0,p0=e[h0>>2]|0,C0=Q2+($9<<2)|0,S0=e[C0>>2]|0,F9=0;;)if(Q0=F9+H6|0,E0=V6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(F9<<2)|0,s[B0>>2]=w0,_0=S0+(F9<<2)|0,s[_0>>2]=w0,K0=+s[E0>>2],M0=K0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(F9<<2)|0,O0=+s[N0>>2],k0=O0*O0,s[N0>>2]=k0,V0=F9+1|0,U3=(V0|0)==(m3|0),U3){T=C0,L0=p0;break}else F9=V0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,R=i2+($9<<2)|0,K=e[R>>2]|0,J=Q2+($9<<2)|0,T=J,L0=K),F0=e[T>>2]|0,Fe=e[$0>>2]|0,+kQ(Fe,l0,L0,F0,e6,0,H6,Q,o6)}if(o1=$9+1|0,a9=(o1|0)==(E|0),a9)break;$9=o1}if(r6=e[g2>>2]|0,h6=(r6|0)>0,h6)for(b6=(Q|0)>0,G6=I-H6|0,X6=l0-H6|0,B3=r6,ke=0;;){if(Y0=($+1160|0)+(ke<<2)|0,i1=e[Y0>>2]|0,x0=($+2184|0)+(ke<<2)|0,n1=e[x0>>2]|0,d1=h+(i1<<2)|0,g1=e[d1>>2]|0,m1=g1+(H6<<2)|0,h1=h+(n1<<2)|0,A1=e[h1>>2]|0,c1=i2+(i1<<2)|0,s1=e[c1>>2]|0,$1=i2+(n1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(n1<<2)|0,p1=e[Q1>>2]|0,B1=H2+(i1<<2)|0,v1=e[B1>>2]|0,k1=H2+(n1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,S1=e[M1>>2]|0,D1=b2+(n1<<2)|0,R1=e[D1>>2]|0,F1=M5+(i1<<2)|0,U1=e[F1>>2]|0,b1=(U1|0)==0,Z1=M5+(n1<<2)|0,b1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?X2=B3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(W6=0;;){z1=(W6|0)<(G6|0);do if(z1){if(q1=S1+(W6<<2)|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,V1=R1+(W6<<2)|0,Y1&&(X1=e[V1>>2]|0,n2=(X1|0)==0,n2)){i5=(W6|0)<(X6|0);do if(i5)x5=j0+(W6<<2)|0,j2=+s[x5>>2],I5=s1+(W6<<2)|0,b5=+s[I5>>2],Y5=b5+j2,s[I5>>2]=Y5,f9=+rr(+Y5),g5=I1+(W6<<2)|0,s[g5>>2]=f9,N=x5;else if(B5=s1+(W6<<2)|0,s5=+s[B5>>2],R2=j0+(W6<<2)|0,M2=+s[R2>>2],y2=M2+s5,Q5=y2<0,Q9=+rr(+s5),h9=+rr(+M2),N5=h9+Q9,m5=I1+(W6<<2)|0,s[m5>>2]=N5,Q5){L5=-N5,s[B5>>2]=L5,N=R2;break}else{s[B5>>2]=N5,N=R2;break}while(!1);q5=p1+(W6<<2)|0,s[q5>>2]=0,s[N>>2]=0,e[V1>>2]=1,o0=W6+H6|0,Y2=A1+(o0<<2)|0,e[Y2>>2]=0;break}O1=s1+(W6<<2)|0,c2=+s[O1>>2],H9=+rr(+c2),W1=j0+(W6<<2)|0,h2=+s[W1>>2],y6=+rr(+h2),s2=y6+H9,s[O1>>2]=s2,E2=I1+(W6<<2)|0,a2=+s[E2>>2],K1=p1+(W6<<2)|0,d2=+s[K1>>2],$2=d2+a2,s[E2>>2]=$2,e[V1>>2]=1,e[q1>>2]=1,j=W6+H6|0,l2=g1+(j<<2)|0,r2=e[l2>>2]|0,A2=A1+(j<<2)|0,e2=e[A2>>2]|0,we=(r2|0)>-1,ve=0-r2|0,o2=we?r2:ve,ue=(e2|0)>-1,de=0-e2|0,f2=ue?e2:de,t2=(o2|0)>(f2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,N2=k2?D2:S2,e[A2>>2]=N2,W=e[l2>>2]|0,P2=W,q2=N2):(L2=(e2|0)>0,U2=r2-e2|0,m2=e2-r2|0,W2=L2?U2:m2,e[A2>>2]=W2,e[l2>>2]=e2,a0=e[A2>>2]|0,P2=e2,q2=a0),Ee=(P2|0)>-1,Re=0-P2|0,V2=Ee?P2:Re,G2=V2<<1,Z2=(q2|0)<(G2|0),Z2||(N1=0-q2|0,e[A2>>2]=N1,t5=e[l2>>2]|0,T5=0-t5|0,e[l2>>2]=T5)}while(!1);if(p5=v1+(W6<<2)|0,$5=+s[p5>>2],u5=L1+(W6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=W6+1|0,d9=(D5|0)==(m3|0),d9)break;W6=D5}Te=e[$0>>2]|0,+kQ(Te,l0,s1,I1,v1,S1,H6,Q,m1),r0=e[g2>>2]|0,X2=r0}if(d5=ke+1|0,l5=(d5|0)<(X2|0),l5)B3=X2,ke=d5;else{a3=X2;break}}else a3=r6;if(w5=H6+W5|0,r5=(c0|0)>(w5|0),Y9=w9+W5|0,r5)H6=w5,w9=Y9;else{x3=a3;break}}else x3=z5;if(d3=(x3|0)>0,d3)r3=x3,A9=0;else{C=Ve;return}for(;a5=($+1160|0)+(A9<<2)|0,h5=e[a5>>2]|0,z2=m+(h5<<2)|0,f5=e[z2>>2]|0,n5=(f5|0)==0,R5=($+2184|0)+(A9<<2)|0,n5?(e5=e[R5>>2]|0,c5=m+(e5<<2)|0,v5=e[c5>>2]|0,J5=(v5|0)==0,J5?K5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[z2>>2]=1,i3=e[R5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[g2>>2]|0,K5=s0),I3=A9+1|0,h3=(I3|0)<(K5|0),h3;)r3=K5,A9=I3;C=Ve}function Sb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0;for(et=C,C=C+32480|0,W3=et+32256|0,D9=et+1792|0,x9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=R9(68)|0,u4(D9|0,0,30464)|0,x3=$>0,ue=$<0,L9=0;;){for(h4=L9<<2,$4=0;s5=$4+h4|0,p5=(s5|0)<88,p5?(r5=1272+(s5<<2)|0,J5=+s[r5>>2],Z9=J5):Z9=-30,D3=s5+1|0,c3=(D3|0)<88,c3?(P6=1272+(D3<<2)|0,J6=+s[P6>>2],i9=Z9>J6,i9?c4=J6:c4=Z9):(c9=Z9>-30,c9?c4=-30:c4=Z9),_6=s5+2|0,O6=(_6|0)<88,O6?(q6=1272+(_6<<2)|0,a9=+s[q6>>2],d9=c4>a9,d9?T9=a9:T9=c4):(U3=c4>-30,U3?T9=-30:T9=c4),o9=s5+3|0,B9=(o9|0)<88,B9?(h9=1272+(o9<<2)|0,f9=+s[h9>>2],H9=T9>f9,H9?j4=f9:j4=T9):(Q9=T9>-30,Q9?j4=-30:j4=T9),y6=W3+($4<<2)|0,s[y6>>2]=j4,H6=$4+1|0,Ot=(H6|0)==56,!Ot;)$4=H6;if(Ie=(D9+(L9*1792|0)|0)+448|0,F=2792+(L9*1344|0)|0,ge(Ie|0,F|0,224)|0,J=(D9+(L9*1792|0)|0)+672|0,I0=(2792+(L9*1344|0)|0)+224|0,ge(J|0,I0|0,224)|0,y0=(D9+(L9*1792|0)|0)+896|0,k0=(2792+(L9*1344|0)|0)+448|0,ge(y0|0,k0|0,224)|0,o1=(D9+(L9*1792|0)|0)+1120|0,c1=(2792+(L9*1344|0)|0)+672|0,ge(o1|0,c1|0,224)|0,k1=(D9+(L9*1792|0)|0)+1344|0,G1=(2792+(L9*1344|0)|0)+896|0,ge(k1|0,G1|0,224)|0,c2=(D9+(L9*1792|0)|0)+1568|0,A2=(2792+(L9*1344|0)|0)+1120|0,ge(c2|0,A2|0,224)|0,U2=D9+(L9*1792|0)|0,ge(U2|0,F|0,224)|0,t5=(D9+(L9*1792|0)|0)+224|0,ge(t5|0,F|0,224)|0,x3)for(At=0;;){if(ue)for(Bt=0;Ee=16-Bt|0,L8=(Ee|0)>-1,$8=0-Ee|0,V9=L8?Ee:$8,ie=+(V9|0),F9=ie*g,v9=F9+$,W6=v9<0,I=W6?0:v9,$9=I>0,h=$9?0:I,ve=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Re=+s[ve>>2],de=Re+h,s[ve>>2]=de,Fe=Bt+1|0,Vt=(Fe|0)==56,!Vt;)Bt=Fe;else for(ct=0;d3=16-ct|0,o8=(d3|0)>-1,Zt=0-d3|0,G6=o8?d3:Zt,F6=+(G6|0),U6=F6*g,T6=U6+$,y9=T6<0,E=y9?0:T6,A9=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[A9>>2],w9=Y9+E,s[A9>>2]=w9,we=ct+1|0,Yt=(we|0)==56,!Yt;)ct=we;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ue)for(Qt=0;o4=16-Qt|0,M8=(o4|0)>-1,l8=0-o4|0,ke=M8?o4:l8,Ye=+(ke|0),J9=Ye*g,Ve=J9+$,he=Ve>0,m=he?0:Ve,Ce=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,v4=+s[Ce>>2],W9=v4+m,s[Ce>>2]=W9,k9=Qt+1|0,t8=(k9|0)==56,!t8;)Qt=k9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,Y4=E8?k4:A8,nt=+(Y4|0),Je=nt*g,V4=Je+$,ze=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+V4,s[ze>>2]=ot,re=lt+1|0,qt=(re|0)==56,!qt;)lt=re;if(d4=Mt+1|0,i8=(d4|0)==8,i8)break;Mt=d4}for(Te=t+(L9<<2)|0,Ge=+s[Te>>2],He=Ge,We=0;;){for(Be=(We|0)<2,N6=+(We|0),v=N6*10,w=70-v,Ke=Be?50:w,P9=Ke+He,fe=P9,Et=0;Ne=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(Et<<2)|0,ne=+s[Ne>>2],f4=ne+fe,s[Ne>>2]=f4,I4=Et+1|0,Oe=(I4|0)==56,!Oe;)Et=I4;for(Se=x9+(We*224|0)|0,ge(Se|0,W3|0,224)|0,a4=+(We|0),Pe=a4*10,m4=70-Pe,Lt=0;;)if(S9=(x9+(We*224|0)|0)+(Lt<<2)|0,f6=+s[S9>>2],J4=m4+f6,s[S9>>2]=J4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;be=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(at<<2)|0,me=+s[be>>2],z6=(x9+(We*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=me>F4,T4&&(s[z6>>2]=me),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(pe=We+1|0,x8=(pe|0)==8,x8){U4=1;break}else We=pe}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(x9+(xe*224|0)|0)+(G4<<2)|0,T=+s[mt>>2],N=(x9+(U4*224|0)|0)+(G4<<2)|0,G=+s[N>>2],V=T>2]=T),X=G4+1|0,h8=(X|0)==56,h8){z4=0;break}else G4=X;for(;K=(x9+(U4*224|0)|0)+(z4<<2)|0,a0=+s[K>>2],W=((D9+(L9*1792|0)|0)+(U4*224|0)|0)+(z4<<2)|0,r0=+s[W>>2],s0=a0>2]=a0),o0=z4+1|0,A4=(o0|0)==56,!A4;)z4=o0;if(q=U4+1|0,Ht=(q|0)==8,Ht)break;U4=q}if(d0=L9+1|0,xt=(d0|0)==17,xt)break;L9=d0}for(_9=o,Ue=(a|0)>0,s4=a^-1,b4=0;;){for(t0=R9(32)|0,j=r2+(b4<<2)|0,e[j>>2]=t0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,Z=+Yn(+l0),g0=Z/_9,f0=+iA(+g0),n0=~~f0,h0=+(n0|0),p0=h0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+IC(+E0),B0=~~w0,_0=n0+1|0,K0=+(_0|0),M0=K0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,U0=N0+-11.931568145751953,O0=+iA(+U0),V0=~~O0,F0=(B0|0)>(b4|0),p8=F0?b4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(V0|0)>16,Q=G0?16:V0,z0=(wt|0)>(Q|0),J0=b4+1|0,q0=(J0|0)<17,Z0=c0+3.9657840728759766,l4=0;;){if(P0=R9(232)|0,H0=t0+(l4<<2)|0,e[H0>>2]=P0,Ue)for($t=0;Y0=R+($t<<2)|0,s[Y0>>2]=999,i1=$t+1|0,b9=(i1|0)==(a|0),!b9;)$t=i1;if(!z0)for(E4=wt;;){for(x0=+(E4|0),n1=x0*.5,Ct=0,D4=0;;){if(h1=+(Ct|0),u1=h1*.125,A1=u1+n1,s1=A1+3.9032840728759766,$1=s1*.6931470036506653,j0=+Yn(+$1),E1=j0/_9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Yn(+p1),w1=B1/_9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,S1=(B|0)>(a|0),a8=S1?a:B,D1=(a8|0)<(D4|0),Ze=D1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(Ze|0)<(Wt|0),b1=(Ze|0)<(a|0),jt=U1&b1,jt)for(P1=((D9+(E4*1792|0)|0)+(l4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(D4|0)<(a|0),z1=x1?D4:a,q1=z1^-1,H1=(I1|0)>0,x=I1^-1,Y1=H1?x:-1,V1=(Y1|0)<(q1|0),je=V1?q1:Y1,X1=je^-1,n2=(L1|0)>0,M=L1^-1,j1=n2?M:-1,O1=(j1|0)<(s4|0),c8=O1?s4:j1,W1=c8-je|0,h2=je+a|0,s2=h2^-1,E2=W1>>>0>s2>>>0,Tt=E2?W1:s2,a2=X1-Tt|0,se=Ze;;)if(K1=R+(se<<2)|0,d2=+s[K1>>2],$2=d2>Z1,$2&&(s[K1>>2]=Z1),i2=se+1|0,pt=(i2|0)==(a2|0),pt){K4=a2;break}else se=i2;else K4=Ze;if(l2=Ct+1|0,Jt=(l2|0)==56,Jt){W4=K4;break}else Ct=l2,D4=K4}if(d1=(W4|0)<(a|0),d1)for(g1=((D9+(E4*1792|0)|0)+(l4*224|0)|0)+220|0,m1=+s[g1>>2],P4=W4;e2=R+(P4<<2)|0,o2=+s[e2>>2],f2=o2>m1,f2&&(s[e2>>2]=m1),t2=P4+1|0,zt=(t2|0)==(a|0),!zt;)P4=t2;if(k2=E4+1|0,D2=(E4|0)<(Q|0),D2)E4=k2;else break}if(q0){for(Rt=0,C4=0;;){if(P2=+(Rt|0),V2=P2*.125,G2=V2+c0,q2=G2+3.9032840728759766,Z2=q2*.6931470036506653,A5=+Yn(+Z2),H2=A5/_9,N1=~~H2,T5=G2+4.028284072875977,i5=T5*.6931470036506653,x5=+Yn(+i5),j2=x5/_9,I5=j2+1,b5=~~I5,Y5=(N1|0)<0,S=Y5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(C4|0),Z4=b2?E3:C4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((D9+(J0*1792|0)|0)+(l4*224|0)|0)+(Rt<<2)|0,N5=+s[Q5>>2],m5=(C4|0)<(a|0),L5=m5?C4:a,q5=L5^-1,M5=(N1|0)>0,D=N1^-1,Y2=M5?D:-1,$5=(Y2|0)<(q5|0),dt=$5?q5:Y2,u5=dt^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(s4|0),Ft=D5?s4:T1,d5=Ft-dt|0,l5=dt+a|0,X2=l5^-1,g2=d5>>>0>X2>>>0,X4=g2?d5:X2,w5=u5-X4|0,De=Z4;;)if(a5=R+(De<<2)|0,h5=+s[a5>>2],z2=h5>N5,z2&&(s[a5>>2]=N5),f5=De+1|0,_8=(f5|0)==(w5|0),_8){gt=w5;break}else De=f5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,C4=gt}if(L2=(_4|0)<(a|0),L2)for(m2=((D9+(J0*1792|0)|0)+(l4*224|0)|0)+220|0,W2=+s[m2>>2],yt=_4;R5=R+(yt<<2)|0,e5=+s[R5>>2],c5=e5>W2,c5&&(s[R5>>2]=W2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=t0+(l4<<2)|0,Q2=t0+(l4<<2)|0,N2=t0+(l4<<2)|0,p4=0;;){I3=+(p4|0),h3=I3*.125,K5=Z0+h3,r3=K5*.6931470036506653,a3=+Yn(+r3),B3=a3/_9,G5=~~B3,W5=(G5|0)<0;do if(W5)f3=p4+2|0,y3=e[S2>>2]|0,X3=y3+(f3<<2)|0,s[X3>>2]=-999;else if(q3=(G5|0)<(a|0),q3){s6=R+(G5<<2)|0,T3=e[s6>>2]|0,H3=p4+2|0,g3=e[Q2>>2]|0,u3=g3+(H3<<2)|0,e[u3>>2]=T3;break}else{X5=p4+2|0,b3=e[N2>>2]|0,t3=b3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=p4+1|0,m8=(Q3|0)==56,m8)break;p4=Q3}v5=P0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)oe=0;else if(z5=P0+12|0,H5=+s[z5>>2],V5=H5>-200,V5)oe=1;else if(S3=P0+16|0,a6=+s[S3>>2],i6=a6>-200,i6)oe=2;else if(V3=P0+20|0,Z5=+s[V3>>2],J3=Z5>-200,J3)oe=3;else if(d6=P0+24|0,m3=+s[d6>>2],L6=m3>-200,L6)oe=4;else if(M6=P0+28|0,R6=+s[M6>>2],S6=R6>-200,S6)oe=5;else if(r6=P0+32|0,h6=+s[r6>>2],b6=h6>-200,b6)oe=6;else if(X6=P0+36|0,v6=+s[X6>>2],L3=v6>-200,L3)oe=7;else if(n6=P0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)oe=8;else if(z3=P0+44|0,M3=+s[z3>>2],K3=M3>-200,K3)oe=9;else if(e6=P0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)oe=10;else if(K6=P0+52|0,A3=+s[K6>>2],c6=A3>-200,c6)oe=11;else if(B6=P0+56|0,R3=+s[B6>>2],Y6=R3>-200,Y6)oe=12;else if(A6=P0+60|0,D6=+s[A6>>2],t9=D6>-200,t9)oe=13;else{if(Q6=P0+64|0,e9=+s[Q6>>2],G3=e9>-200,G3){oe=14;break}if(n9=P0+68|0,V6=+s[n9>>2],s9=V6>-200,s9){oe=15;break}oe=16}while(!1);for(s[P0>>2]=oe,Kt=55;;){if(S5=Kt+2|0,Y3=P0+(S5<<2)|0,U5=+s[Y3>>2],$6=U5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,N3=(l3|0)>17,N3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),k3=P0+4|0,s[k3>>2]=E6,_3=l4+1|0,Ut=(_3|0)==8,Ut)break;l4=_3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,r2|0}function vQ(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0;if(Te=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,a2=C,C=C+((1*I|0)+15&-16)|0,E=v,e5=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,R6=a6<1,de=R6?1:a6,C6=de*de,D=C6*.5,X=D*de,s[w>>2]=D,s[a2>>2]=D,s[e5>>2]=0,s[a3>>2]=X,s[t3>>2]=0,j=(t|0)>1,j)for(U3=1,y6=D,H6=D,A9=0,Y9=0,w9=X,we=1;d1=a+(U3<<2)|0,I1=+s[d1>>2],R1=I1+g,Y1=R1<1,_9=Y1?1:R1,K1=_9*_9,k2=K1+y6,G2=K1*we,I5=G2+H6,N5=G2*we,D5=N5+A9,z2=K1*_9,f5=z2+w9,n5=G2*_9,R5=n5+Y9,c5=w+(U3<<2)|0,s[c5>>2]=k2,F2=a2+(U3<<2)|0,s[F2>>2]=I5,v5=e5+(U3<<2)|0,s[v5>>2]=D5,J5=a3+(U3<<2)|0,s[J5>>2]=f5,i3=t3+(U3<<2)|0,s[i3>>2]=R5,E5=U3+1|0,I3=we+1,O6=(E5|0)==(t|0),!O6;)U3=E5,y6=k2,H6=I5,A9=D5,Y9=R5,w9=f5,we=I3;if(p0=e[o>>2]|0,M0=p0>>16,z0=(M0|0)>-1,z0)K5=p0,B6=0,D6=0,e9=1,q6=0,ue=0;else for(G5=p0,y3=M0,a9=0,Ee=0;;)if(B3=G5&65535,W5=w+(B3<<2)|0,D3=+s[W5>>2],f3=0-y3|0,X3=w+(f3<<2)|0,q3=+s[X3>>2],X5=q3+D3,b3=a2+(B3<<2)|0,s6=+s[b3>>2],T3=a2+(f3<<2)|0,H3=+s[T3>>2],c3=s6-H3,g3=e5+(B3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,z5=+s[Q3>>2],H5=z5+u3,V5=a3+(B3<<2)|0,Y3=+s[V5>>2],U5=a3+(f3<<2)|0,$6=+s[U5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,N3=+s[l3>>2],E6=t3+(f3<<2)|0,k3=+s[E6>>2],_3=N3-k3,S3=n3*H5,i6=_3*c3,V3=S3-i6,Z5=_3*X5,x3=n3*c3,d3=Z5-x3,J3=H5*X5,d6=c3*c3,m3=J3-d6,L6=d3*Ee,M6=L6+V3,S6=M6/m3,r6=S6<0,s9=r6?0:S6,h6=s9-g,b6=$+(a9<<2)|0,s[b6>>2]=h6,G6=a9+1|0,X6=Ee+1,v6=o+(G6<<2)|0,L3=e[v6>>2]|0,n6=L3>>16,o6=(n6|0)>-1,o6){K5=L3,B6=V3,D6=d3,e9=m3,q6=G6,ue=X6;break}else G5=L3,y3=n6,a9=G6,Ee=X6;if(h3=K5&65535,r3=(h3|0)<(t|0),r3)for(S=K5,e6=h3,o9=q6,ie=ue;;)if(M3=S>>16,K3=w+(e6<<2)|0,F6=+s[K3>>2],l6=w+(M3<<2)|0,o3=+s[l6>>2],K6=F6-o3,A3=a2+(e6<<2)|0,c6=+s[A3>>2],y=a2+(M3<<2)|0,x=+s[y>>2],M=c6-x,L=e5+(e6<<2)|0,R=+s[L>>2],F=e5+(M3<<2)|0,T=+s[F>>2],N=R-T,G=a3+(e6<<2)|0,V=+s[G>>2],K=a3+(M3<<2)|0,a0=+s[K>>2],W=V-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],J=t3+(M3<<2)|0,o0=+s[J>>2],q=s0-o0,d0=W*N,t0=q*M,u0=d0-t0,c0=q*K6,$0=W*M,l0=c0-$0,Z=N*K6,I0=M*M,g0=Z-I0,f0=l0*ie,n0=f0+u0,h0=n0/g0,C0=h0<0,c9=C0?0:h0,S0=c9-g,Q0=$+(o9<<2)|0,s[Q0>>2]=S0,b0=o9+1|0,E0=ie+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,o9=b0,ie=E0;else{R3=u0,U6=l0,G3=g0,d9=b0,V9=E0;break}else R3=B6,U6=D6,G3=e9,d9=q6,V9=ue;if(z3=(d9|0)<(t|0),z3)for(B9=d9,F9=V9;K0=F9*U6,v0=K0+R3,T0=v0/G3,N0=T0<0,P6=N0?0:T0,U0=P6-g,O0=$+(B9<<2)|0,s[O0>>2]=U0,k0=B9+1|0,V0=F9+1,_6=(k0|0)==(t|0),!_6;)B9=k0,F9=V0;if(F0=(h|0)<1,F0){C=Te;return}if(L0=(h|0)/2&-1,G0=L0-h|0,J0=(G0|0)>-1,J0)Y6=R3,t9=U6,n9=G3,Q9=0,v9=0;else for(q0=h-L0|0,Y0=L0,n1=G0,y9=0,W6=0;;)if(o1=w+(Y0<<2)|0,i1=+s[o1>>2],x0=0-n1|0,g1=w+(x0<<2)|0,m1=+s[g1>>2],h1=m1+i1,u1=a2+(Y0<<2)|0,A1=+s[u1>>2],c1=a2+(x0<<2)|0,s1=+s[c1>>2],$1=A1-s1,j0=e5+(Y0<<2)|0,E1=+s[j0>>2],Q1=e5+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(Y0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,S1=t3+(Y0<<2)|0,D1=+s[S1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],b1=D1-U1,P1=M1*B1,Z1=b1*$1,G1=P1-Z1,x1=b1*h1,z1=M1*$1,q1=x1-z1,H1=B1*h1,V1=$1*$1,X1=H1-V1,n2=q1*W6,j1=n2+G1,O1=j1/X1,c2=O1-g,W1=$+(y9<<2)|0,h2=+s[W1>>2],s2=c2>2]=c2),E2=y9+1|0,d2=W6+1,$2=L0+E2|0,i2=$2-h|0,i9=(E2|0)==(q0|0),i9){Y6=G1,t9=q1,n9=X1,Q9=q0,v9=d2;break}else Y0=$2,n1=i2,y9=E2,W6=d2;if(Z0=Q9+L0|0,P0=(Z0|0)<(t|0),P0)for(H0=t-L0|0,b=Z0,f9=Q9,ve=v9;;)if(r2=b-h|0,A2=w+(b<<2)|0,e2=+s[A2>>2],o2=w+(r2<<2)|0,f2=+s[o2>>2],t2=e2-f2,D2=a2+(b<<2)|0,S2=+s[D2>>2],Q2=a2+(r2<<2)|0,N2=+s[Q2>>2],L2=S2-N2,U2=e5+(b<<2)|0,m2=+s[U2>>2],W2=e5+(r2<<2)|0,P2=+s[W2>>2],V2=m2-P2,q2=a3+(b<<2)|0,Z2=+s[q2>>2],A5=a3+(r2<<2)|0,H2=+s[A5>>2],N1=Z2-H2,t5=t3+(b<<2)|0,T5=+s[t5>>2],i5=t3+(r2<<2)|0,x5=+s[i5>>2],j2=T5-x5,b5=N1*V2,Y5=j2*L2,g5=b5-Y5,b2=j2*t2,B5=N1*L2,s5=b2-B5,R2=V2*t2,M2=L2*L2,y2=R2-M2,Q5=s5*ve,m5=Q5+g5,L5=m5/y2,q5=L5-g,M5=$+(f9<<2)|0,Y2=+s[M5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=ve+1,y5=$5+L0|0,T6=($5|0)==(H0|0),T6){A6=g5,Q6=s5,V6=y2,h9=H0,$9=u5;break}else b=y5,f9=$5,ve=u5;else A6=Y6,Q6=t9,V6=n9,h9=Q9,$9=v9;if(l2=(h9|0)<(t|0),l2)H9=h9,Re=$9;else{C=Te;return}for(;T1=Re*Q6,d5=T1+A6,l5=d5/V6,X2=l5-g,g2=$+(H9<<2)|0,w5=+s[g2>>2],r5=X2>2]=X2),a5=H9+1|0,h5=Re+1,J6=(a5|0)==(t|0),!J6;)H9=a5,Re=h5;C=Te}function bb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0;if(d1=C,h=a<<2,$=h,m=C,C=C+((1*$|0)+15&-16)|0,g=h,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,q0=0;else{C=d1;return}for(;;){_0=(q0|0)<2;do if(_0)v0=m+(q0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(q0<<2)|0,e[Q>>2]=E,Y0=q0;else{for(K0=t+(k0<<2)|0,M0=+s[K0>>2],Z0=q0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){H0=Z0,n1=12;break}if(T=Z0+-2|0,N=x+(T<<2)|0,G=+s[N>>2],V=!(b<=G),V){H0=Z0,n1=12;break}if(X=m+(T<<2)|0,K=e[X>>2]|0,W=K+o|0,r0=(k0|0)<(W|0),r0)Z0=B;else{H0=Z0,n1=12;break}}if((n1|0)==8){n1=0,w=m+(P0<<2)|0,e[w>>2]=k0,D=x+(P0<<2)|0,s[D>>2]=M0,Y0=P0;break}else if((n1|0)==12){n1=0,s0=m+(H0<<2)|0,e[s0>>2]=k0,J=x+(H0<<2)|0,s[J>>2]=M0,Y0=H0;break}}while(!1);if(o1=Y0+1|0,o0=k0+1|0,O0=(o0|0)==(a|0),O0){i1=Y0,x0=o1;break}else k0=o0,q0=o1}if(c0=(i1|0)>-1,!c0){C=d1;return}for(S0=o+1|0,V0=0,G0=0;;){if(q=(V0|0)<(i1|0),q?(d0=V0+1|0,t0=x+(d0<<2)|0,j=+s[t0>>2],u0=x+(V0<<2)|0,$0=+s[u0>>2],l0=j>$0,l0?(Z=m+(d0<<2)|0,I0=e[Z>>2]|0,T0=I0):n1=17):n1=17,(n1|0)==17&&(n1=0,g0=m+(V0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),h0=(T0|0)>(a|0),F0=h0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(V0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,J0=G0;;)if(y0=t+(J0<<2)|0,e[y0>>2]=Q0,w0=J0+1|0,N0=(w0|0)==(E0|0),N0){z0=E0;break}else J0=w0;else z0=G0;if(B0=V0+1|0,U0=(B0|0)==(x0|0),U0)break;V0=B0,G0=z0}C=d1}function kQ(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0;if(c2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,Z=e[s0>>2]|0,E0=(Z|0)==0,E0?v1=I:(O0=t+504|0,H0=e[O0>>2]|0,A1=H0-m|0,v1=A1),F1=(v1|0)>(I|0),V1=F1?I:v1,F=(V1|0)>0,F)for(T=(h|0)==0,N=(v1|0)<(I|0),G=N?v1:I,q1=0;;){T?O1=9:(a0=h+(q1<<2)|0,W=e[a0>>2]|0,r0=(W|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,J=$+(q1<<2)|0,o0=+s[J>>2],q=g+(q1<<2)|0,d0=+s[q>>2],t0=o0/d0,j=a+(q1<<2)|0,u0=+s[j>>2],c0=u0<0,$0=t0,l0=+qn(+$0),I0=+z7(l0),c0){g0=-I0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{h0=~~I0,p0=E+(q1<<2)|0,e[p0>>2]=h0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(G|0),x1){z1=G;break}else q1=C0}else z1=0;if(V=(z1|0)<(I|0),!V)return w=0,C=c2,+w;for(X=(h|0)!=0,K=o-m|0,Q=0,U1=0,H1=z1;;){X?(S0=h+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,b1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],K0=w0/_0,M0=!(K0<.25),v0=(H1|0)<(K|0),X1=X&v0,n2=M0|X1,n2){k0=a+(H1<<2)|0,V0=+s[k0>>2],F0=V0<0,L0=K0,G0=+qn(+L0),z0=+z7(G0),J0=-z0,x=F0?J0:z0,y=~~x,q0=E+(H1<<2)|0,e[q0>>2]=y,Z0=o5(y,y)|0,P0=+(Z0|0),o1=+s[B0>>2],Y0=P0*o1,s[y0>>2]=Y0,B=Q,b1=U1;break}else{T0=K0+Q,N0=U1+1|0,U0=R+(U1<<2)|0,e[U0>>2]=y0,B=T0,b1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=b1;break}else Q=B,U1=b1,H1=i1}if(x0=(P1|0)==0,x0||(Pu(R,P1,4,9),n1=(P1|0)>0,!n1))return w=S,C=c2,+w;for(d1=$,g1=t+512|0,m1=+l1[g1>>3],b=S,Y1=0;;)if(h1=R+(Y1<<2)|0,u1=e[h1>>2]|0,c1=u1,s1=c1-d1|0,$1=s1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,S1=+s[M1>>2],v=L1,M=k1,j1=S1),D1=E+($1<<2)|0,e[D1>>2]=M,s[u1>>2]=j1,R1=Y1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,Y1=R1;return C=c2,+w}function Db(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,h=+s[g>>2],m=$h,Q=E&1,B=I-Q|0,B|0}function _b(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function xb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,K=0;T=e[F>>2]|0,N=T+(K<<2)|0,G=e[N>>2]|0,V=(G|0)==0,V?h=L:(p2(G),o=e[$>>2]|0,h=o),X=K+1|0,g=(X|0)<(h|0),g;)L=h,K=X;if(m=e[F>>2]|0,p2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,p2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,p2(M),p2(t)}}function Lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0;if(h0=C,g=e[t>>2]|0,O2(o,g,24),h=t+4|0,y=e[h>>2]|0,O2(o,y,24),K=t+8|0,q=e[K>>2]|0,d0=q+-1|0,O2(o,d0,24),t0=t+12|0,j=e[t0>>2]|0,u0=j+-1|0,O2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,O2(o,m,8),I=e[t0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,Z=0;;){if(b=Q+(Z<<2)|0,v=e[b>>2]|0,w=q8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(O2(o,x,3),O2(o,1,1),M=e[b>>2]|0,L=M>>3,O2(o,L,5)):O2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(T=a&1,N=T+f0|0,G=a>>>1,V=(G|0)==0,V){g0=N;break}else a=G,f0=N;if(X=g0+$0|0,a0=Z+1|0,W=e[t0>>2]|0,r0=(a0|0)<(W|0),r0)$0=X,Z=a0;else{$=X;break}}if(B=($|0)>0,!!B)for(S=t+280|0,I0=0;s0=S+(I0<<2)|0,J=e[s0>>2]|0,O2(o,J,8),o0=I0+1|0,l0=(o0|0)==($|0),!l0;)I0=o0}}function Mb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0;s1=C,m=ce(1,2840)|0,I=t+28|0,M=e[I>>2]|0,W=n4(o,24)|0,e[m>>2]=W,$0=n4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=n4(o,24)|0,Z0=N0+1|0,H0=m+8|0,e[H0>>2]=Z0,o1=n4(o,6)|0,E=o1+1|0,Q=m+12|0,e[Q>>2]=E,B=n4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)c1=26;else{if(v=(o1|0)>-1,v){for(w=m+24|0,i1=0,d1=0;;){if(x=n4(o,3)|0,L=n4(o,1)|0,R=(L|0)<0,R){c1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(T=n4(o,5)|0,N=(T|0)<0,N){c1=26;break e}G=T<<3,V=G|x,x0=V}if(X=w+(d1<<2)|0,e[X>>2]=x0,K=(x0|0)==0,K)u1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,J=(s0|0)==0,J){u1=r0;break}else $=s0,A1=r0;if(o0=u1+i1|0,q=d1+1|0,d0=e[Q>>2]|0,t0=(q|0)<(d0|0),t0)i1=o0,d1=q;else{h=o0;break}}if(D=(h|0)>0,D)for(y=m+280|0,g1=0;;){if(j=n4(o,8)|0,u0=(j|0)<0,u0)break e;if(c0=y+(g1<<2)|0,e[c0>>2]=j,l0=g1+1|0,Z=(l0|0)<(h|0),Z)g1=l0;else{P0=D,Y0=h;break}}else P0=0,Y0=h}else P0=0,Y0=0;if(I0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(I0|0)<(f0|0),n0){if(P0)for(h0=m+280|0,m1=0;;){if(S0=h0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,K0=(_0|0)==0,p0=m1+1|0,K0))break e;if(C0=(p0|0)<(Y0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(I0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,U0=e[T0>>2]|0,O0=e[v0>>2]|0,k0=(O0|0)<1,!k0){for(V0=e[Q>>2]|0,n1=O0,h1=1;;){if(G0=o5(V0,h1)|0,z0=(G0|0)>(U0|0),z0)break e;if(F0=n1+-1|0,L0=(n1|0)>1,L0)n1=F0,h1=G0;else{g=G0;break}}return J0=m+16|0,e[J0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(q0=(m|0)==0,q0)?(a=0,a|0):(p2(m),a=0,a|0)}function Rb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,h=ce(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[h>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,q0=h+4|0,e[q0>>2]=T0,o1=c0+2848|0,Y0=e[o1>>2]|0,I=h+12|0,e[I>>2]=Y0,E=Y0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=h+16|0,e[b>>2]=S,v=e[S>>2]|0,w=ce(T0,4)|0,D=h+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,u1=0,I1=0;;){if(R=M+(u1<<2)|0,F=e[R>>2]|0,T=q8(F)|0,N=(T|0)==0,N)d1=i1,Q1=I1;else if(G=(T|0)>(I1|0),$=G?T:I1,V=ce(T,4)|0,X=w+(u1<<2)|0,e[X>>2]=V,K=(T|0)>0,K)for(W=e[R>>2]|0,r0=w+(u1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,J=W&s0,o0=(J|0)==0,o0?n1=x0:(q=e[o1>>2]|0,d0=x0+1|0,t0=L+(x0<<2)|0,j=e[t0>>2]|0,u0=q+(j*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,n1=d0),Z=$1+1|0,m1=(Z|0)==(T|0),m1){d1=n1,Q1=$;break}else x0=n1,$1=Z;else d1=i1,Q1=$;if(I0=u1+1|0,g0=(I0|0)<(T0|0),g0)i1=d1,u1=I0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=h+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(h0=o5(p0,T0)|0,C0=A1+1|0,g1=(C0|0)==(v|0),g1){a=h0;break}else p0=h0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=h+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=R9(b0)|0,w0=h+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return h|0;if(_0=v<<2,!n0){for(c1=0;J0=R9(_0)|0,Z0=y0+(c1<<2)|0,e[Z0>>2]=J0,P0=c1+1|0,H0=(P0|0)<(E0|0),H0;)c1=P0;return h|0}for(K0=e[w0>>2]|0,s1=0;;){for(L0=R9(_0)|0,G0=y0+(s1<<2)|0,e[G0>>2]=L0,z0=K0+(s1<<2)|0,V0=e[z0>>2]|0,g=E0,j0=0,B1=s1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,U0=o5(N0,p1)|0,O0=B1-U0|0,k0=V0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,h1=(F0|0)==(v|0),!h1;)g=p1,j0=F0,B1=O0;if(M0=s1+1|0,v0=(M0|0)<(E0|0),v0)s1=M0;else break}return h|0}function Fb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||SQ(t,o,a,L,2),0}function Tb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,E=(h|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(h|0),M){T=F;break}else L=y,R=F;return x=(T|0)==0,x||bQ(t,a,$,T,m),0}function Nb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)n1=0,I1=0;else return h=0,h|0;for(;;)if(E=$+(n1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(n1<<2)|0,b0=e[l0>>2]|0,U0=I1+1|0,z0=a+(I1<<2)|0,e[z0>>2]=b0,Q1=U0),J0=n1+1|0,H0=(J0|0)==(g|0),H0){p1=Q1;break}else n1=J0,I1=Q1;if(q0=(p1|0)==0,q0)return h=0,h|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=z8(t,R)|0,T=+(S|0),N=100/T,G=N,V=(p1|0)>0,V)for(X=M<<2,d1=0;J=z8(t,X)|0,o0=F+(d1<<2)|0,e[o0>>2]=J,u4(J|0,0,X|0)|0,q=d1+1|0,x0=(q|0)==(p1|0),!x0;)d1=q;if(K=(M|0)>0,K)for(a0=(S|0)>0,W=v+-1|0,s0=(v|0)>1,g1=0;;){if(d0=o5(g1,S)|0,t0=e[Q>>2]|0,j=t0+d0|0,V)for(h1=0;;){if(a0)for(u0=a+(h1<<2)|0,c0=e[u0>>2]|0,P0=0,u1=0,$1=0;;)if($0=j+u1|0,Z=c0+($0<<2)|0,I0=e[Z>>2]|0,m1=(I0|0)>-1,j0=0-I0|0,g0=m1?I0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+P0|0,h0=u1+1|0,o1=(h0|0)==(S|0),o1){Z0=n0,s1=m;break}else P0=n0,u1=h0,$1=m;else Z0=0,s1=0;p0=+(Z0|0),C0=p0*G,S0=~~C0;e:do if(s0)for(c1=0;;){if(Q0=(Q+2328|0)+(c1<<2)|0,E0=e[Q0>>2]|0,y0=(s1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,K0=(S0|0)<(B0|0),E1=_0|K0,E1)){A1=c1;break e}if(M0=c1+1|0,v0=(M0|0)<(W|0),v0)c1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(h1<<2)|0,N0=e[T0>>2]|0,O0=N0+(g1<<2)|0,e[O0>>2]=A1,k0=h1+1|0,Y0=(k0|0)==(p1|0),Y0)break;h1=k0}if(V0=g1+1|0,i1=(V0|0)==(M|0),i1)break;g1=V0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,h=F,h|0}function Gb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||SQ(t,o,a,L,3),0}function Ub(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,s1=0;else return h=0,h|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,h1=(R|0)!=0,s0=h1&1,A1=s0+s1|0,Z=G0+1|0,V0=(Z|0)==(g|0),V0){c1=A1;break}else G0=Z,s1=A1;if(u1=(c1|0)==0,u1)return h=0,h|0;if(E0=e[o>>2]|0,K0=E0+8|0,M0=e[K0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=z8(t,4)|0,y=w<<2,x=z8(t,y)|0,e[D>>2]=x,u4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,T=(M0|0)>0,N=T0+-1|0,G=(T0|0)>1,V=e[D>>2]|0,X=(g|0)>1,z0=0,Y0=F;;){if(T)for(K=e[a>>2]|0,U0=0,Z0=0,x0=Y0,d1=0;;){if(a0=K+(x0<<2)|0,W=e[a0>>2]|0,J0=(W|0)>-1,g1=0-W|0,r0=J0?W:g1,J=(r0|0)>(d1|0),I=J?r0:d1,X)for(k0=U0,o1=1;;)if(o0=a+(o1<<2)|0,q=e[o0>>2]|0,d0=q+(x0<<2)|0,t0=e[d0>>2]|0,q0=(t0|0)>-1,m1=0-t0|0,j=q0?t0:m1,u0=(j|0)>(k0|0),m=u0?j:k0,c0=o1+1|0,F0=(c0|0)==(g|0),F0){O0=m;break}else k0=m,o1=c0;else O0=U0;if($0=x0+1|0,l0=Z0+g|0,I0=(l0|0)<(M0|0),I0)U0=O0,Z0=l0,x0=$0,d1=I;else{N0=O0,i1=$0,n1=I;break}}else N0=0,i1=Y0,n1=0;e:do if(G)for(H0=0;;){if(g0=(E0+2328|0)+(H0<<2)|0,f0=e[g0>>2]|0,n0=(n1|0)>(f0|0),!n0&&(h0=(E0+2584|0)+(H0<<2)|0,p0=e[h0>>2]|0,C0=(N0|0)>(p0|0),!C0)){P0=H0;break e}if(S0=H0+1|0,Q0=(S0|0)<(N|0),Q0)H0=S0;else{P0=S0;break}}else P0=0;while(!1);if(b0=V+(z0<<2)|0,e[b0>>2]=P0,y0=z0+1|0,L0=(y0|0)==(w|0),L0)break;z0=y0,Y0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,h=D,h|0}function Pb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0;if(c0=C,C=C+16|0,j=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=h<<2,T=o5(F,R)|0,N=z8(o,T)|0,e[j>>2]=N,G=(h|0)>0,!G)return C=c0,0;for(V=(Q|0)>1,W=0,t0=0;;){if(X=$+(W<<2)|0,K=e[X>>2]|0,B=g+(W<<2)|0,S=e[B>>2]|0,J=(S|0)!=0,b=J&1,q=b+t0|0,V)for(r0=0,s0=W;v=K+(r0<<2)|0,w=e[v>>2]|0,D=N+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+h|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=W+1|0,a0=(L|0)==(h|0),a0){d0=q;break}else W=L,t0=q}return o0=(d0|0)==0,o0?(C=c0,0):(bQ(t,a,j,1,m),C=c0,0)}function Ob(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,U0=t+36|0,P0=e[U0>>2]|0,u1=o5(P0,g)|0,A1=u1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),h=S?B:A1,b=e[I>>2]|0,v=h-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=z8(t,R)|0,T=(g|0)>0;e:do if(T)for(s1=0;;){if(N=$+(s1<<2)|0,G=e[N>>2]|0,V=(G|0)==0,!V){c1=s1;break e}if(X=s1+1|0,K=(X|0)<(g|0),K)s1=X;else{c1=X;break}}else c1=0;while(!1);if(a0=(c1|0)==(g|0),a0||(W=o+8|0,s0=e[W>>2]|0,J=(s0|0)>0,!J))return 0;o0=(D|0)>0,q=t+4|0,d0=I+16|0,t0=o+28|0,j=(b0|0)>0,u0=o+20|0,h1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,I0=sE(Z,q)|0,g0=(I0|0)==-1,g0){v1=23;break e}if(f0=e[d0>>2]|0,n0=(I0|0)<(f0|0),!n0){v1=23;break e}if(h0=e[t0>>2]|0,p0=h0+(I0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=j&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,K0=(I+24|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,O0=N0+(_0<<2)|0,k0=e[O0>>2]|0,V0=k0+(w1<<2)|0,F0=e[V0>>2]|0,L0=(F0|0)==0,!L0&&(G0=o5(E1,L)|0,z0=e[I>>2]|0,J0=z0+G0|0,q0=zS(F0,a,J0,g,q,L)|0,Z0=(q0|0)==-1,Z0))){v1=23;break e}if(H0=I1+1|0,o1=E1+1|0,Y0=(H0|0)<(b0|0),i1=(o1|0)<(D|0),p1=Y0&i1,p1)E1=o1,I1=H0;else{j0=o1;break}}else j0=$1;if(x0=Q1+1|0,n1=(j0|0)<(D|0),n1)$1=j0,Q1=x0;else break}m=e[W>>2]|0,m1=m}else m1=h1;if(d1=w1+1|0,g1=(d1|0)<(m1|0),g1)h1=m1,w1=d1;else{v1=23;break}}return(v1|0)==23,0}function SQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,J=o+16|0,I0=e[J>>2]|0,y0=e[I0>>2]|0,k0=t+36|0,o1=e[k0>>2]|0,c1=o1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(c1|0),h=b?S:c1,v=e[Q>>2]|0,w=h-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,T=R+y|0,N=(T|0)/(y0|0)&-1,G=N<<2,U1=0;d0=z8(t,G)|0,t0=M+(U1<<2)|0,e[t0>>2]=d0,j=U1+1|0,M1=(j|0)==($|0),!M1;)U1=j;if(V=o+8|0,X=e[V>>2]|0,K=(X|0)>0,!K){C=X1;return}a0=(y|0)>0,W=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,q=o+20|0,E=L^1,Y1=0;e:for(;;){if(a0)for(u0=1<>2]|0,Y0=sE(H0,W)|0,i1=(Y0|0)==-1,i1){V1=25;break e}if(x0=e[r0>>2]|0,n1=(Y0|0)<(x0|0),!n1){V1=25;break e}if(d1=e[s0>>2]|0,g1=d1+(Y0<<2)|0,m1=e[g1>>2]|0,h1=M+(b1<<2)|0,u1=e[h1>>2]|0,A1=u1+(x1<<2)|0,e[A1>>2]=m1,s1=(m1|0)==0,Z0=b1+1|0,s1){V1=25;break e}if(P0=(Z0|0)<($|0),P0)b1=Z0;else break}c0=(S1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=S1,G1=0;else for(R1=S1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),z1=E1&I1,z1)R1=j0,Z1=$1;else{D1=j0;break t}for(;;){for(h0=o5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+h0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,K0=(_0|0)==0,!K0&&(M0=e[q>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(Y1<<2)|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0&&(V0=a+(P1<<2)|0,F0=e[V0>>2]|0,L0=F0+(n0<<2)|0,G0=DC[g&3](U0,L0,W,F)|0,z0=(G0|0)==-1,z0))){V1=25;break e}if(J0=P1+1|0,q0=(J0|0)<($|0),q0)P1=J0;else break}if($0=G1+1|0,l0=F1+1|0,Z=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=Z&g0,q1)F1=l0,G1=$0;else{D1=l0;break}}}else D1=S1;while(!1);if(Q1=x1+1|0,p1=(D1|0)<(y|0),p1)S1=D1,x1=Q1;else break}if(B1=Y1+1|0,w1=e[V>>2]|0,v1=(B1|0)<(w1|0),v1)Y1=B1;else{V1=25;break}}if((V1|0)==25){C=X1;return}}function bQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,K6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,$2=e[x>>2]|0,V2=y+12|0,j2=e[V2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,h3=y+4|0,q3=e[h3>>2]|0,M=e[y>>2]|0,W=q3-M|0,$0=(W|0)/($2|0)&-1,u4(K6|0,0,512)|0,u4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(h1=($0|0)>0,B1=($|0)>0,b1=(f5|0)>1,n2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(h1){for(N2=(c6|0)==0,L2=1<>2]|0,q5=L5+(Z5<<2)|0,M5=e[q5>>2]|0,Y2=e[Q5>>2]|0,p5=Y2+4|0,$5=e[p5>>2]|0,u5=(M5|0)<($5|0),u5&&(y5=Gu(Y2,M5,t)|0,D5=e[n2>>2]|0,d5=D5+y5|0,e[n2>>2]=d5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(L3<<2)|0,I5=e[b2>>2]|0,B5=I5+(Z5<<2)|0,s5=e[B5>>2]|0,C6=1,A6=s5;;)if(t5=o5(A6,j2)|0,T5=C6+Z5|0,i5=(T5|0)<($0|0),i5?(x5=I5+(T5<<2)|0,b5=e[x5>>2]|0,Y5=b5+t5|0,D6=Y5):D6=t5,g5=C6+1|0,_3=(g5|0)==(f5|0),_3){U6=D6;break}else C6=g5,A6=D6;if(W2=e[Q5>>2]|0,P2=W2+4|0,G2=e[P2>>2]|0,q2=(U6|0)<(G2|0),q2&&(Z2=Gu(W2,U6,t)|0,A5=e[n2>>2]|0,H2=A5+Z2|0,e[n2>>2]=H2),N1=L3+1|0,S3=(N1|0)==($|0),S3)break;L3=N1}}while(!1);if(R2=(Z5|0)<($0|0),F6=i2&R2,F6){for(M2=Z5-$0|0,y2=M2>>>0>>0,Y6=y2?Q2:M2,N5=0-Y6|0,d6=Z5,z3=0;;){if(X2=o5(d6,$2)|0,g2=e[y>>2]|0,w5=g2+X2|0,B1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,h5=a5+(d6<<2)|0,z2=e[h5>>2]|0,N2&&(n5=A3+(z2<<2)|0,R5=e[n5>>2]|0,e5=R5+$2|0,e[n5>>2]=e5),c5=(y+24|0)+(z2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,J5=(v5|0)==0,!J5&&(i3=e[D2>>2]|0,E5=i3+(z2<<2)|0,I3=e[E5>>2]|0,K5=I3+(c6<<2)|0,r3=e[K5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,G5=e[B3>>2]|0,W5=e[r3>>2]|0,D3=($2|0)/(W5|0)&-1,f3=(D3|0)>0,f3){for(y3=r3+48|0,X3=r3+52|0,X5=r3+44|0,b3=r3+12|0,t3=r3+4|0,L=W5,S5=0,d3=0;;){s6=o5(d3,W5)|0,b=s6+w5|0,T3=G5+(b<<2)|0,H3=e[y3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(G=g3+-1|0,m3=0,S6=0,K3=L;;)if(C0=K3+-1|0,D=b+C0|0,S0=G5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-H3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(K0=E0-u3|0,M0=K0<<1,T0=M0),v0=o5(S6,g3)|0,U0=(T0|0)<0,O0=(T0|0)>=(g3|0),k0=O0?G:T0,V0=U0?0:k0,F0=V0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,K3=C0}else{if(!R){r6=0;break}for(F=c3>>1,T=F-H3|0,N=g3+-1|0,x3=0,R6=0,M3=L;;)if(V=M3+-1|0,w=b+V|0,X=G5+(w<<2)|0,K=e[X>>2]|0,a0=T+K|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(J=u3-r0|0,o0=J<<1,q=o0+-1|0,u0=q):(d0=r0-u3|0,t0=d0<<1,u0=t0),j=o5(R6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),Z=l0?N:u0,I0=c0?0:Z,g0=I0+j|0,f0=o5(r0,c3)|0,n0=f0+H3|0,h0=o3+(V<<2)|0,e[h0>>2]=n0,p0=x3+1|0,V3=(p0|0)==(L|0),V3){r6=g0;break}else x3=p0,R6=g0,M3=V}while(!1);z0=e[b3>>2]|0,J0=z0+8|0,q0=e[J0>>2]|0,P0=q0+r6|0,H0=f[P0>>0]|0,o1=H0<<24>>24<1;do if(o1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,Y0=g3+-1|0,i1=o5(Y0,c3)|0,x0=i1+H3|0,n1=e[t3>>2]|0,d1=(n1|0)>0,d1)z5=-1,L6=0,h6=r6;else{G6=r6;break}for(;;){g1=q0+L6|0,m1=f[g1>>0]|0,u1=m1<<24>>24>0;do if(u1){if(R)for(X6=0,R3=0;;)if(A1=U5+(X6<<2)|0,c1=e[A1>>2]|0,v=b+X6|0,s1=G5+(v<<2)|0,$1=e[s1>>2]|0,j0=c1-$1|0,E1=o5(j0,j0)|0,I1=E1+R3|0,Q1=X6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else X6=Q1,R3=I1;else B6=0;if(p1=(z5|0)==-1,w1=(B6|0)<(z5|0),e6=p1|w1,!e6){H5=z5,b6=h6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=B6,b6=L6}else H5=z5,b6=h6;while(!1);if(v1=e[U5>>2]|0,k1=(v1|0)<(x0|0),k1)m=U5,I=v1;else for(M1=U5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,S1=U5+(L1<<2)|0,D1=e[S1>>2]|0,R1=(D1|0)<(x0|0),R1){m=S1,I=D1;break}else M1=S1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=L6+1|0,n3=(G1|0)==(n1|0),n3){G6=b6;break}else z5=H5,L6=G1,h6=b6}}else G6=r6;while(!1);if(x1=(G6|0)>-1,l6=R&x1,l6)for(h=T3,M6=0;z1=o3+(M6<<2)|0,q1=e[z1>>2]|0,H1=h+4|0,Y1=e[h>>2]|0,V1=Y1-q1|0,e[h>>2]=V1,X1=M6+1|0,l3=(X1|0)==(L|0),!l3;)h=H1,M6=X1;if(j1=Gu(r3,G6,t)|0,O1=j1+S5|0,c2=d3+1|0,N3=(c2|0)==(D3|0),N3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,d3=c2}B=e[r5>>2]|0,E2=B,V5=E}else E2=a5,V5=0;W1=e[S2>>2]|0,h2=W1+V5|0,e[S2>>2]=h2,s2=E2+(d6<<2)|0,a2=e[s2>>2]|0,K1=K6+(a2<<2)|0,d2=e[K1>>2]|0,l2=d2+V5|0,e[K1>>2]=l2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if(A2=z3+1|0,e2=d6+1|0,k3=(A2|0)==(N5|0),k3)break;d6=e2,z3=A2}U2=Z5-Y6|0,J3=U2}else J3=Z5;if(m2=(J3|0)<($0|0),m2)Z5=J3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(o2=c6+1|0,f2=(o2|0)<(t2|0),f2)k2=t2,c6=o2;else break}C=Q6}function q8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,h=($|0)==0,h){m=g;break}else o=$,I=g;return m|0}function DQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0;d2=C,C=C+144|0,O1=d2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=R9(R)|0,u4(O1|0,0,132)|0,Z=(o|0)>0;do if(Z){E0=O1+4|0,O0=(a|0)==0,H0=O0&1,v1=0,b1=0;e:for(;;){A1=t+b1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,c2=w|y,!c2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(J=v,o0=M,z1=B;;){if(r0=J+1|0,e[o0>>2]=r0,q=z1+-1|0,d0=(z1|0)>1,!d0)break i;if(h=O1+(q<<2)|0,I=e[h>>2]|0,t0=O1+(q<<2)|0,j=I&1,u0=(j|0)==0,u0)J=I,o0=t0,z1=q;else{g=t0,x1=q,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(x1|0)==1,N){G=e[E0>>2]|0,V=G+1|0,e[E0>>2]=V;break}else{X=x1+-1|0,K=O1+(X<<2)|0,a0=e[K>>2]|0,W=a0<<1,e[g>>2]=W;break}while(!1);if(V1=B+1|0,T=(V1|0)<33,T)for(R1=v,H1=B,X1=V1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,I0=(l0|0)==(R1|0),!I0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,h0=(q1|0)<33,h0)Y1=X1,R1=$0,X1=q1,H1=Y1;else{m=1;break}}else m=1}else m=H0;while(!1);if(k1=v1+m|0,p0=b1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,b1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return p2(s0),$=0,C=d2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,P0=e[Z0>>2]|0,o1=32-P1|0,Y0=-1>>>o1,i1=P0&Y0,x0=(i1|0)==0,J0=P1+1|0,!!x0;)if(q0=(J0|0)<33,q0)P1=J0,K1=27;else break e;return p2(s0),$=0,C=d2,$|0}while(!1);if(!Z)return $=s0,C=d2,$|0;if(E)S1=0,G1=0;else{for(M1=0,Z1=0;;){if(n1=t+Z1|0,d1=f[n1>>0]|0,g1=d1<<24>>24>0,g1)for(m1=s0+(M1<<2)|0,h1=e[m1>>2]|0,u1=d1<<24>>24,n2=0,E2=0;;)if(c1=E2<<1,s1=h1>>>n2,$1=s1&1,j0=$1|c1,E1=n2+1|0,I1=(E1|0)<(u1|0),I1)n2=E1,E2=j0;else{h2=j0;break}else h2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=h2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=d2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(z0=s0+(S1<<2)|0,U0=e[z0>>2]|0,G0=w0<<24>>24,j1=0,a2=0;;)if(T0=a2<<1,N0=U0>>>j1,k0=N0&1,V0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,a2=V0;else{s2=V0;break}else s2=0;if(_0=w0<<24>>24==0,_0?D1=S1:(K0=S1+1|0,M0=s0+(S1<<2)|0,e[M0>>2]=s2,D1=K0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else S1=D1,G1=v0}return C=d2,$|0}function qb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,T=+Fu(+M,+F),h=+iA(+T),m=~~h,K=m;;){for(b=K+1|0,N=1,G=1,V=0;;)if(B=o5(N,K)|0,S=o5(G,b)|0,v=V+1|0,w=(v|0)<(D|0),w)N=B,G=S,V=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),X=I&E,X){r0=K;break}Q=(o|0)>(g|0),W=Q?-1:1,a0=K+W|0,K=a0}return r0|0}function Hb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return h=0,h|0;if(Y0=t+16|0,s1=e[Y0>>2]|0,L1=s1&2097151,x1=+(L1|0),W1=s1>>>21,A2=W1&1023,U2=(s1|0)<0,t5=-x1,$=U2?t5:x1,S=A2+-788|0,T=+$E($,S),o0=T,g0=t+20|0,w0=e[g0>>2]|0,V0=w0&2097151,Z0=+(V0|0),P0=w0>>>21,H0=P0&1023,o1=(w0|0)<0,i1=-Z0,g=o1?i1:Z0,x0=H0+-788|0,n1=+$E(g,x0),d1=n1,g1=e[t>>2]|0,m1=o5(g1,o)|0,h1=ce(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(g1|0)>0,!k1)for(;;);for(M1=+(v1|0),S1=M1,D1=+(g1|0),R1=1/D1,F1=R1,U1=+Fu(+S1,+F1),b1=+iA(+U1),P1=~~b1,c5=P1;;){for(h2=c5+1|0,s5=1,R2=1,p5=0;;)if(O1=o5(s5,c5)|0,c2=o5(R2,h2)|0,s2=p5+1|0,m5=(s2|0)==(g1|0),m5){m=O1,I=c2;break}else s5=O1,R2=c2,p5=s2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),e5=j1?-1:1,R5=e5+c5|0,c5=R5}if(z1=(v1|0)>0,!z1)return h=h1,h|0;for(q1=(a|0)==0,H1=t+8|0,Y1=t+32|0,V1=d1,X1=o0,n2=t+28|0,M2=0,T1=0;;){if(q1)if($2=e[Y1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=o5(g1,M2)|0,l2)for(y5=1,X2=0;;)if(x5=(T1|0)/(y5|0)&-1,j2=(x5|0)%(F2|0)&-1,I5=$2+(j2<<2)|0,b5=e[I5>>2]|0,Y5=+(b5|0),Y2=+rr(+Y5),g5=Y2,b2=g5*V1,B5=X1+b2,b=B5,v=r2+X2|0,w=h1+(v<<2)|0,s[w>>2]=b,D=o5(y5,F2)|0,y=X2+1|0,x=(y|0)<(g1|0),x)y5=D,X2=y;else{v5=21;break}else for($5=1,d5=0,r5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=$2+(L<<2)|0,F=e[R>>2]|0,N=+(F|0),q5=+rr(+N),G=q5,V=G*V1,X=r5,K=X+X1,a0=K+V,W=a0,r0=r2+d5|0,s0=h1+(r0<<2)|0,s[s0>>2]=W,J=o5($5,F2)|0,q=d5+1|0,d0=(q|0)<(g1|0),d0)$5=J,d5=q,r5=W;else{v5=21;break}else if(E2=e[H1>>2]|0,a2=E2+T1|0,K1=f[a2>>0]|0,d2=K1<<24>>24==0,d2)y2=M2;else for(e2=e[Y1>>2]|0,o2=e[n2>>2]|0,f2=(o2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=o5(k2,g1)|0,u5=1,l5=0,a5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,N2=e2+(Q2<<2)|0,L2=e[N2>>2]|0,m2=+(L2|0),M5=+rr(+m2),W2=M5,P2=W2*V1,V2=a5,G2=V2+X1,q2=G2+P2,Z2=q2,w5=f2?a5:Z2,A5=D2+l5|0,H2=h1+(A5<<2)|0,s[H2>>2]=Z2,N1=o5(u5,F2)|0,T5=l5+1|0,i5=(T5|0)<(g1|0),i5)u5=N1,l5=T5,a5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,t0=M2+1|0,y2=t0),j=T1+1|0,u0=(j|0)<(v1|0),u0)M2=y2,T1=j;else{h=h1;break}}return h|0}else if((B|0)==2){if(u1=t+4|0,A1=e[u1>>2]|0,c1=(A1|0)>0,!c1)return h=h1,h|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=d1,Q1=o0,p1=t+28|0,B1=(g1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,Z=l0<<24>>24==0,Z?N5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(I0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,h0=a+(Q5<<2)|0,p0=o5(g1,D5)|0,C0=o5(g1,Q5)|0,g2=0,z2=0;S0=p0+g2|0,Q0=I0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),L5=+rr(+E0),y0=L5,B0=y0*I1,_0=z2,K0=_0+Q1,M0=K0+B0,v0=M0,h5=n0?z2:v0,$1?(T0=e[h0>>2]|0,N0=o5(T0,g1)|0,U0=N0+g2|0,O0=h1+(U0<<2)|0,s[O0>>2]=v0):(k0=C0+g2|0,F0=h1+(k0<<2)|0,s[F0>>2]=v0),L0=g2+1|0,G0=(L0|0)<(g1|0),G0;)g2=L0,z2=h5;z0=Q5+1|0,N5=z0}if(J0=D5+1|0,q0=(J0|0)<(A1|0),q0)Q5=N5,D5=J0;else{h=h1;break}}return h|0}else return h=h1,h|0;return 0}function vC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,h=e[g>>2]|0,m=(h|0)==0,m||p2(h),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||p2(E),p2(t))}function Yb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||p2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||p2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||p2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||p2($),h=t+32|0,m=e[h>>2]|0,I=(m|0)==0,I||p2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function _Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;P0=C,q0=t,H0=q0+56|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,W=t+4|0,e[W>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,K0=e[_0>>2]|0,M0=DQ(K0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Fu(+b,+D),x=+iA(+y),L=~~x,z0=L;;){for(V=z0+1|0,T0=1,N0=1,O0=0;;)if(N=o5(T0,z0)|0,G=o5(N0,V)|0,X=O0+1|0,U0=(X|0)==(Q|0),U0){g=N,h=G;break}else T0=N,N0=G,O0=X;if(R=(g|0)<=(E|0),F=(h|0)>(E|0),k0=F&R,k0){J0=z0;break}T=(g|0)>(E|0),G0=T?-1:1,L0=G0+z0|0,z0=L0}return K=t+44|0,e[K>>2]=J0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,J=+(s0|0),o0=r0>>>21,q=o0&1023,d0=(r0|0)<0,t0=-J,a=d0?t0:J,j=q+-788|0,u0=+$E(a,j),c0=u0,V0=+TQ(c0),l0=~~V0,Z=t+48|0,e[Z>>2]=l0,I0=o+20|0,g0=e[I0>>2]|0,f0=g0&2097151,n0=+(f0|0),h0=g0>>>21,p0=h0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+$E($,b0),y0=E0,F0=+TQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function Vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;U3=C,_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));if(b=o+4|0,v=e[b>>2]|0,E2=(v|0)>0,E2)for(Y2=o+8|0,w5=e[Y2>>2]|0,z3=0,U6=0;;)if(v5=w5+z3|0,W5=f[v5>>0]|0,H3=W5<<24>>24>0,$6=H3&1,E=$6+U6|0,Z5=z3+1|0,w=(Z5|0)<(v|0),w)z3=Z5,U6=E;else{h0=E;break}else h0=0;if(V=t+4|0,e[V>>2]=v,t0=t+8|0,e[t0>>2]=h0,K0=e[o>>2]|0,e[t>>2]=K0,G0=(h0|0)>0,!G0)return $=0,C=U3,$|0;if(n1=o+8|0,E1=e[n1>>2]|0,D1=DQ(E1,v,h0)|0,H1=h0<<2,h=H1,a2=C,C=C+((1*h|0)+15&-16)|0,t2=(D1|0)==0,t2){q2=t+16|0,Z2=e[q2>>2]|0,A5=(Z2|0)==0,A5||p2(Z2),H2=t+20|0,N1=e[H2>>2]|0,t5=(N1|0)==0,t5||p2(N1),T5=t+24|0,i5=e[T5>>2]|0,x5=(i5|0)==0,x5||p2(i5),I5=t+28|0,b5=e[I5>>2]|0,Y5=(b5|0)==0,Y5||p2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||p2(b2),_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));return $=-1,C=U3,$|0}else M3=0;for(;V2=D1+(M3<<2)|0,j2=e[V2>>2]|0,Q5=j2>>>16,N5=j2<<16,m5=Q5|N5,L5=m5>>>8,q5=L5&16711935,M5=m5<<8,p5=M5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,d5=y5|D5,l5=d5>>>2,X2=l5&858993459,g2=d5<<2,r5=g2&-858993460,a5=X2|r5,h5=a5>>>1,z2=h5&1431655765,f5=a5<<1,n5=f5&-1431655766,R5=z2|n5,e[V2>>2]=R5,e5=a2+(M3<<2)|0,e[e5>>2]=V2,c5=M3+1|0,X6=(c5|0)==(h0|0),!X6;)M3=c5;for(Pu(a2,h0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,J5=R9(H1)|0,i3=t+20|0,e[i3>>2]=J5,E5=D1,K3=0;;)if(I3=a2+(K3<<2)|0,h3=e[I3>>2]|0,K5=h3,r3=K5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=K3,G5=K3+1|0,G6=(G5|0)==(h0|0),G6){e6=0;break}else K3=G5;for(;D3=D1+(e6<<2)|0,f3=e[D3>>2]|0,y3=F2+(e6<<2)|0,X3=e[y3>>2]|0,q3=J5+(X3<<2)|0,e[q3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(h0|0),!b6;)e6=X5;if(p2(D1),b3=Hb(o,h0,F2)|0,t3=t+16|0,e[t3>>2]=b3,s6=R9(H1)|0,T3=t+24|0,e[T3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[n1>>2]|0,F6=0,Q6=0;;)if(u3=Q+F6|0,Q3=f[u3>>0]|0,z5=Q3<<24>>24>0,z5?(H5=Q6+1|0,V5=F2+(Q6<<2)|0,S5=e[V5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=F6,e9=H5):e9=Q6,U5=F6+1|0,n3=(U5|0)<(c3|0),n3)F6=U5,Q6=e9;else{t9=e9;break}else t9=0;if(l3=R9(t9)|0,N3=t+28|0,e[N3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[n1>>2]|0,s5=0,_3=B,l6=0,n9=0;;)if(k3=_3+l6|0,S3=f[k3>>0]|0,a6=S3<<24>>24>0,a6?(i6=n9+1|0,V3=F2+(n9<<2)|0,x3=e[V3>>2]|0,d3=e[N3>>2]|0,J3=d3+x3|0,f[J3>>0]=S3,d6=e[n1>>2]|0,m3=d6+l6|0,L6=f[m3>>0]|0,M6=L6<<24>>24,R6=e[E6>>2]|0,S6=(M6|0)>(R6|0),S6?(e[E6>>2]=M6,R2=M6,M2=d6,V6=i6):(R2=R6,M2=d6,V6=i6)):(R2=s5,M2=_3,V6=n9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)s5=R2,_3=M2,l6=r6,n9=V6;else{I=R2,s9=V6;break}if(x=(s9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=ce(2,4)|0,F=t+32|0,e[F>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,$=0,C=U3,$|0;G3=1}else G3=s9}else G3=0;if(N=e[t0>>2]|0,G=(N|0)==0,G)P6=-4;else{for(g=N,J6=0;;)if(X=g>>>1,K=J6+1|0,a0=(X|0)==0,a0){T6=J6;break}else g=X,J6=K;c9=T6+-3|0,P6=c9}if(W=t+36|0,r0=(P6|0)<5,a=r0?5:P6,s0=(a|0)>8,i9=s0?8:a,e[W>>2]=i9,J=1<>2]=o0,d0=(G3|0)>0,d0)for(l0=i9,o3=0;;){if(j=e[N3>>2]|0,u0=j+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,Z=(l0|0)<($0|0),Z)y2=l0;else if(I0=e[i3>>2]|0,g0=I0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,U0=v0<<2,O0=U0&-858993460,k0=N0|O0,V0=k0>>>1,F0=V0&1431655765,L0=k0<<1,z0=L0&-1431655766,J0=F0|z0,q0=l0-$0|0,Z0=(q0|0)==31,Z0)y2=l0;else for(P0=o3+1|0,o1=$0,A3=0;;)if(H0=A3<>2]=P0,x0=A3+1|0,d1=e[W>>2]|0,g1=f[u0>>0]|0,m1=g1<<24>>24,h1=d1-m1|0,u1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,S1=k1<<8,R1=S1&-16711936,F1=M1|R1,U1=F1>>>4,b1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=b1|Z1,x1=G1>>>2,z1=x1&858993459,q1=G1<<2,Y1=q1&-858993460,V1=z1|Y1,X1=V1>>>1,n2=X1&1431655765,j1=V1<<1,O1=j1&-1431655766,c2=n2|O1,W1=o0+(c2<<2)|0,h2=e[W1>>2]|0,s2=(h2|0)==0,s2){for(B6=c6;;){if(K1=B6+1|0,d2=(K1|0)<(G3|0),!d2){R3=B6;break}if($2=e[i3>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>B1>>>0,r2){R3=B6;break}else B6=K1}A2=(G3|0)>(v6|0);e:do if(A2)for(e2=e[i3>>2]|0,n6=v6;;){if(o2=e2+(n6<<2)|0,f2=e[o2>>2]|0,k2=f2&j0,D2=B1>>>0>>0,D2){L3=n6;break e}if(S2=n6+1|0,Q2=(G3|0)>(S2|0),Q2)n6=S2;else{L3=S2;break}}else L3=v6;while(!1);N2=G3-L3|0,L2=R3>>>0>32767,U2=N2>>>0>32767,C6=U2?32767:N2,Y6=R3<<15,A6=Y6|-2147483648,m2=L2?-1073774592:A6,W2=m2|C6,e[W1>>2]=W2,o6=L3,D6=R3}else o6=v6,D6=c6;if(P2=K6+1|0,G2=(P2|0)<(J|0),!G2){$=0;break}S=e[W>>2]|0,p1=S,v6=o6,K6=P2,c6=D6}return C=U3,$|0}function Jb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$>>>0>h>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function zb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0;if(K0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,J=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,Z=l0+4|0,I0=e[Z>>2]|0,g0=(I0|0)>0,!!g0)){for(f0=I0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=o5(D,w)|0,x=v+-1|0,M=o5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(K=(R|0)==0,a=E+L|0,a0=J+(a<<2)|0,K){RQ(D,w,o,J,a0),y0=0;break}else{RQ(D,w,J,o,a0),y0=R;break}else if((v|0)==4)if(T=L+D|0,N=(R|0)==0,$=E+L|0,G=J+($<<2)|0,g=E+T|0,V=J+(g<<2)|0,h=E+D|0,m=h+T|0,X=J+(m<<2)|0,N){MQ(D,w,o,J,G,V,X),y0=0;break}else{MQ(D,w,J,o,G,V,X),y0=R;break}else if(W=(D|0)==1,b0=W?E0:R,r0=(b0|0)==0,I=E+L|0,s0=J+(I<<2)|0,r0){FQ(D,v,w,y,o,o,o,J,J,s0),y0=1;break}else{FQ(D,v,w,y,J,J,J,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,h0=(o0|0)==(I0|0),h0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(q=(w0|0)!=1,d0=(Q|0)>0,B0=d0&q,B0)p0=0;else return;for(;t0=J+(p0<<2)|0,j=e[t0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=j,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function xQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=ce(m,4)|0,M=t+4|0,e[M>>2]=I,W=ce(32,4)|0,$0=t+8|0,e[$0>>2]=W,Q0=(o|0)==1,!Q0){K0=W+8|0,Y0=-1,g1=0,m1=o,u1=0;e:for(;;)for(M0=Y0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=u1+2|0,A1=Q),B=(A1|0)!=2,q0=g1,h1=m1;;){if(z0=q0+1|0,S=(h1|0)/(A1|0)&-1,b=o5(S,A1)|0,v=(h1|0)==(b|0),!v){Y0=M0,g1=q0,m1=h1,u1=A1;continue e}if(w=q0+2|0,D=W+(w<<2)|0,e[D>>2]=A1,y=(q0|0)==0,c1=B|y,!c1){if(x=(q0|0)<1,!x)for(F0=1;L=z0-F0|0,R=L+1|0,F=W+(R<<2)|0,T=e[F>>2]|0,N=L+2|0,G=W+(N<<2)|0,e[G>>2]=T,V=F0+1|0,k0=(V|0)==(z0|0),!k0;)F0=V;e[K0>>2]=2}if(X=(S|0)==1,X){a=y,J0=z0,Z0=q0;break e}else q0=z0,h1=S}if(e[W>>2]=o,K=W+4|0,e[K>>2]=J0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,s1=s0&$,!!s1)for(J=o+1|0,P0=0,x0=0,n1=1;;){if(o0=x0+2|0,q=W+(o0<<2)|0,d0=e[q>>2]|0,t0=o5(d0,n1)|0,j=(o|0)/(t0|0)&-1,u0=(d0|0)>1,u0){for(c0=(j|0)>2,l0=d0+-1|0,o1=P0,i1=0,d1=0;;){if(Z=d1+n1|0,I0=+(Z|0),g0=I0*r0,c0)for(V0=0,L0=o1,G0=2;f0=V0+1,n0=g0*f0,N0=+rA(+n0),g=L0+o|0,h0=I+(g<<2)|0,s[h0>>2]=N0,$1=+Hn(+n0),p0=L0+2|0,h=J+L0|0,C0=I+(h<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(j|0),b0;)V0=f0,L0=p0,G0=S0;if(E0=o1+j|0,y0=i1+1|0,U0=(y0|0)==(l0|0),U0)break;o1=E0,i1=y0,d1=Z}w0=o5(j,l0)|0,B0=w0+P0|0,H0=B0}else H0=P0;if(_0=x0+1|0,O0=(_0|0)==(Z0|0),O0)break;P0=H0,x0=_0,n1=t0}}}function LQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||p2($),h=t+8|0,m=e[h>>2]|0,I=(m|0)==0,I||p2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function MQ(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,V1=t<<2,K1=V1+-1|0,k2=t<<1,g2=0,a5=I,f5=F1,e5=0,c5=E;G2=a+(a5<<2)|0,I5=+s[G2>>2],N5=a+(f5<<2)|0,Q=+s[N5>>2],R=Q+I5,s0=a+(e5<<2)|0,Z=+s[s0>>2],E0=a+(c5<<2)|0,O0=+s[E0>>2],H0=O0+Z,A1=H0+R,E1=e5<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=H0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,S1=M1+-1|0,D1=$+(S1<<2)|0,s[D1>>2]=L1,R1=+s[N5>>2],U1=+s[G2>>2],b1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=b1,Z1=a5+t|0,G1=f5+t|0,x1=e5+t|0,z1=c5+t|0,q1=g2+1|0,d5=(q1|0)==(o|0),!d5;)g2=q1,a5=Z1,f5=G1,e5=x1,c5=z1;if(H1=(t|0)<2,!H1){if(Y1=(t|0)==2,!Y1){if(Q1)for(X1=t<<1,w5=0,h5=0;;){for(n0=h5<<2,h0=n0+X1|0,X2=2,n5=h5,F2=n0,J5=h0;O1=n5+2|0,c2=F2+2|0,W1=J5+-2|0,h2=O1+I|0,s2=X2+-2|0,E2=g+(s2<<2)|0,a2=+s[E2>>2],d2=h2+-1|0,$2=a+(d2<<2)|0,i2=+s[$2>>2],l2=i2*a2,r2=X2+-1|0,A2=g+(r2<<2)|0,e2=+s[A2>>2],o2=a+(h2<<2)|0,f2=+s[o2>>2],t2=f2*e2,D2=t2+l2,S2=f2*a2,Q2=e2*i2,N2=S2-Q2,L2=h2+I|0,U2=h+(s2<<2)|0,m2=+s[U2>>2],W2=L2+-1|0,P2=a+(W2<<2)|0,V2=+s[P2>>2],q2=V2*m2,Z2=h+(r2<<2)|0,A5=+s[Z2>>2],H2=a+(L2<<2)|0,N1=+s[H2>>2],t5=N1*A5,T5=t5+q2,i5=N1*m2,x5=A5*V2,j2=i5-x5,b5=L2+I|0,Y5=m+(s2<<2)|0,g5=+s[Y5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,s5=+s[B5>>2],R2=s5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],L5=m5*y2,q5=L5+R2,M5=m5*g5,Y2=y2*s5,p5=M5-Y2,$5=q5+D2,u5=q5-D2,y5=p5+N2,T1=N2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+j2,v=S-j2,w=n5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+T5,M=y-T5,L=$5+x,F=F2|1,T=$+(F<<2)|0,s[T>>2]=L,N=y5+b,G=$+(c2<<2)|0,s[G>>2]=N,V=M-T1,X=J5+-3|0,K=$+(X<<2)|0,s[K>>2]=V,a0=u5-v,W=$+(W1<<2)|0,s[W>>2]=a0,r0=T1+M,J=c2+X1|0,o0=J+-1|0,q=$+(o0<<2)|0,s[q>>2]=r0,d0=u5+v,t0=$+(J<<2)|0,s[t0>>2]=d0,j=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=j,l0=y5-b,I0=$+(u0<<2)|0,s[I0>>2]=l0,g0=X2+2|0,f0=(g0|0)<(t|0),f0;)X2=g0,n5=O1,F2=c2,J5=W1;if(n2=h5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,h5=n2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,r5=0,z2=Q0,R5=w0,v5=t,i3=t;B0=a+(z2<<2)|0,_0=+s[B0>>2],K0=a+(R5<<2)|0,M0=+s[K0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,U0=N0*.7071067690849304,k0=i3+-1|0,V0=a+(k0<<2)|0,F0=+s[V0>>2],L0=U0+F0,G0=v5+-1|0,z0=$+(G0<<2)|0,s[z0>>2]=L0,J0=+s[V0>>2],q0=J0-U0,Z0=v5+y0|0,P0=Z0+-1|0,o1=$+(P0<<2)|0,s[o1>>2]=q0,Y0=z2+I|0,i1=a+(Y0<<2)|0,x0=+s[i1>>2],n1=T0-x0,d1=$+(v5<<2)|0,s[d1>>2]=n1,g1=+s[i1>>2],m1=g1+T0,h1=$+(Z0<<2)|0,s[h1>>2]=m1,u1=z2+t|0,c1=R5+t|0,s1=v5+b0|0,$1=i3+t|0,j0=r5+1|0,D5=(j0|0)==(o|0),!D5;)r5=j0,z2=u1,R5=c1,v5=s1,i3=$1}}function RQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0;if(b1=C,h=o5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=h;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,q0=+s[T0>>2],m1=q0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,s1=(D|0)==(o|0),!s1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=h;;){for(V0=B1<<1,F0=V0+m|0,j0=2,M1=k1,D1=F0,R1=B1,F1=V0;T=M1+2|0,N=D1+-2|0,G=R1+2|0,V=F1+2|0,X=j0+-2|0,K=g+(X<<2)|0,W=+s[K>>2],r0=M1+1|0,s0=a+(r0<<2)|0,J=+s[s0>>2],o0=J*W,q=j0+-1|0,d0=g+(q<<2)|0,t0=+s[d0>>2],j=a+(T<<2)|0,u0=+s[j>>2],$0=u0*t0,l0=$0+o0,Z=u0*W,I0=t0*J,g0=Z-I0,f0=a+(G<<2)|0,n0=+s[f0>>2],h0=g0+n0,p0=$+(V<<2)|0,s[p0>>2]=h0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(N<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,K0=$+(_0<<2)|0,s[K0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=D1+-3|0,U0=$+(N0<<2)|0,s[U0>>2]=v0,O0=j0+2|0,k0=(O0|0)<(t|0),k0;)j0=O0,M1=T,D1=N,R1=G,F1=V;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(z0=t+-1|0,!!x)for(J0=h+z0|0,Q1=0,w1=t,L1=J0,S1=z0;Z0=a+(L1<<2)|0,P0=+s[Z0>>2],H0=-P0,o1=$+(w1<<2)|0,s[o1>>2]=H0,Y0=a+(S1<<2)|0,i1=e[Y0>>2]|0,x0=w1+-1|0,n1=$+(x0<<2)|0,e[n1>>2]=i1,d1=w1+m|0,g1=L1+t|0,h1=S1+t|0,u1=Q1+1|0,c1=(u1|0)==(o|0),!c1;)Q1=u1,w1=d1,L1=g1,S1=h1}}function FQ(t,o,a,$,g,h,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+rA(+v),H8=+Hn(+v),E2=o+1|0,k3=E2>>1,J9=t+-1|0,Je=J9>>1,P9=o5(a,t)|0,S9=o5(o,t)|0,pe=(t|0)==1;e:do if(!pe){if(_8=($|0)>0,_8)for(_4=0;h0=m+(_4<<2)|0,K0=e[h0>>2]|0,G0=E+(_4<<2)|0,e[G0>>2]=K0,n1=_4+1|0,Bt=(n1|0)==($|0),!Bt;)_4=n1;if(V=(o|0)>1,V)for(t0=(a|0)>0,wt=1,K8=0;;){if(E1=K8+P9|0,t0)for(l8=0,ae=E1;D1=h+(ae<<2)|0,H1=e[D1>>2]|0,a2=I+(ae<<2)|0,e[a2>>2]=H1,t2=ae+t|0,V2=l8+1|0,oe=(V2|0)==(a|0),!oe;)l8=V2,ae=t2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,K8=E1}if(Q5=0-t|0,T1=(Je|0)>(a|0),T1){if(V)for(q3=(a|0)>0,z5=(t|0)>2,E3=Q5,Z9=1,F8=0;;){if(_3=F8+P9|0,L6=E3+t|0,q3)for(n6=_3-t|0,A3=L6+-1|0,ut=0,N8=n6;;){if(G3=N8+t|0,z5)for(ct=2,C4=A3,Ci=G3;U3=C4+2|0,y6=Ci+2|0,v9=C4+1|0,o4=Q+(v9<<2)|0,Ye=+s[o4>>2],Ve=Ci+1|0,he=h+(Ve<<2)|0,Ue=+s[he>>2],Ce=Ue*Ye,v4=Q+(U3<<2)|0,W9=+s[v4>>2],k9=h+(y6<<2)|0,k4=+s[k9>>2],Y4=k4*W9,nt=Y4+Ce,V4=I+(Ve<<2)|0,s[V4>>2]=nt,ze=+s[o4>>2],s4=+s[k9>>2],R4=s4*ze,ot=+s[v4>>2],re=+s[he>>2],d4=re*ot,Be=R4-d4,N6=I+(y6<<2)|0,s[N6>>2]=Be,Ke=ct+2|0,fe=(Ke|0)<(t|0),fe;)ct=Ke,C4=U3,Ci=y6;if(Ne=ut+1|0,$t=(Ne|0)==(a|0),$t)break;ut=Ne,N8=G3}if(h4=Z9+1|0,Ct=(h4|0)==(o|0),Ct)break;E3=L6,Z9=h4,F8=_3}}else if(V)for(f5=(t|0)>2,h3=(a|0)>0,Z4=Q5,c4=1,Y8=0;;){if(ne=Z4+t|0,f4=Y8+P9|0,f5)for(I4=ne+-1|0,Qt=2,gt=I4,Ai=f4;;){if(Se=gt+2|0,a4=Ai+2|0,h3)for(Pe=gt+1|0,m4=Q+(Pe<<2)|0,f6=Q+(Se<<2)|0,dt=0,X8=a4;J4=+s[m4>>2],Ie=X8+-1|0,S4=h+(Ie<<2)|0,be=+s[S4>>2],me=be*J4,z6=+s[f6>>2],F4=h+(X8<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+me,mt=I+(Ie<<2)|0,s[mt>>2]=xe,W3=+s[m4>>2],x9=+s[F4>>2],b9=x9*W3,Oe=+s[f6>>2],A4=+s[S4>>2],h8=A4*Oe,N4=b9-h8,f8=I+(X8<<2)|0,s[f8>>2]=N4,e8=X8+t|0,I8=dt+1|0,Rt=(I8|0)==(a|0),!Rt;)dt=I8,X8=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=Se,Ai=a4;else break}if(Pt=c4+1|0,p4=(Pt|0)==(o|0),p4)break;Z4=ne,c4=Pt,Y8=f4}if(Ot=o5(P9,o)|0,qt=(Je|0)<(a|0),t8=(k3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,x8=(t|0)>2,j4=1,ht=0,qi=Ot;;){if(y0=ht+P9|0,w0=qi-P9|0,i8)for(je=0,$i=y0,li=w0;;){if(x8)for(D4=2,ei=$i,ki=li;B0=ei+2|0,_0=ki+2|0,M0=ei+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=ki+1|0,U0=I+(N0<<2)|0,O0=+s[U0>>2],k0=O0+T0,V0=h+(M0<<2)|0,s[V0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],z0=I+(_0<<2)|0,J0=+s[z0>>2],q0=L0-J0,Z0=h+(N0<<2)|0,s[Z0>>2]=q0,P0=+s[F0>>2],H0=+s[z0>>2],o1=H0+P0,Y0=h+(B0<<2)|0,s[Y0>>2]=o1,i1=+s[U0>>2],x0=+s[v0>>2],d1=i1-x0,g1=h+(_0<<2)|0,s[g1>>2]=d1,m1=D4+2|0,h1=(m1|0)<(t|0),h1;)D4=m1,ei=B0,ki=_0;if(u1=$i+t|0,A1=li+t|0,c1=je+1|0,We=(c1|0)==(a|0),We)break;je=c1,$i=u1,li=A1}if(s1=j4+1|0,U4=(s1|0)==(k3|0),U4)break e;j4=s1,ht=y0,qi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,T9=1,W8=0,Oi=Ot;;){if(x=W8+P9|0,M=Oi-P9|0,D)for(E4=2,Bi=x,wi=M;;){if(L=Bi+2|0,R=wi+2|0,y)for(F=R-t|0,T=L-t|0,Ft=0,Wi=T,h7=F;N=Wi+t|0,G=h7+t|0,X=N+-1|0,K=I+(X<<2)|0,a0=+s[K>>2],W=G+-1|0,r0=I+(W<<2)|0,s0=+s[r0>>2],J=s0+a0,o0=h+(X<<2)|0,s[o0>>2]=J,q=I+(N<<2)|0,d0=+s[q>>2],j=I+(G<<2)|0,u0=+s[j>>2],c0=d0-u0,$0=h+(W<<2)|0,s[$0>>2]=c0,l0=+s[q>>2],Z=+s[j>>2],I0=Z+l0,g0=h+(N<<2)|0,s[g0>>2]=I0,f0=+s[r0>>2],n0=+s[K>>2],p0=f0-n0,C0=h+(G<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Wi=N,h7=G;if(Q0=E4+2|0,b0=(Q0|0)<(t|0),b0)E4=Q0,Bi=L,wi=R;else break}if(E0=T9+1|0,At=(E0|0)==(k3|0),At)break;T9=E0,W8=x,Oi=M}}while(!1);if(w=($|0)>0,w)for(De=0;$1=E+(De<<2)|0,j0=e[$1>>2]|0,I1=m+(De<<2)|0,e[I1>>2]=j0,Q1=De+1|0,Kt=(Q1|0)==($|0),!Kt;)De=Q1;if(p1=o5($,o)|0,B1=(k3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Hi=p1;;){if(v1=Nt+P9|0,k1=Hi-P9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,c7=M1,u7=L1;S1=c7+t|0,R1=u7+t|0,F1=I+(S1<<2)|0,U1=+s[F1>>2],b1=I+(R1<<2)|0,P1=+s[b1>>2],Z1=P1+U1,G1=h+(S1<<2)|0,s[G1>>2]=Z1,x1=+s[b1>>2],z1=+s[F1>>2],q1=x1-z1,Y1=h+(R1<<2)|0,s[Y1>>2]=q1,V1=c8+1|0,$4=(V1|0)==(a|0),!$4;)c8=V1,c7=S1,u7=R1;if(X1=Wt+1|0,s8=(X1|0)==(k3|0),s8)break;Wt=X1,Nt=v1,Hi=k1}if(n2=o+-1|0,j1=o5(n2,$)|0,B1){for(O1=(k3|0)>2,Ht=0,Vt=1,et=1,T8=0,pi=p1;;){if(c2=T8+$|0,W1=pi-$|0,h2=Vt*pt,s2=Ht*H8,K1=h2-s2,d2=Ht*pt,$2=Vt*H8,i2=$2+d2,w)for(yt=0,Vi=c2,gi=W1,ji=j1,ii=$;l2=m+(yt<<2)|0,r2=+s[l2>>2],A2=ii+1|0,e2=m+(ii<<2)|0,o2=+s[e2>>2],f2=o2*K1,k2=f2+r2,D2=Vi+1|0,S2=E+(Vi<<2)|0,s[S2>>2]=k2,Q2=ji+1|0,N2=m+(ji<<2)|0,L2=+s[N2>>2],U2=L2*i2,m2=gi+1|0,W2=E+(gi<<2)|0,s[W2>>2]=U2,P2=yt+1|0,E8=(P2|0)==($|0),!E8;)yt=P2,Vi=D2,gi=m2,ji=Q2,ii=A2;if(O1)for(Yt=i2,_t=K1,C8=2,Ji=$,V8=j1;;){if(G2=Ji+$|0,q2=V8-$|0,Z2=_t*K1,A5=Yt*i2,H2=Z2-A5,N1=Yt*K1,t5=_t*i2,T5=t5+N1,w)for(a8=0,Si=c2,_i=W1,xi=G2,G8=q2;i5=xi+1|0,x5=m+(xi<<2)|0,I5=+s[x5>>2],b5=I5*H2,Y5=Si+1|0,g5=E+(Si<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,s5=G8+1|0,R2=m+(G8<<2)|0,M2=+s[R2>>2],y2=M2*T5,N5=_i+1|0,m5=E+(_i<<2)|0,L5=+s[m5>>2],q5=L5+y2,s[m5>>2]=q5,M5=a8+1|0,L8=(M5|0)==($|0),!L8;)a8=M5,Si=Y5,_i=N5,xi=i5,G8=s5;if(Y2=C8+1|0,o8=(Y2|0)==(k3|0),o8)break;Yt=T5,_t=H2,C8=Y2,Ji=G2,V8=q2}if(p5=et+1|0,M8=(p5|0)==(k3|0),M8)break;Ht=i2,Vt=K1,et=p5,T8=c2,pi=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(Ze=0,Z8=$5;u5=Z8+1|0,y5=m+(Z8<<2)|0,D5=+s[y5>>2],d5=E+(Ze<<2)|0,l5=+s[d5>>2],X2=l5+D5,s[d5>>2]=X2,g2=Ze+1|0,p8=(g2|0)==($|0),!p8;)Ze=g2,Z8=u5;if(w5=A8+1|0,b4=(w5|0)==(k3|0),b4)break;A8=w5,Xt=$5}}}if(r5=(t|0)<(a|0),r5){if(z2=(t|0)>0,z2)for(n5=(a|0)>0,W4=0;;){if(n5)for(X4=0,B4=W4,j8=W4;K5=I+(B4<<2)|0,r3=e[K5>>2]|0,a3=g+(j8<<2)|0,e[a3>>2]=r3,B3=B4+t|0,G5=j8+S9|0,W5=X4+1|0,G4=(W5|0)==(a|0),!G4;)X4=W5,B4=B3,j8=G5;if(D3=W4+1|0,at=(D3|0)==(t|0),at)break;W4=D3}}else if(a5=(a|0)>0,a5)for(h5=(t|0)>0,Tt=0,O4=0,Ei=0;;){if(h5)for(K4=0,Yi=O4,zi=Ei;R5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,F2=zi+1|0,v5=g+(zi<<2)|0,e[v5>>2]=c5,J5=K4+1|0,Lt=(J5|0)==(t|0),!Lt;)K4=J5,Yi=R5,zi=F2;if(i3=O4+t|0,E5=Ei+S9|0,I3=Tt+1|0,L9=(I3|0)==(a|0),L9)break;Tt=I3,O4=i3,Ei=E5}if(f3=t<<1,y3=o5(P9,o)|0,B1)for(X3=(a|0)>0,$8=1,R8=0,Qi=0,Ki=y3;;){if(X5=R8+f3|0,b3=Qi+P9|0,t3=Ki-P9|0,X3)for(D9=0,ti=X5,bi=b3,e7=t3;s6=I+(bi<<2)|0,T3=e[s6>>2]|0,H3=ti+-1|0,c3=g+(H3<<2)|0,e[c3>>2]=T3,g3=I+(e7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ti<<2)|0,e[Q3>>2]=u3,H5=ti+S9|0,V5=bi+t|0,S5=e7+t|0,Y3=D9+1|0,Et=(Y3|0)==(a|0),!Et;)D9=Y3,ti=H5,bi=V5,e7=S5;if(U5=$8+1|0,z4=(U5|0)==(k3|0),z4)break;$8=U5,R8=X5,Qi=b3,Ki=t3}if(!pe){if($6=(Je|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,yi=0,ci=0,d7=y3;;){if(E6=u8+f3|0,S3=yi+f3|0,a6=ci+P9|0,i6=d7-P9|0,!xt)for(g8=0,Xi=E6,ui=S3,x4=a6,di=i6;;){for(se=2;d6=t-se|0,m3=se+x4|0,M6=m3+-1|0,R6=I+(M6<<2)|0,S6=+s[R6>>2],r6=se+di|0,h6=r6+-1|0,b6=I+(h6<<2)|0,G6=+s[b6>>2],X6=G6+S6,v6=se+ui|0,L3=v6+-1|0,o6=g+(L3<<2)|0,s[o6>>2]=X6,C6=+s[R6>>2],z3=+s[b6>>2],M3=C6-z3,K3=d6+Xi|0,e6=K3+-1|0,F6=g+(e6<<2)|0,s[F6>>2]=M3,l6=I+(m3<<2)|0,o3=+s[l6>>2],K6=I+(r6<<2)|0,c6=+s[K6>>2],B6=c6+o3,R3=g+(v6<<2)|0,s[R3>>2]=B6,Y6=+s[K6>>2],A6=+s[l6>>2],D6=Y6-A6,U6=g+(K3<<2)|0,s[U6>>2]=D6,t9=se+2|0,Q6=(t9|0)<(t|0),Q6;)se=t9;if(V3=Xi+S9|0,Z5=ui+S9|0,x3=x4+t|0,d3=di+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,Xi=V3,ui=Z5,x4=x3,di=d3}if(e9=Zt+1|0,n8=(e9|0)==(k3|0),n8)break;Zt=e9,u8=E6,yi=S3,ci=a6,d7=i6}return}if(B1)for(l3=(t|0)>2,N3=(a|0)>0,l4=1,g4=n3,g7=0,vi=0,Zi=y3;;){if(n9=g4+f3|0,V6=g7+f3|0,s9=vi+P9|0,c9=Zi-P9|0,l3&&(P6=n9+t|0,N3))for(P4=2;;){for(Fe=P4+c9|0,Te=P4+s9|0,Ge=P4+V6|0,He=P6-P4|0,jt=0,Di=He,J8=Ge,Li=Te,l9=Fe;i9=Li+-1|0,_6=I+(i9<<2)|0,O6=+s[_6>>2],q6=l9+-1|0,a9=I+(q6<<2)|0,d9=+s[a9>>2],o9=d9+O6,B9=J8+-1|0,Q9=g+(B9<<2)|0,s[Q9>>2]=o9,y9=+s[_6>>2],h9=+s[a9>>2],f9=y9-h9,H9=Di+-1|0,H6=g+(H9<<2)|0,s[H6>>2]=f9,A9=I+(Li<<2)|0,Y9=+s[A9>>2],w9=I+(l9<<2)|0,we=+s[w9>>2],ue=we+Y9,Ee=g+(J8<<2)|0,s[Ee>>2]=ue,V9=+s[w9>>2],ie=+s[A9>>2],F9=V9-ie,W6=g+(Di<<2)|0,s[W6>>2]=F9,$9=Di+S9|0,ve=J8+S9|0,Re=Li+t|0,de=l9+t|0,_9=jt+1|0,Jt=(_9|0)==(a|0),!Jt;)jt=_9,Di=$9,J8=ve,Li=Re,l9=de;if(J6=P4+2|0,T6=(J6|0)<(t|0),T6)P4=J6;else break}if(ke=l4+1|0,zt=(ke|0)==(k3|0),zt)break;l4=ke,g4=n9,g7=V6,vi=s9,Zi=c9}}}function Kb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,ds=0,Kn=0,hs=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,or=0,Ts=0,$o=0,dn=0,lo=0,hn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,sr=0,br=0,W7=0,Dr=0,Io=0,Z7=0,S7=0,b7=0,t7=0,D7=0,_r=0,ar=0,Ar=0,xr=0,p7=0,Ps=0,hi=0,sl=0,In=0,mn=0,Ou=0,al=0,Os=0,qu=0,sA=0,Al=0,Hu=0,Yu=0,Vu=0,aA=0,$l=0,ll=0,AA=0,pn=0,cl=0,Ju=0,qs=0,$r=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,gl=0,Lr=0,nd=0,od=0,ul=0,sd=0,$A=0,Hs=0,lA=0,ad=0,Ad=0,cA=0,dl=0,hl=0,fl=0,gA=0,Il=0,Ys=0,$d=0,ld=0,ml=0,cd=0,gd=0,pl=0,ud=0,dd=0,El=0,Cl=0,Bl=0,Ql=0,yl=0,En=0,hd=0,wl=0,fd=0,vl=0,kl=0,Id=0,md=0,pd=0,uA=0,Sl=0,bl=0,mo=0,Dl=0,dA=0,Ed=0,_l=0,Cd=0,xl=0,Bd=0,Qd=0,Ll=0,Ml=0,yd=0,Vs=0,wd=0,hA=0,Rl=0,Fl=0,vd=0,kd=0,Sd=0,bd=0,Dd=0,_d=0,Js=0,Tl=0,Nl=0,Gl=0,zs=0,xd=0,Ul=0,Ld=0,Pl=0,Md=0,Rd=0,Ol=0,fA=0,Fd=0,Td=0,Ks=0,Nd=0,Ws=0,Gd=0,IA=0,Ud=0,Pd=0,Od=0,ql=0,qd=0,Hd=0,Yd=0,Vd=0,Hl=0,Yl=0,lr=0,Vl=0,Zs=0,mA=0,pA=0,Cn=0,Jl=0,Bn=0,Jd=0,zl=0,zd=0,Kd=0,Wd=0,Zd=0,js=0,EA=0,Mr=0,jd=0,Xd=0,Kl=0,CA=0,Wl=0,Zl=0,eh=0,jl=0,th=0,BA=0,ih=0,rh=0,z9=0,nh=0,Xl=0,oh=0,sh=0,QA=0,ah=0,yA=0,ec=0,Ah=0,$h=0,tc=0,ic=0,lh=0,wA=0,vA=0,rc=0,nc=0,ch=0,oc=0,kA=0,gh=0,sc=0,uh=0,dh=0,hh=0,fh=0,ac=0,Ac=0,SA=0,Xs=0,$c=0,Ih=0,lc=0,cc=0,mh=0,ph=0,Eh=0,gc=0,Ch=0,Bh=0,Qh=0,yh=0,wh=0,vh=0,uc=0,kh=0,dc=0,Sh=0,Qn=0,bh=0,hc=0,Dh=0,po=0,fc=0,bA=0,_h=0,ea=0,DA=0,xh=0,_A=0,Ic=0,Lh=0,Mh=0,Rh=0,Fh=0,Th=0,mc=0,Nh=0,Gh=0,Uh=0,ta=0,Eo=0,xA=0,Ph=0,LA=0,Oh=0,qh=0,Hh=0,pc=0,Yh=0,Vh=0,Jh=0,zh=0,Kh=0,ia=0,Wh=0,Zh=0,Ec=0,jh=0,Xh=0,ef=0,tf=0,E7=0,Cc=0,C7=0,Bc=0,MA=0,rf=0,i7=0,Co=0,nf=0,of=0,sf=0,af=0,Af=0,Qc=0,$f=0,lf=0,yc=0,cf=0,gf=0,Bo=0,RA=0,uf=0,wc=0,df=0,hf=0,ra=0,ff=0,If=0,vc=0,kc=0,mf=0,pf=0,yn=0,Ef=0,Cf=0,wn=0,Bf=0,Sc=0,Qf=0,yf=0,Qo=0,bc=0,wf=0,Dc=0,vf=0,cr=0,FA=0,kf=0,_c=0,xc=0,Sf=0,bf=0,Lc=0,Df=0,_f=0,xf=0,Mc=0,Lf=0,yo=0,Mf=0,vn=0,Rf=0,Ff=0,TA=0,Tf=0,NA=0,GA=0,Nf=0,Rc=0,Fc=0,Gf=0,Tc=0,Nc=0,Gc=0,Uf=0,Uc=0,Pc=0,Pf=0,Of=0,Oc=0,qc=0,qf=0,Hc=0,Yc=0,Hf=0,Yf=0,Vc=0,UA=0,Jc=0,zc=0,Kc=0,Wc=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Zc=0,PA=0,eI=0,tI=0,iI=0,jc=0,Xc=0,rI=0,eg=0,OA=0,na=0,tg=0,nI=0,oI=0,sI=0,aI=0,ig=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,dI=0,hI=0,rg=0,fI=0,II=0,mI=0,pI=0,sa=0,ng=0,EI=0,CI=0,kn=0,og=0,sg=0,qA=0,BI=0,ag=0,QI=0,Ag=0,$g=0,yI=0,wI=0,vI=0,kI=0,SI=0,aa=0,HA=0,bI=0,DI=0,_I=0,xI=0,lg=0,LI=0,cg=0,MI=0,RI=0,gg=0,Rr=0,ug=0,dg=0,FI=0,hg=0,Aa=0,TI=0,NI=0,GI=0,$a=0,fg=0,UI=0,PI=0,Ig=0,OI=0,qI=0,YA=0,la=0,HI=0,YI=0,VI=0,mg=0,pg=0,Eg=0,JI=0,zI=0,wo=0,KI=0,Cg=0,WI=0,VA=0,Bg=0,ZI=0,jI=0,XI=0,em=0,Qg=0,tm=0,im=0,yg=0,ca=0,rm=0,nm=0,om=0,vo=0,wg=0,vg=0,sm=0,kg=0,Sg=0,_7=0,bg=0,gr=0,am=0,Am=0,$m=0,lm=0,JA=0,ga=0,Dg=0,_g=0,cm=0,ua=0,ko=0,gm=0,da=0,zA=0,um=0,KA=0,dm=0,hm=0,xg=0,ha=0,Lg=0,fm=0,Im=0,mm=0,pm=0,Mg=0,Em=0,ri=0,_e=0,r7=0,Cm=0,Rg=0,Fg=0,WA=0,Bm=0,Fr=0,So=0,Qm=0,ym=0,Tg=0,ZA=0,wm=0,Ng=0,Gg=0,Ug=0,jA=0,XA=0,Pg=0,bo=0,e$=0,Og=0,vm=0,Sn=0,km=0,qg=0,fa=0,Sm=0,Hg=0,x7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,L7=0,Rm=0,Fm=0,Tm=0,Yg=0,B7=0,Ia=0,t$=0,Vg=0,Jg=0,Nm=0,zg=0,Kg=0,Gm=0,Um=0,Wg=0,Zg=0,Pm=0,Om=0,jg=0,qm=0,Do=0,ma=0,pa=0,Hm=0,i$=0,Ym=0,Vm=0,Xg=0,_o=0,Jm=0,zm=0,r$=0,n$=0,Ea=0,o$=0,s$=0,ur=0,Tr=0,Nr=0,a$=0,A$=0,xo=0,dr=0,bn=0,Km=0,hr=0,Dn=0,Wm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,eu=0,tu=0,Qa=0,$$=0,Ti=0,ya=0,Gr=0,l$=0,Zm=0,c$=0,jm=0,g$=0,iu=0,wa=0,Xm=0,ep=0,va=0,tp=0,ka=0,_n=0,tt=0,Le=0,ru=0,ip=0,u$=0,nu=0,rp=0,np=0,Sa=0,op=0,sp=0,ap=0,Ap=0,ou=0,$p=0,lp=0,cp=0,n7=0,ba=0,xn=0,d$=0,Lo=0,Mo=0,ni=0,Ro=0,su=0,au=0,Da=0,Fo=0,To=0,No=0,gp=0,Go=0,fr=0,Au=0,Ur=0,o7=0,h$=0,f$=0,j7=0,I$=0,m$=0,p$=0,Pr=0,g6=0,_a=0,Or=0,$u=0,L4=0,E$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,Xe=0,C$=0,LC=0,up=0,gE=0,uE=0,MC=0,dp=0,JQ=0,zQ=0,KQ=0,WQ=0,ZQ=0,jQ=0,XQ=0,ey=0,ty=0,iy=0,ry=0,ny=0,RC=0,FC=0,oy=0,sy=0,ay=0,lu=0,dE=0,Q7=0,cu=0,gu=0,uu=0,du=0,hp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,Qp=0,yp=0,hE=0,xa=0,Ir=0,B$=0,hu=0,Q$=0,TC=0,La=0,wp=0,y$=0,fE=0,IE=0,vp=0,mE=0,pE=0,EE=0,CE=0,BE=0,QE=0,yE=0,NC=0,GC=0,UC=0,PC=0,OC=0,Ma=0,Ra=0,Fa=0,Ta=0,Ay=0,mr=0,Ae=0,yD=0,Na=0,wE=0;if(yD=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(gi=n0+3456|0,Io=e[gi>>2]|0,Tl=(Io|0)==0,o=Tl&1,po=n0+3496|0,Tc=+l1[po>>3],mg=Tc>-80,mg?l1[po>>3]=-80:(Um=Tc<-200,Um&&(l1[po>>3]=-200)),h0=n0+3512|0,j2=+l1[h0>>3],A3=j2>0,A3?l1[h0>>3]=0:(ke=j2<-99999,ke&&(l1[h0>>3]=-99999)),Y4=n0+3396|0,N6=e[Y4>>2]|0,Pe=(N6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=N6+24|0,M8=e[Et>>2]|0,p4=N6+28|0,P4=e[p4>>2]|0,l4=~~i8,jt=M8+(l4<<2)|0,H8=e[jt>>2]|0,Xt=P4+(l4<<2)|0,Ei=e[Xt>>2]|0,e[n0>>2]=H8,wi=n0+4|0,e[wi>>2]=Ei,V8=(H8|0)==(Ei|0),ii=N6+144|0,B8=e[ii>>2]|0,ls=(B8|0)>0,ls){for(fs=N6+136|0,Es=N6+140|0,no=N6+148|0,or=i8,Mr=n0,hE=0;;){if(Ds=~~or,ho=e[fs>>2]|0,Z7=e[Es>>2]|0,hi=e[no>>2]|0,Yu=hi+(hE<<2)|0,zu=e[Yu>>2]|0,Lr=ce(1,1120)|0,dl=zu+(Ds<<2)|0,pl=e[dl>>2]|0,fd=Z7+(pl*1120|0)|0,ge(Lr|0,fd|0,1120)|0,dA=e[Lr>>2]|0,wd=(dA|0)>0,wd){for(Nl=Lr+4|0,dE=0,yE=-1;;)if(kA=Nl+(dE<<2)|0,$c=e[kA>>2]|0,yh=($c|0)>(yE|0),a0=yh?$c:yE,fc=dE+1|0,ry=(fc|0)==(dA|0),ry){W=a0;break}else dE=fc,yE=a0;if(Fd=(W|0)<0,!Fd){for(qd=Lr+256|0,Cn=Mr+24|0,ih=Lr+192|0,Ah=Lr+320|0,Q$=0,EE=-1;;){if(xc=qd+(Q$<<2)|0,vn=e[xc>>2]|0,Nc=(vn|0)>(EE|0),X=Nc?vn:EE,Yc=e[Cn>>2]|0,zf=Yc+vn|0,e[xc>>2]=zf,jc=ih+(Q$<<2)|0,ig=e[jc>>2]|0,fI=(ig|0)==31,fI)CE=X;else for(_9=ig,mE=0,QE=X;;)if(qA=(Ah+(Q$<<5)|0)+(mE<<2)|0,aa=e[qA>>2]|0,gg=(aa|0)>(QE|0),K=gg?aa:QE,fg=(aa|0)>-1,fg?(pg=e[Cn>>2]|0,jI=pg+aa|0,e[qA>>2]=jI,s0=e[jc>>2]|0,zA=s0):zA=_9,vo=mE+1|0,$m=1<>2]|0,rf=e[Zh>>2]|0,yc=e[Cn>>2]|0,If=yc+1|0,e[Cn>>2]=If,Qf=(Mr+1824|0)+(yc<<2)|0,e[Qf>>2]=rf,XQ=(BE|0)==0,!XQ))for(TC=0;XA=TC+1|0,t0=e[dl>>2]|0,Hg=ho+(t0<<2)|0,Tm=e[Hg>>2]|0,Wg=Tm+(XA<<2)|0,Ym=e[Wg>>2]|0,ur=e[Cn>>2]|0,Wm=ur+1|0,e[Cn>>2]=Wm,ya=(Mr+1824|0)+(ur<<2)|0,e[ya>>2]=Ym,jQ=(XA|0)==(BE|0),!jQ;)TC=XA}}if(va=Mr+16|0,np=e[va>>2]|0,ba=(Mr+800|0)+(np<<2)|0,e[ba>>2]=1,To=e[va>>2]|0,I$=(Mr+1056|0)+(To<<2)|0,e[I$>>2]=Lr,p0=e[va>>2]|0,M0=p0+1|0,e[va>>2]=M0,z0=hE+1|0,d1=e[ii>>2]|0,I1=(z0|0)<(d1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,or=r0,Mr=l0,hE=z0}I0=e[f0>>2]|0,X5=I0}else X5=n0;R1=n0+3520|0,Y1=+l1[R1>>3],a2=N6+124|0,t2=e[a2>>2]|0,V2=N6+128|0,I5=e[V2>>2]|0,N5=~~Y1,D5=+(N5|0),n5=Y1-D5,K5=X5+2868|0,H5=I5+(N5<<3)|0,_3=+l1[H5>>3],L6=~~_3,n6=t2+(L6*492|0)|0,ge(K5|0,n6|0,492)|0,c6=+l1[H5>>3],n9=1-n5,q6=c6*n9,H6=N5+1|0,W6=I5+(H6<<3)|0,Fe=+l1[W6>>3],Te=Fe*n5,Ge=Te+q6,He=~~Ge,o4=+(He|0),Ye=Ge-o4,J9=Ye==0,Ve=(He|0)>0,NC=Ve&J9,I=NC?1:Ye,he=NC<<31>>31,R=he+He|0,Ue=1-I,Ce=R+1|0,v4=(t2+(R*492|0)|0)+4|0,W9=+s[v4>>2],k9=W9,k4=Ue*k9,nt=(t2+(Ce*492|0)|0)+4|0,Je=+s[nt>>2],V4=Je,ze=I*V4,s4=k4+ze,R4=s4,ot=X5+2872|0,s[ot>>2]=R4,re=(t2+(R*492|0)|0)+32|0,d4=+s[re>>2],Be=d4,Ke=Ue*Be,P9=(t2+(Ce*492|0)|0)+32|0,fe=+s[P9>>2],Ne=fe,h4=I*Ne,ne=Ke+h4,f4=ne,I4=X5+2900|0,s[I4>>2]=f4,Se=(t2+(R*492|0)|0)+8|0,a4=+s[Se>>2],m4=a4,S9=Ue*m4,f6=(t2+(Ce*492|0)|0)+8|0,J4=+s[f6>>2],Ie=J4,S4=I*Ie,be=S9+S4,me=be,z6=X5+2876|0,s[z6>>2]=me,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],pe=st,xe=Ue*pe,mt=(t2+(Ce*492|0)|0)+36|0,W3=+s[mt>>2],x9=W3,b9=x9*I,Oe=b9+xe,A4=Oe,h8=X5+2904|0,s[h8>>2]=A4,f8=(t2+(R*492|0)|0)+12|0,_8=+s[f8>>2],e8=_8,I8=e8*Ue,m8=(t2+(Ce*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,s[x8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Yt=+s[Ht>>2],Vt=Yt,_t=Vt*Ue,xt=(t2+(Ce*492|0)|0)+40|0,pt=+s[xt>>2],Jt=pt,zt=Jt*I,r8=zt+_t,z4=r8,G4=X5+2908|0,s[G4>>2]=z4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],L9=Lt,p8=L9*Ue,b4=(t2+(Ce*492|0)|0)+16|0,E8=+s[b4>>2],L8=E8,o8=L8*I,$4=o8+p8,s8=$4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],We=At,U4=We*Ue,$t=(t2+(Ce*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,oe=Rt*I,lt=oe+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,E4=+l1[Qt>>3],D4=E4,K4=X5+2936|0,s[K4>>2]=D4,W4=N6+132|0,se=e[W4>>2]|0,C4=n0+3472|0,gt=+l1[C4>>3],_4=gt,De=~~_4,yt=+(De|0),a8=_4-yt,Ze=a8,E3=e[f0>>2]|0,Z4=(se|0)==0;e:do if(Z4)wt=E3+4|0,Z9=e[E3>>2]|0,c4=E3+3240|0,e[c4>>2]=Z9,T9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=T9,Wt=E3+3244|0,e[Wt>>2]=Z9,C8=E3+3304|0,e[C8>>2]=T9,A8=E3+3248|0,e[A8>>2]=Z9,$8=E3+3308|0,e[$8>>2]=T9,Zt=E3+3252|0,e[Zt>>2]=Z9,l8=E3+3312|0,e[l8>>2]=T9,ut=E3+3256|0,e[ut>>2]=Z9,dt=E3+3316|0,e[dt>>2]=T9,Ft=E3+3260|0,e[Ft>>2]=Z9,je=E3+3320|0,e[je>>2]=T9,c8=E3+3264|0,e[c8>>2]=Z9,Tt=E3+3324|0,e[Tt>>2]=T9,X4=E3+3268|0,e[X4>>2]=Z9,D9=E3+3328|0,e[D9>>2]=T9,g8=E3+3272|0,e[g8>>2]=Z9,et=E3+3332|0,e[et>>2]=T9,K8=E3+3276|0,e[K8>>2]=Z9,R8=E3+3336|0,e[R8>>2]=T9,u8=E3+3280|0,e[u8>>2]=Z9,F8=E3+3340|0,e[F8>>2]=T9,g4=E3+3284|0,e[g4>>2]=Z9,Y8=E3+3344|0,e[Y8>>2]=T9,W8=E3+3288|0,e[W8>>2]=Z9,ht=E3+3348|0,e[ht>>2]=T9,Nt=E3+3292|0,e[Nt>>2]=Z9,T8=E3+3352|0,e[T8>>2]=T9,O4=E3+3296|0,e[O4>>2]=Z9,B4=E3+3356|0,e[B4>>2]=T9;else{ae=E3+3120|0,N8=se+(De*240|0)|0,mr=ae,Na=N8,wE=mr+60|0;do e[mr>>2]=e[Na>>2]|0,mr=mr+4|0,Na=Na+4|0;while((mr|0)<(wE|0));Ai=E3+3180|0,Oi=(se+(De*240|0)|0)+60|0,mr=Ai,Na=Oi,wE=mr+60|0;do e[mr>>2]=e[Na>>2]|0,mr=mr+4|0,Na=Na+4|0;while((mr|0)<(wE|0));if(qi=n0+3420|0,Hi=e[qi>>2]|0,pi=(Hi|0)==0,!pi)for(Z8=1-Ze,j8=De+1|0,Ci=t+8|0,X8=E3+4|0,o0=e[Ci>>2]|0,Bi=+(o0|0),Ir=0;;){if($i=((se+(De*240|0)|0)+120|0)+(Ir<<2)|0,c7=+s[$i>>2],Yi=c7,Qi=Yi*Z8,yi=((se+(j8*240|0)|0)+120|0)+(Ir<<2)|0,g7=+s[yi>>2],li=g7,u7=li*Ze,Vi=u7+Qi,Ji=Vi,zi=Ji,Ki=zi*1e3,ci=Ki/Bi,vi=e[E3>>2]|0,Wi=+(vi|0),ei=Wi*ci,ti=~~ei,d7=(E3+3e3|0)+(Ir<<2)|0,e[d7>>2]=ti,Zi=e[X8>>2]|0,h7=+(Zi|0),ki=h7*ci,ji=~~ki,Si=(E3+3060|0)+(Ir<<2)|0,e[Si>>2]=ji,bi=~~Ji,Xi=(E3+2940|0)+(Ir<<2)|0,e[Xi>>2]=bi,Di=((se+(De*240|0)|0)+180|0)+(Ir<<2)|0,_i=+s[Di>>2],e7=_i,ui=e7*Z8,J8=((se+(j8*240|0)|0)+180|0)+(Ir<<2)|0,xi=+s[J8>>2],x4=xi,Li=x4*Ze,G8=Li+ui,di=G8,l9=di,vt=l9*1e3,Q8=vt/Bi,U8=e[E3>>2]|0,nn=+(U8|0),yr=nn*Q8,as=~~yr,Vn=(E3+3240|0)+(Ir<<2)|0,e[Vn>>2]=as,As=e[X8>>2]|0,Jn=+(As|0),$s=Jn*Q8,zn=~~$s,cs=(E3+3300|0)+(Ir<<2)|0,e[cs>>2]=zn,on=Ir+1|0,ty=(on|0)==15,ty)break e;Ir=on}for(gs=(se+(De*240|0)|0)+148|0,us=+s[gs>>2],ds=us,Kn=1-Ze,hs=ds*Kn,Wn=De+1|0,Zn=(se+(Wn*240|0)|0)+148|0,sn=+s[Zn>>2],jn=sn,an=jn*Ze,Xn=an+hs,eo=Xn,Is=eo,ms=Is*1e3,ps=t+8|0,An=E3+4|0,to=~~eo,d0=e[ps>>2]|0,wr=+(d0|0),$n=ms/wr,hu=0;Cs=e[E3>>2]|0,Bs=+(Cs|0),ln=Bs*$n,f7=~~ln,io=(E3+3e3|0)+(hu<<2)|0,e[io>>2]=f7,Qs=e[An>>2]|0,ys=+(Qs|0),ro=ys*$n,oo=~~ro,ws=(E3+3060|0)+(hu<<2)|0,e[ws>>2]=oo,I7=(E3+2940|0)+(hu<<2)|0,e[I7>>2]=to,cn=hu+1|0,ny=(cn|0)==15,!ny;)hu=cn;for(vs=(se+(De*240|0)|0)+208|0,so=+s[vs>>2],ks=so,Ss=ks*Kn,bs=(se+(Wn*240|0)|0)+208|0,ao=+s[bs>>2],_s=ao,xs=_s*Ze,Ls=xs+Ss,Ao=Ls,Ms=Ao,Rs=Ms*1e3,gn=Rs/wr,wp=0;vr=e[E3>>2]|0,un=+(vr|0),Fs=un*gn,Ts=~~Fs,$o=(E3+3240|0)+(wp<<2)|0,e[$o>>2]=Ts,dn=e[An>>2]|0,lo=+(dn|0),hn=lo*gn,Ns=~~hn,co=(E3+3300|0)+(wp<<2)|0,e[co>>2]=Ns,go=wp+1|0,ey=(go|0)==15,!ey;)wp=go}while(!1);for(Gs=+l1[N4>>3],uo=N6+92|0,Us=e[uo>>2]|0,kr=N6+100|0,fo=e[kr>>2]|0,m7=N6+108|0,fn=e[m7>>2]|0,Sr=e[f0>>2]|0,sr=Sr+2852|0,br=e[sr>>2]|0,W7=~~Gs,Dr=Sr+28|0,S7=e[Dr>>2]|0,b7=(S7|0)>0,b7||(e[Dr>>2]=1),t7=(br|0)==0,t7?(D7=ce(1,520)|0,e[sr>>2]=D7,Ma=D7):Ma=br,ge(Ma|0,25784,520)|0,e[Ma>>2]=0,_r=Sr+3460|0,ar=e[_r>>2]|0,Ar=(ar|0)==0,Ar||(xr=Ma+500|0,e[xr>>2]=1,p7=Us+(W7<<2)|0,Ps=e[p7>>2]|0,sl=Ma+504|0,e[sl>>2]=Ps,In=fo+(W7<<2)|0,mn=e[In>>2]|0,Ou=Ma+508|0,e[Ou>>2]=mn,al=fn+(W7<<3)|0,Os=+l1[al>>3],qu=Ma+512|0,l1[qu>>3]=Os),sA=+l1[N4>>3],Al=e[uo>>2]|0,Hu=e[kr>>2]|0,Vu=e[m7>>2]|0,aA=e[f0>>2]|0,$l=aA+2856|0,ll=e[$l>>2]|0,AA=~~sA,pn=aA+28|0,cl=e[pn>>2]|0,Ju=(cl|0)>1,Ju||(e[pn>>2]=2),qs=(ll|0)==0,qs?($r=ce(1,520)|0,e[$l>>2]=$r,Ra=$r):Ra=ll,ge(Ra|0,25784,520)|0,e[Ra>>2]=0,Ku=aA+3460|0,Wu=e[Ku>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Ra+500|0,e[ju>>2]=1,Xu=Al+(AA<<2)|0,ed=e[Xu>>2]|0,td=Ra+504|0,e[td>>2]=ed,id=Hu+(AA<<2)|0,rd=e[id>>2]|0,gl=Ra+508|0,e[gl>>2]=rd,nd=Vu+(AA<<3)|0,od=+l1[nd>>3],ul=Ra+512|0,l1[ul>>3]=od),V8||(sd=+l1[N4>>3],$A=N6+96|0,Hs=e[$A>>2]|0,lA=N6+104|0,ad=e[lA>>2]|0,Ad=e[m7>>2]|0,cA=e[f0>>2]|0,hl=cA+2860|0,fl=e[hl>>2]|0,gA=~~sd,Il=cA+28|0,Ys=e[Il>>2]|0,$d=(Ys|0)>2,$d||(e[Il>>2]=3),ld=(fl|0)==0,ld?(ml=ce(1,520)|0,e[hl>>2]=ml,Fa=ml):Fa=fl,ge(Fa|0,25784,520)|0,e[Fa>>2]=1,cd=cA+3460|0,gd=e[cd>>2]|0,ud=(gd|0)==0,ud||(dd=Fa+500|0,e[dd>>2]=1,El=Hs+(gA<<2)|0,Cl=e[El>>2]|0,Bl=Fa+504|0,e[Bl>>2]=Cl,Ql=ad+(gA<<2)|0,yl=e[Ql>>2]|0,En=Fa+508|0,e[En>>2]=yl,hd=Ad+(gA<<3)|0,wl=+l1[hd>>3],vl=Fa+512|0,l1[vl>>3]=wl),kl=+l1[N4>>3],Id=e[$A>>2]|0,md=e[lA>>2]|0,pd=e[m7>>2]|0,uA=e[f0>>2]|0,Sl=uA+2864|0,bl=e[Sl>>2]|0,mo=~~kl,Dl=uA+28|0,Ed=e[Dl>>2]|0,_l=(Ed|0)>3,_l||(e[Dl>>2]=4),Cd=(bl|0)==0,Cd?(xl=ce(1,520)|0,e[Sl>>2]=xl,Ta=xl):Ta=bl,ge(Ta|0,25784,520)|0,e[Ta>>2]=1,Bd=uA+3460|0,Qd=e[Bd>>2]|0,Ll=(Qd|0)==0,Ll||(Ml=Ta+500|0,e[Ml>>2]=1,yd=Id+(mo<<2)|0,Vs=e[yd>>2]|0,hA=Ta+504|0,e[hA>>2]=Vs,Rl=md+(mo<<2)|0,Fl=e[Rl>>2]|0,vd=Ta+508|0,e[vd>>2]=Fl,kd=pd+(mo<<3)|0,Sd=+l1[kd>>3],bd=Ta+512|0,l1[bd>>3]=Sd)),Dd=(n0+3528|0)+(o<<5)|0,_d=+l1[Dd>>3],Js=N6+32|0,Gl=e[Js>>2]|0,zs=N6+36|0,xd=e[zs>>2]|0,Ul=N6+44|0,Ld=e[Ul>>2]|0,aE(t,_d,0,Gl,xd,Ld),Pl=n0+3560|0,Md=+l1[Pl>>3],Rd=e[Js>>2]|0,Ol=e[zs>>2]|0,fA=N6+52|0,Td=e[fA>>2]|0,aE(t,Md,1,Rd,Ol,Td),V8||(Ks=n0+3592|0,Nd=+l1[Ks>>3],Ws=e[Js>>2]|0,Gd=e[zs>>2]|0,IA=e[fA>>2]|0,aE(t,Nd,2,Ws,Gd,IA),Ud=n0+3624|0,Pd=+l1[Ud>>3],Od=e[Js>>2]|0,ql=e[zs>>2]|0,Hd=N6+48|0,Yd=e[Hd>>2]|0,aE(t,Pd,3,Od,ql,Yd)),Vd=((n0+3528|0)+(o<<5)|0)+24|0,Hl=+l1[Vd>>3],Yl=N6+80|0,lr=e[Yl>>2]|0,Vl=N6+84|0,Zs=e[Vl>>2]|0,mA=~~Hl,pA=+(mA|0),Jl=Hl-pA,Bn=e[f0>>2]|0,Jd=Bn+2852|0,zl=e[Jd>>2]|0,zd=Zs+(mA<<3)|0,Kd=+l1[zd>>3],Wd=1-Jl,Zd=Kd*Wd,js=mA+1|0,EA=Zs+(js<<3)|0,jd=+l1[EA>>3],Xd=jd*Jl,Kl=Xd+Zd,CA=~~Kl,Wl=+(CA|0),Zl=Kl-Wl,eh=Zl==0,jl=(CA|0)>0,GC=jl&eh,$=GC?1:Zl,th=GC<<31>>31,F=th+CA|0,BA=1-$,rh=F+1|0,cu=0;z9=(lr+(F*160|0)|0)+(cu<<2)|0,nh=e[z9>>2]|0,Xl=+(nh|0),oh=Xl*BA,sh=(lr+(rh*160|0)|0)+(cu<<2)|0,QA=e[sh>>2]|0,ah=+(QA|0),yA=ah*$,ec=yA+oh,$h=ec,tc=(zl+336|0)+(cu<<2)|0,s[tc>>2]=$h,ic=cu+1|0,zQ=(ic|0)==40,!zQ;)cu=ic;for(lh=n0+3584|0,wA=+l1[lh>>3],vA=~~wA,rc=+(vA|0),nc=wA-rc,ch=Bn+2856|0,oc=e[ch>>2]|0,gh=Zs+(vA<<3)|0,sc=+l1[gh>>3],uh=1-nc,dh=sc*uh,hh=vA+1|0,fh=Zs+(hh<<3)|0,ac=+l1[fh>>3],Ac=ac*nc,SA=Ac+dh,Xs=~~SA,Ih=+(Xs|0),lc=SA-Ih,cc=lc==0,mh=(Xs|0)>0,UC=mh&cc,g=UC?1:lc,ph=UC<<31>>31,T=ph+Xs|0,Eh=1-g,gc=T+1|0,gu=0;Ch=(lr+(T*160|0)|0)+(gu<<2)|0,Bh=e[Ch>>2]|0,Qh=+(Bh|0),wh=Qh*Eh,vh=(lr+(gc*160|0)|0)+(gu<<2)|0,uc=e[vh>>2]|0,kh=+(uc|0),dc=kh*g,Sh=dc+wh,Qn=Sh,bh=(oc+336|0)+(gu<<2)|0,s[bh>>2]=Qn,hc=gu+1|0,KQ=(hc|0)==40,!KQ;)gu=hc;if(!V8){for(Dh=n0+3616|0,bA=+l1[Dh>>3],_h=N6+88|0,ea=e[_h>>2]|0,DA=~~bA,xh=+(DA|0),_A=bA-xh,Ic=Bn+2860|0,Lh=e[Ic>>2]|0,Mh=ea+(DA<<3)|0,Rh=+l1[Mh>>3],Th=1-_A,mc=Rh*Th,Nh=DA+1|0,Gh=ea+(Nh<<3)|0,Uh=+l1[Gh>>3],ta=Uh*_A,Eo=ta+mc,xA=~~Eo,Ph=+(xA|0),LA=Eo-Ph,qh=LA==0,Hh=(xA|0)>0,PC=Hh&qh,h=PC?1:LA,pc=PC<<31>>31,N=pc+xA|0,Yh=1-h,Vh=N+1|0,uu=0;Jh=(lr+(N*160|0)|0)+(uu<<2)|0,zh=e[Jh>>2]|0,Kh=+(zh|0),ia=Kh*Yh,Wh=(lr+(Vh*160|0)|0)+(uu<<2)|0,Ec=e[Wh>>2]|0,jh=+(Ec|0),Xh=jh*h,ef=Xh+ia,tf=ef,E7=(Lh+336|0)+(uu<<2)|0,s[E7>>2]=tf,Cc=uu+1|0,WQ=(Cc|0)==40,!WQ;)uu=Cc;for(C7=n0+3648|0,Bc=+l1[C7>>3],MA=~~Bc,i7=+(MA|0),Co=Bc-i7,nf=Bn+2864|0,of=e[nf>>2]|0,sf=ea+(MA<<3)|0,af=+l1[sf>>3],Af=1-Co,Qc=af*Af,$f=MA+1|0,lf=ea+($f<<3)|0,cf=+l1[lf>>3],gf=cf*Co,Bo=gf+Qc,RA=~~Bo,uf=+(RA|0),wc=Bo-uf,df=wc==0,hf=(RA|0)>0,OC=hf&df,m=OC?1:wc,ra=OC<<31>>31,G=ra+RA|0,ff=1-m,vc=G+1|0,du=0;kc=(lr+(G*160|0)|0)+(du<<2)|0,mf=e[kc>>2]|0,pf=+(mf|0),yn=pf*ff,Ef=(lr+(vc*160|0)|0)+(du<<2)|0,Cf=e[Ef>>2]|0,wn=+(Cf|0),Bf=wn*m,Sc=Bf+yn,yf=Sc,Qo=(of+336|0)+(du<<2)|0,s[Qo>>2]=yf,bc=du+1|0,ZQ=(bc|0)==40,!ZQ;)du=bc}for(wf=((n0+3528|0)+(o<<5)|0)+8|0,Dc=+l1[wf>>3],vf=N6+40|0,cr=e[vf>>2]|0,FA=~~Dc,kf=+(FA|0),_c=Dc-kf,Sf=cr+(FA<<2)|0,bf=e[Sf>>2]|0,Lc=+(bf|0),Df=1-_c,_f=Lc*Df,xf=FA+1|0,Mc=cr+(xf<<2)|0,Lf=e[Mc>>2]|0,yo=+(Lf|0),Mf=yo*_c,Rf=Mf+_f,Ff=Rf,TA=zl+32|0,s[TA>>2]=Ff,Tf=n0+3568|0,NA=+l1[Tf>>3],GA=~~NA,Nf=+(GA|0),Rc=NA-Nf,Fc=cr+(GA<<2)|0,Gf=e[Fc>>2]|0,Gc=+(Gf|0),Uf=1-Rc,Uc=Gc*Uf,Pc=GA+1|0,Pf=cr+(Pc<<2)|0,Of=e[Pf>>2]|0,Oc=+(Of|0),qc=Oc*Rc,qf=qc+Uc,Hc=qf,Hf=oc+32|0,s[Hf>>2]=Hc,V8||(Yf=n0+3600|0,Vc=+l1[Yf>>3],UA=~~Vc,Jc=+(UA|0),zc=Vc-Jc,Kc=Bn+2860|0,Wc=e[Kc>>2]|0,Vf=cr+(UA<<2)|0,Jf=e[Vf>>2]|0,Kf=+(Jf|0),Wf=1-zc,Zf=Kf*Wf,jf=UA+1|0,Xf=cr+(jf<<2)|0,Zc=e[Xf>>2]|0,PA=+(Zc|0),eI=PA*zc,tI=eI+Zf,iI=tI,Xc=Wc+32|0,s[Xc>>2]=iI,rI=n0+3632|0,eg=+l1[rI>>3],OA=~~eg,na=+(OA|0),tg=eg-na,nI=Bn+2864|0,oI=e[nI>>2]|0,sI=cr+(OA<<2)|0,aI=e[sI>>2]|0,oa=+(aI|0),AI=1-tg,$I=oa*AI,lI=OA+1|0,cI=cr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),dI=uI*tg,hI=dI+$I,rg=hI,II=oI+32|0,s[II>>2]=rg),mI=((n0+3528|0)+(o<<5)|0)+16|0,pI=+l1[mI>>3],sa=N6+76|0,ng=e[sa>>2]|0,EI=N6+60|0,CI=e[EI>>2]|0,kn=N6+56|0,og=e[kn>>2]|0,Tl?ag=0:(sg=n0+3408|0,BI=+l1[sg>>3],ag=BI),AE(t,pI,0,ng,CI,og,ag),QI=n0+3576|0,Ag=+l1[QI>>3],$g=e[sa>>2]|0,yI=N6+64|0,wI=e[yI>>2]|0,vI=e[kn>>2]|0,AE(t,Ag,1,$g,wI,vI,0),V8?(wo=e[f0>>2]|0,KI=wo+2852|0,Cg=e[KI>>2]|0,WI=wo+3496|0,VA=+l1[WI>>3],Bg=VA,ZI=Cg+4|0,s[ZI>>2]=Bg,XI=wo+3504|0,em=+l1[XI>>3],Qg=em,tm=Cg+8|0,s[tm>>2]=Qg,im=wo+2856|0,yg=e[im>>2]|0,ca=yg+4|0,s[ca>>2]=Bg,rm=yg+8|0,s[rm>>2]=Qg,gr=wo):(kI=n0+3608|0,SI=+l1[kI>>3],HA=e[sa>>2]|0,bI=N6+68|0,DI=e[bI>>2]|0,_I=e[kn>>2]|0,AE(t,SI,2,HA,DI,_I,0),xI=n0+3640|0,lg=+l1[xI>>3],LI=e[sa>>2]|0,cg=N6+72|0,MI=e[cg>>2]|0,RI=e[kn>>2]|0,AE(t,lg,3,LI,MI,RI,0),Rr=e[f0>>2]|0,ug=Rr+2852|0,dg=e[ug>>2]|0,FI=Rr+3496|0,hg=+l1[FI>>3],Aa=hg,TI=dg+4|0,s[TI>>2]=Aa,NI=Rr+3504|0,GI=+l1[NI>>3],$a=GI,UI=dg+8|0,s[UI>>2]=$a,PI=Rr+2856|0,Ig=e[PI>>2]|0,OI=Ig+4|0,s[OI>>2]=Aa,qI=Ig+8|0,s[qI>>2]=$a,YA=Rr+2860|0,la=e[YA>>2]|0,HI=la+4|0,s[HI>>2]=Aa,YI=la+8|0,s[YI>>2]=$a,VI=Rr+2864|0,Eg=e[VI>>2]|0,JI=Eg+4|0,s[JI>>2]=Aa,zI=Eg+8|0,s[zI>>2]=$a,gr=Rr),nm=+l1[N4>>3],om=N6+152|0,wg=e[om>>2]|0,vg=~~nm,sm=wg+(vg<<3)|0,kg=e[sm>>2]|0,Sg=(wg+(vg<<3)|0)+4|0,_7=e[Sg>>2]|0,bg=e[gr>>2]|0,am=gr+4|0,Am=e[am>>2]|0,lm=(bg|0)==(Am|0),a=lm?1:2,JA=gr+8|0,ga=gr+12|0,Dg=t+8|0,_g=t+4|0,Q7=0;;){if(cm=ce(1,3208)|0,ua=(gr+544|0)+(Q7<<2)|0,e[ua>>2]=cm,ko=ce(1,16)|0,gm=(gr+32|0)+(Q7<<2)|0,e[gm>>2]=ko,da=26304+(Q7<<4)|0,e[ko>>2]=e[da>>2]|0,e[ko+4>>2]=e[da+4>>2]|0,e[ko+8>>2]=e[da+8>>2]|0,e[ko+12>>2]=e[da+12>>2]|0,um=e[JA>>2]|0,KA=(Q7|0)<(um|0),KA||(dm=Q7+1|0,e[JA>>2]=dm),hm=(gr+288|0)+(Q7<<2)|0,e[hm>>2]=0,xg=e[ua>>2]|0,ha=kg+(Q7*3208|0)|0,ge(xg|0,ha|0,3208)|0,Lg=e[ga>>2]|0,fm=(Q7|0)<(Lg|0),fm||(Im=Q7+1|0,e[ga>>2]=Im),mm=e[ha>>2]|0,Mg=(mm|0)>0,Mg)for(IE=0;;){Em=((kg+(Q7*3208|0)|0)+1092|0)+(IE<<2)|0,ri=e[Em>>2]|0,_e=e[f0>>2]|0,r7=R9(2840)|0,Cm=(_e+1568|0)+(ri<<2)|0,e[Cm>>2]=r7,Rg=(_7+(ri<<5)|0)+12|0,Fg=e[Rg>>2]|0,ge(r7|0,Fg|0,2840)|0,WA=_e+20|0,Bm=e[WA>>2]|0,So=(Bm|0)>(ri|0),So||(Qm=ri+1|0,e[WA>>2]=Qm),ym=(_7+(ri<<5)|0)+8|0,Tg=e[ym>>2]|0,ZA=r7+8|0,e[ZA>>2]=Tg,wm=_7+(ri<<5)|0,Ng=e[wm>>2]|0,Gg=(_e+1312|0)+(ri<<2)|0,e[Gg>>2]=Ng,Ug=_e+3420|0,jA=e[Ug>>2]|0,Pg=(jA|0)==0,bo=r7+12|0,e$=e[bo>>2]|0,Og=(e$|0)>0;do if(Pg){if(Og)for(qg=(_7+(ri<<5)|0)+24|0,fa=e[qg>>2]|0,Sm=r7+24|0,La=0;;)if(hr=Sm+(La<<2)|0,Dn=fa+(La<<4)|0,Mi=e[Dn>>2]|0,Ri=(Mi|0)==0,Ri||(Fi=e[hr>>2]|0,Ca=Fi|1,e[hr>>2]=Ca),Ba=(fa+(La<<4)|0)+4|0,eu=e[Ba>>2]|0,tu=(eu|0)==0,tu||(b2=e[hr>>2]|0,B5=b2|2,e[hr>>2]=B5),s5=(fa+(La<<4)|0)+8|0,R2=e[s5>>2]|0,M2=(R2|0)==0,M2||(y2=e[hr>>2]|0,Q5=y2|4,e[hr>>2]=Q5),m5=(fa+(La<<4)|0)+12|0,L5=e[m5>>2]|0,q5=(L5|0)==0,q5||(M5=e[hr>>2]|0,Y2=M5|8,e[hr>>2]=Y2),p5=La+1|0,$5=e[bo>>2]|0,u5=(p5|0)<($5|0),u5)La=p5;else{ka=$5;break}else ka=e$;Qa=(_7+(ri<<5)|0)+16|0,$$=e[Qa>>2]|0,Ti=_e+24|0,Gr=e[Ti>>2]|0,l$=(Gr|0)>0,Zm=$$;e:do if(l$)for(yp=0;;){if(c$=(_e+1824|0)+(yp<<2)|0,jm=e[c$>>2]|0,g$=(jm|0)==($$|0),g$){L=yp;break e}if(iu=yp+1|0,wa=(iu|0)<(Gr|0),wa)yp=iu;else{Ae=116;break}}else Ae=116;while(!1);if((Ae|0)==116&&(Ae=0,Xm=Gr+1|0,e[Ti>>2]=Xm,L=Gr),ep=r7+20|0,e[ep>>2]=L,tp=(_e+1824|0)+(L<<2)|0,e[tp>>2]=Zm,_n=(ka|0)>0,!_n)break;for(tt=(_7+(ri<<5)|0)+24|0,Le=r7+280|0,qr=0,y$=0;;){if(ru=e[tt>>2]|0,ip=ru+(y$<<4)|0,u$=e[ip>>2]|0,nu=(u$|0)==0,rp=u$,nu)Lo=ru,up=qr;else{Sa=e[Ti>>2]|0,op=(Sa|0)>0;e:do if(op)for(pp=0;;){if(sp=(_e+1824|0)+(pp<<2)|0,ap=e[sp>>2]|0,Ap=(ap|0)==(u$|0),Ap){M=pp;break e}if(ou=pp+1|0,$p=(ou|0)<(Sa|0),$p)pp=ou;else{Ae=123;break}}else Ae=123;while(!1);(Ae|0)==123&&(Ae=0,lp=Sa+1|0,e[Ti>>2]=lp,M=Sa),cp=qr+1|0,n7=Le+(qr<<2)|0,e[n7>>2]=M,xn=(_e+1824|0)+(M<<2)|0,e[xn>>2]=rp,c0=e[tt>>2]|0,Lo=c0,up=cp}if(d$=(Lo+(y$<<4)|0)+4|0,Mo=e[d$>>2]|0,ni=(Mo|0)==0,Ro=Mo,ni)E2=Lo,Xe=up;else{z1=e[Ti>>2]|0,q1=(z1|0)>0;e:do if(q1)for(fp=0;;){if(H1=(_e+1824|0)+(fp<<2)|0,V1=e[H1>>2]|0,X1=(V1|0)==(Mo|0),X1){D=fp;break e}if(n2=fp+1|0,j1=(n2|0)<(z1|0),j1)fp=n2;else{Ae=147;break}}else Ae=147;while(!1);(Ae|0)==147&&(Ae=0,O1=z1+1|0,e[Ti>>2]=O1,D=z1),c2=up+1|0,W1=Le+(up<<2)|0,e[W1>>2]=D,h2=(_e+1824|0)+(D<<2)|0,e[h2>>2]=Ro,$0=e[tt>>2]|0,E2=$0,Xe=c2}if(s2=(E2+(y$<<4)|0)+8|0,K1=e[s2>>2]|0,d2=(K1|0)==0,$2=K1,d2)L2=E2,C$=Xe;else{i2=e[Ti>>2]|0,l2=(i2|0)>0;e:do if(l2)for(Ip=0;;){if(r2=(_e+1824|0)+(Ip<<2)|0,A2=e[r2>>2]|0,e2=(A2|0)==(K1|0),e2){y=Ip;break e}if(o2=Ip+1|0,f2=(o2|0)<(i2|0),f2)Ip=o2;else{Ae=153;break}}else Ae=153;while(!1);(Ae|0)==153&&(Ae=0,k2=i2+1|0,e[Ti>>2]=k2,y=i2),D2=Xe+1|0,S2=Le+(Xe<<2)|0,e[S2>>2]=y,Q2=(_e+1824|0)+(y<<2)|0,e[Q2>>2]=$2,Z=e[tt>>2]|0,L2=Z,C$=D2}if(N2=(L2+(y$<<4)|0)+12|0,U2=e[N2>>2]|0,m2=(U2|0)==0,W2=U2,m2)LC=C$;else{P2=e[Ti>>2]|0,G2=(P2|0)>0;e:do if(G2)for(mp=0;;){if(q2=(_e+1824|0)+(mp<<2)|0,Z2=e[q2>>2]|0,A5=(Z2|0)==(U2|0),A5){x=mp;break e}if(H2=mp+1|0,N1=(H2|0)<(P2|0),N1)mp=H2;else{Ae=159;break}}else Ae=159;while(!1);(Ae|0)==159&&(Ae=0,t5=P2+1|0,e[Ti>>2]=t5,x=P2),T5=C$+1|0,i5=Le+(C$<<2)|0,e[i5>>2]=x,x5=(_e+1824|0)+(x<<2)|0,e[x5>>2]=W2,LC=T5}if(b5=y$+1|0,Y5=e[bo>>2]|0,g5=(b5|0)<(Y5|0),g5)qr=LC,y$=b5;else break}}else{if(Og)for(vm=(_7+(ri<<5)|0)+28|0,Sn=e[vm>>2]|0,km=r7+24|0,xa=0;;)if(x7=km+(xa<<2)|0,bm=Sn+(xa<<4)|0,Dm=e[bm>>2]|0,_m=(Dm|0)==0,_m||(xm=e[x7>>2]|0,Lm=xm|1,e[x7>>2]=Lm),Mm=(Sn+(xa<<4)|0)+4|0,L7=e[Mm>>2]|0,Rm=(L7|0)==0,Rm||($6=e[x7>>2]|0,n3=$6|2,e[x7>>2]=n3),l3=(Sn+(xa<<4)|0)+8|0,N3=e[l3>>2]|0,E6=(N3|0)==0,E6||(k3=e[x7>>2]|0,S3=k3|4,e[x7>>2]=S3),a6=(Sn+(xa<<4)|0)+12|0,i6=e[a6>>2]|0,V3=(i6|0)==0,V3||(Z5=e[x7>>2]|0,x3=Z5|8,e[x7>>2]=x3),d3=xa+1|0,J3=e[bo>>2]|0,d6=(d3|0)<(J3|0),d6)xa=d3;else{jg=J3;break}else jg=e$;Fm=(_7+(ri<<5)|0)+20|0,Yg=e[Fm>>2]|0,B7=_e+24|0,Ia=e[B7>>2]|0,t$=(Ia|0)>0,Vg=Yg;e:do if(t$)for(hp=0;;){if(Jg=(_e+1824|0)+(hp<<2)|0,Nm=e[Jg>>2]|0,zg=(Nm|0)==(Yg|0),zg){B=hp;break e}if(Kg=hp+1|0,Gm=(Kg|0)<(Ia|0),Gm)hp=Kg;else{Ae=100;break}}else Ae=100;while(!1);if((Ae|0)==100&&(Ae=0,Zg=Ia+1|0,e[B7>>2]=Zg,B=Ia),Pm=r7+20|0,e[Pm>>2]=B,Om=(_e+1824|0)+(B<<2)|0,e[Om>>2]=Vg,qm=(jg|0)>0,!qm)break;for(Do=(_7+(ri<<5)|0)+28|0,ma=r7+280|0,Uo=0,B$=0;;){if(pa=e[Do>>2]|0,Hm=pa+(B$<<4)|0,i$=e[Hm>>2]|0,Vm=(i$|0)==0,Xg=i$,Vm)xo=pa,Rn=Uo;else{_o=e[B7>>2]|0,Jm=(_o|0)>0;e:do if(Jm)for(Qp=0;;){if(zm=(_e+1824|0)+(Qp<<2)|0,r$=e[zm>>2]|0,n$=(r$|0)==(i$|0),n$){w=Qp;break e}if(Ea=Qp+1|0,o$=(Ea|0)<(_o|0),o$)Qp=Ea;else{Ae=107;break}}else Ae=107;while(!1);(Ae|0)==107&&(Ae=0,s$=_o+1|0,e[B7>>2]=s$,w=_o),Tr=Uo+1|0,Nr=ma+(Uo<<2)|0,e[Nr>>2]=w,a$=(_e+1824|0)+(w<<2)|0,e[a$>>2]=Xg,J=e[Do>>2]|0,xo=J,Rn=Tr}if(A$=(xo+(B$<<4)|0)+4|0,dr=e[A$>>2]|0,bn=(dr|0)==0,Km=dr,bn)R5=xo,Ln=Rn;else{y5=e[B7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Ep=0;;){if(d5=(_e+1824|0)+(Ep<<2)|0,l5=e[d5>>2]|0,X2=(l5|0)==(dr|0),X2){S=Ep;break e}if(g2=Ep+1|0,w5=(g2|0)<(y5|0),w5)Ep=g2;else{Ae=171;break}}else Ae=171;while(!1);(Ae|0)==171&&(Ae=0,r5=y5+1|0,e[B7>>2]=r5,S=y5),a5=Rn+1|0,h5=ma+(Rn<<2)|0,e[h5>>2]=S,z2=(_e+1824|0)+(S<<2)|0,e[z2>>2]=Km,j=e[Do>>2]|0,R5=j,Ln=a5}if(f5=(R5+(B$<<4)|0)+8|0,e5=e[f5>>2]|0,c5=(e5|0)==0,F2=e5,c5)f3=R5,Mn=Ln;else{v5=e[B7>>2]|0,J5=(v5|0)>0;e:do if(J5)for(Cp=0;;){if(i3=(_e+1824|0)+(Cp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(e5|0),I3){b=Cp;break e}if(h3=Cp+1|0,r3=(h3|0)<(v5|0),r3)Cp=h3;else{Ae=177;break}}else Ae=177;while(!1);(Ae|0)==177&&(Ae=0,a3=v5+1|0,e[B7>>2]=a3,b=v5),B3=Ln+1|0,G5=ma+(Ln<<2)|0,e[G5>>2]=b,W5=(_e+1824|0)+(b<<2)|0,e[W5>>2]=F2,u0=e[Do>>2]|0,f3=u0,Mn=B3}if(D3=(f3+(B$<<4)|0)+12|0,y3=e[D3>>2]|0,X3=(y3|0)==0,q3=y3,X3)O9=Mn;else{b3=e[B7>>2]|0,t3=(b3|0)>0;e:do if(t3)for(Bp=0;;){if(s6=(_e+1824|0)+(Bp<<2)|0,T3=e[s6>>2]|0,H3=(T3|0)==(y3|0),H3){v=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(b3|0),g3)Bp=c3;else{Ae=183;break}}else Ae=183;while(!1);(Ae|0)==183&&(Ae=0,u3=b3+1|0,e[B7>>2]=u3,v=b3),Q3=Mn+1|0,z5=ma+(Mn<<2)|0,e[z5>>2]=v,V5=(_e+1824|0)+(v<<2)|0,e[V5>>2]=q3,O9=Q3}if(S5=B$+1|0,Y3=e[bo>>2]|0,U5=(S5|0)<(Y3|0),U5)Uo=O9,B$=S5;else break}}while(!1);su=_e+3480|0,au=+l1[su>>3],Da=au*1e3,Fo=(_e+1056|0)+(Q7<<2)|0,No=e[Fo>>2]|0,gp=e[Dg>>2]|0,Go=+(gp|0),fr=Go*.5,Au=_e+(Q7<<2)|0,Ur=e[Au>>2]|0,o7=Ur>>1,h$=Da>fr,RC=h$?fr:Da,f$=RC/fr,j7=+(o7|0),m$=j7*f$,p$=~~m$,Pr=No+1116|0,e[Pr>>2]=p$,g6=(_7+(ri<<5)|0)+4|0,_a=e[g6>>2]|0;do if((_a|0)==2)lu=250;else if((_a|0)==1){if(Or=e[Ug>>2]|0,$u=(Or|0)==0,L4=_e+2996|0,E$=_e+2968|0,ay=$u?E$:L4,sy=e[ay>>2]|0,oy=+(sy|0),FC=oy*1e3,kt=FC>fr,!kt){lu=FC;break}lu=fr}else lu=RC;while(!1);C0=e[Gg>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=_e+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(fE=0;;){if(y0=(_e+544|0)+(fE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(vp=0;;){K0=(w0+1092|0)+(vp<<2)|0,v0=e[K0>>2]|0,T0=(v0|0)==(ri|0);do if(T0){if(N0=e[_g>>2]|0,U0=(N0|0)>0,U0)MC=0,pE=0;else{dp=0;break}for(;;)if(O0=(w0+4|0)+(pE<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)==(vp|0),F0=V0&1,V=F0+MC|0,L0=pE+1|0,JQ=(L0|0)==(N0|0),JQ){dp=V;break}else MC=V,pE=L0}else dp=0;while(!1);if(G0=vp+1|0,J0=(G0|0)<(B0|0),q0=(dp|0)==0,Z0=J0&q0,Z0)vp=G0;else{uE=dp;break}}else uE=0;if(P0=fE+1|0,H0=(P0|0)<(b0|0),o1=(uE|0)==0,Y0=H0&o1,Y0)fE=P0;else{gE=uE;break}}else gE=0;if(i1=lu/fr,x0=+(gE|0),n1=x0*j7,g1=n1*i1,m1=e[ZA>>2]|0,h1=+(m1|0),u1=g1/h1,A1=u1+.9,c1=~~A1,s1=o5(c1,m1)|0,$1=r7+4|0,e[$1>>2]=s1,j0=o5(gE,o7)|0,E1=(s1|0)>(j0|0),!E1){q=$1,Z1=s1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,q=$1,Z1=p1,x1=m1}else{if(B1=lu/fr,w1=B1*j7,v1=e[ZA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,S1=~~M1,D1=o5(S1,v1)|0,F1=r7+4|0,e[F1>>2]=D1,U1=(D1|0)>(o7|0),!U1){q=F1,Z1=D1,x1=v1;break}b1=(o7|0)%(v1|0)&-1,P1=o7-b1|0,e[F1>>2]=P1,q=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[q>>2]=x1),m3=IE+1|0,M6=e[ha>>2]|0,R6=(m3|0)<(M6|0),R6)IE=m3;else break}if(S6=Q7+1|0,r6=(S6|0)<(a|0),r6)Q7=S6;else break}return h6=n0+3428|0,b6=e[h6>>2]|0,G6=(b6|0)>0,G6?(X6=t+16|0,e[X6>>2]=b6):(v6=e[f0>>2]|0,L3=v6+3396|0,o6=e[L3>>2]|0,C6=v6+3400|0,z3=+l1[C6>>3],M3=~~z3,K3=+(M3|0),e6=z3-K3,F6=o6+4|0,l6=e[F6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(K6=e[_g>>2]|0,B6=l6+(M3<<3)|0,R3=+l1[B6>>3],Y6=1-e6,A6=R3*Y6,D6=M3+1|0,U6=l6+(D6<<3)|0,t9=+l1[U6>>3],Q6=t9*e6,e9=Q6+A6,G3=+(K6|0),V6=e9*G3,Ay=~~V6,Q=Ay),s9=t+16|0,e[s9>>2]=Q),c9=n0+3424|0,P6=e[c9>>2]|0,J6=t+20|0,e[J6>>2]=P6,T6=n0+3440|0,i9=e[T6>>2]|0,_6=t+12|0,e[_6>>2]=i9,O6=(b6|0)==0,O6?g0=0:(U3=n0+3444|0,a9=e[U3>>2]|0,d9=+(a9|0),o9=+(b6|0),B9=d9/o9,Q9=~~B9,g0=Q9),y9=t+24|0,e[y9>>2]=g0,h9=n0+3420|0,f9=e[h9>>2]|0,H9=(f9|0)==0,H9?(E=0,E|0):(y6=e[h6>>2]|0,A9=n0+3360|0,e[A9>>2]=y6,Y9=e[c9>>2]|0,w9=n0+3364|0,e[w9>>2]=Y9,we=e[T6>>2]|0,ue=n0+3368|0,e[ue>>2]=we,Ee=n0+3444|0,V9=e[Ee>>2]|0,ie=n0+3372|0,e[ie>>2]=V9,F9=n0+3448|0,v9=+l1[F9>>3],$9=n0+3376|0,l1[$9>>3]=v9,ve=n0+3432|0,Re=+l1[ve>>3],de=n0+3384|0,l1[de>>3]=Re,E=0,E|0)}function Wb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0;if(V=C,I=(a|0)<1,I)h=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,T=m,N=y+3400|0,Q=Zb(o,a,T,0,N)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)h=-130;else return jb(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=Kb(t)|0,D=(w|0)==0,D?(g=0,g|0):(QC(t),g=w,g|0);return QC(t),g=h,g|0}function aE(t,o,a,$,g,h){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,W=t+28|0,$0=e[W>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,h1=e[Z0>>2]|0,I1=+(h1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),T=F*E,N=($+(B*20|0)|0)+4|0,G=e[N>>2]|0,V=+(G|0),X=V*M,K=X+T,a0=K,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,J=e[s0>>2]|0,o0=+(J|0),q=o0*E,d0=($+(B*20|0)|0)+8|0,t0=e[d0>>2]|0,j=+(t0|0),u0=j*M,c0=u0+q,l0=c0,Z=N0+20|0,s[Z>>2]=l0,I0=($+(m*20|0)|0)+12|0,g0=+s[I0>>2],f0=g0,n0=f0*E,h0=($+(B*20|0)|0)+12|0,p0=+s[h0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,K0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,U0=T0*M,O0=U0+K0,k0=O0,V0=N0+28|0,s[V0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),z0=G0*E,J0=g+(B<<2)|0,q0=e[J0>>2]|0,P0=+(q0|0),H0=P0*M,o1=H0+z0,Y0=o1,i1=N0+496|0,s[i1>>2]=Y0,p1=0;x0=(h+(m*68|0)|0)+(p1<<2)|0,n1=e[x0>>2]|0,d1=+(n1|0),g1=d1*E,m1=(h+(B*68|0)|0)+(p1<<2)|0,u1=e[m1>>2]|0,A1=+(u1|0),c1=A1*M,s1=c1+g1,$1=s1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function AE(t,o,a,$,g,h,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),d0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,S1=e[j0>>2]|0,q1=+(S1|0),D=1-d0,X=q1*D,K=v+1|0,a0=$+(K<<2)|0,W=e[a0>>2]|0,r0=+(W|0),s0=r0*d0,J=s0+X,o0=J,q=x0+108|0,s[q>>2]=o0,t0=h+(a*12|0)|0,j=e[t0>>2]|0,u0=x0+120|0,e[u0>>2]=j,c0=(h+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,Z=(h+(a*12|0)|0)+8|0,I0=e[Z>>2]|0,g0=x0+128|0,e[g0>>2]=I0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,h0=e[f0>>2]|0,p0=+(h0|0),C0=p0*D,S0=(g+(K*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*d0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(l2<<2)|0,D1=e[M1>>2]|0,R1=+(D1|0),F1=R1*D,U1=((g+(K*204|0)|0)+68|0)+(l2<<2)|0,b1=e[U1>>2]|0,P1=+(b1|0),Z1=P1*d0,G1=Z1+F1,x1=G1,z1=(x0+200|0)+(l2<<2)|0,s[z1>>2]=x1,H1=l2+1|0,d2=(H1|0)==17,d2){r2=0;break}else l2=H1;for(;Y1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,V1=e[Y1>>2]|0,X1=+(V1|0),n2=X1*D,j1=((g+(K*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,c2=+(O1|0),W1=c2*d0,h2=W1+n2,y=h2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,$2=(M|0)==17,!$2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,T=R,N=T+m,G=N,V=G>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,U0=N0,O0=U0>2]=A2,V0=M0+1|0,s2=(V0|0)==17,!s2;)M0=V0;for(F0=x0+200|0,G0=+s[F0>>2],z0=G0+6,J0=x0+200|0,q0=G0,Z0=q0+m,P0=Z0,H0=P0>2]=o2,o1=1;E=(x0+200|0)+(o1<<2)|0,S=+s[E>>2],Y0=(x0+200|0)+(o1<<2)|0,i1=S,n1=i1+m,d1=n1,g1=d1>2]=e2,m1=o1+1|0,E2=(m1|0)==17,!E2;)o1=m1;for(h1=x0+268|0,u1=+s[h1>>2],A1=u1+6,c1=x0+268|0,s1=u1,$1=s1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=f2,L1=Q1+1|0,a2=(L1|0)==17,!a2;)Q1=L1}function Zb(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(J=26336,j0=0;;){if(s0=e[J>>2]|0,o0=s0+12|0,q=e[o0>>2]|0,d0=(q|0)==-1,j=(q|0)==(t|0),p1=d0|j,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,Z=e[l0>>2]|0,I0=(Z|0)<(o|0),!I0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,K0=t0+12|0,G0=e[K0>>2]|0,n1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=n1|A1,B1&&(c1=t0+16|0,D=e[c1>>2]|0,y=(D|0)>(o|0),!y&&(x=t0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[t0>>2]|0,F=t0+4|0,T=e[F>>2]|0,N=+l1[T>>3],G=V>3],a0=V>K,!a0))))){m=V,I=R,E=h0,Q=T,u1=N;break e}if($1=E1+1|0,W=26336+($1<<2)|0,r0=($1|0)==17,r0){h=0;break}else h0=W,E1=$1}return h|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=u1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return U0=(I1|0)==(I|0),U0?(O0=+(I|0),k0=O0+-.001,w1=k0):(V0=Q+(I1<<3)|0,F0=+l1[V0>>3],L0=F0,z0=I1+1|0,J0=Q+(z0<<3)|0,q0=+l1[J0>>3],Z0=q0,P0=L0,H0=m-P0,o1=Z0-L0,Y0=o1,i1=H0/Y0,x0=i1,d1=+(I1|0),g1=x0+d1,m1=g1,w1=m1),l1[g>>3]=w1,h1=e[E>>2]|0,h=h1,h|0}function jb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,U0=E+3456|0,e[U0>>2]=1,P0=E+3460|0,e[P0>>2]=1,o1=E+3400|0,Y0=+l1[o1>>3],Q=~~Y0,B=+(Q|0),S=Y0-B,b=E+3472|0,l1[b>>3]=Y0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,T=R*F,N=Q+1|0,G=x+(N<<3)|0,V=+l1[G>>3],X=V*S,K=X+T,a0=E+3480|0,l1[a0>>3]=K,g=N,h=F):($=1-S,m=Q+1|0,g=m,h=$),W=r0+112|0,s0=e[W>>2]|0,J=s0+(Q<<2)|0,o0=e[J>>2]|0,q=+(o0|0),d0=q*h,t0=s0+(g<<2)|0,j=e[t0>>2]|0,u0=+(j|0),c0=u0*S,$0=c0+d0,Z=E+3496|0,l1[Z>>3]=$0,I0=r0+116|0,g0=e[I0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,h0=+(n0|0),p0=h0*h,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=Y0,K0=E+3528|0,l1[K0>>3]=Y0,M0=E+3536|0,l1[M0>>3]=Y0,v0=E+3544|0,l1[v0>>3]=Y0,T0=E+3552|0,l1[T0>>3]=Y0,N0=E+3560|0,l1[N0>>3]=Y0,O0=E+3568|0,l1[O0>>3]=Y0,k0=E+3576|0,l1[k0>>3]=Y0,V0=E+3584|0,l1[V0>>3]=Y0,F0=E+3592|0,l1[F0>>3]=Y0,L0=E+3600|0,l1[L0>>3]=Y0,G0=E+3608|0,l1[G0>>3]=Y0,z0=E+3616|0,l1[z0>>3]=Y0,J0=E+3624|0,l1[J0>>3]=Y0,q0=E+3632|0,l1[q0>>3]=Y0,Z0=E+3640|0,l1[Z0>>3]=Y0,H0=E+3648|0,l1[H0>>3]=Y0}function Xb(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=(g|0)!=0,E=I?$:0,L=I?h:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,K0=o+(L<<2)|0,M0=e[K0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,T=(S|0)/2&-1,N=T+y|0,m=(D|0)/-4&-1,G=N+m|0,V=(D|0)/2&-1,X=G+V|0,K=(M|0)>0,K?(a0=y-x|0,W=a0<<2,u4(t|0,0,W|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(J=y+R|0,o0=J-N0|0,q=o0-x|0,U0=N0,V0=0;u0=_0+(V0<<2)|0,c0=+s[u0>>2],$0=t+(U0<<2)|0,Z=+s[$0>>2],I0=Z*c0,s[$0>>2]=I0,g0=U0+1|0,f0=V0+1|0,T0=(f0|0)==(q|0),!T0;)U0=g0,V0=f0;if(d0=(D|0)>1,d0){for(t0=G+1|0,j=(X|0)>(t0|0),k0=G,L0=V;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(X|0),B0;)k0=w0,L0=F0;z0=j?X:t0,O0=z0}else O0=G;n0=(S|0)>(O0|0),n0&&(G0=t+(O0<<2)|0,h0=S-O0|0,p0=h0<<2,u4(G0|0,0,p0|0)|0)}function eD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,C=C+64|0,$0=Z+32|0,c0=Z,$=R9(688)|0,g=$+408|0,ub(g),D=~~o,Wb(g,t,D,a)|0,X=$+440|0,lb(X),cb(X,553008,553016),o0=$+456|0,OS(o0,g)|0,q=$+568|0,US(o0,q)|0,d0=AQ(0)|0,aD(d0),t0=AD()|0,_S($,t0)|0,j=$+680|0,e[j>>2]=0,u0=$+684|0,e[u0>>2]=0,h=$+360|0,db(o0,X,h,$0,c0)|0,oE($,h)|0,oE($,$0)|0,oE($,c0)|0,m=$+392|0,I=lQ($,m)|0,E=(I|0)==0,E)return C=Z,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[j>>2]|0,T=K7(F,x)|0,e[j>>2]=T,N=e[u0>>2]|0,G=T+N|0,V=e[m>>2]|0,K=e[Q>>2]|0,ge(G|0,V|0,K|0)|0,a0=K+N|0,e[u0>>2]=a0,W=T+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ge(W|0,r0|0,s0|0)|0,J=s0+a0|0,e[u0>>2]=J),L=lQ($,m)|0,R=(L|0)==0,!R;);return C=Z,$|0}function tD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;E=C,xS(t)|0,o=t+568|0,PS(o)|0,a=t+456|0,dQ(a),$=t+440|0,gb($),g=t+408|0,QC(g),h=t+680|0,m=e[h>>2]|0,p2(m),p2(t)}function iD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0;return h=C,a=t+456|0,$=hQ(a,o)|0,$|0}function rD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,a=t+456|0,qS(a,o)|0,$=t+568|0,w=fQ(a,$)|0,V=(w|0)==1,!!V)for(d0=t+360|0,t0=t+392|0,j=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,h=t+400|0;;){if(FS($,0)|0,GS($)|0,E=uQ(a,d0)|0,Q=(E|0)==0,!Q)for(;;){if(oE(t,d0)|0,b=cQ(t,t0)|0,v=(b|0)==0,!v)for(;D=e[j>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(N=e[$0>>2]|0,G=K7(N,L)|0,e[$0>>2]=G,X=e[j>>2]|0,K=G+X|0,a0=e[g>>2]|0,W=e[u0>>2]|0,ge(K|0,a0|0,W|0)|0,r0=W+X|0,e[j>>2]=r0,s0=G+r0|0,J=e[h>>2]|0,o0=e[c0>>2]|0,ge(s0|0,J|0,o0|0)|0,q=o0+r0|0,e[j>>2]=q),F=cQ(t,t0)|0,T=(F|0)==0,!T;);if(B=uQ(a,d0)|0,S=(B|0)==0,S)break}if(m=fQ(a,$)|0,I=(m|0)==1,!I)break}}function nD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function oD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;return h=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function $E(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+sD(t,o),+a}function Pu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0;if(N3=C,C=C+688|0,n3=N3+424|0,K5=N3+192|0,t3=N3,o0=o5(a,o)|0,q=(o0|0)==0,q){C=N3;return}for(W=o0-a|0,Y1=t3+4|0,e[Y1>>2]=a,e[t3>>2]=a,t2=a,I5=a,D3=2;a2=t2+a|0,G2=a2+I5|0,N5=t3+(D3<<2)|0,e[N5>>2]=G2,D5=G2>>>0>>0,n5=D3+1|0,D5;)k2=I5,I5=G2,D3=n5,t2=k2;if(d0=0-a|0,n0=t+W|0,_0=(W|0)>0,_0)for(L0=(a|0)==0,x0=n0,S1=1,Z2=0,G5=t,H5=1;;){j0=S1&3,z1=(j0|0)==3;do if(z1){e[K5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=G5,O1=G5,X5=1;;){if(H1=y+d0|0,V1=B+-2|0,X1=t3+(V1<<2)|0,n2=e[X1>>2]|0,U5=n2+a|0,r0=0-U5|0,j1=y+r0|0,c2=mi[$&15](O1,j1)|0,W1=(c2|0)>-1,W1&&(h2=mi[$&15](O1,H1)|0,s2=(h2|0)>-1,s2)){f3=X5;break}if(E2=mi[$&15](j1,H1)|0,K1=(E2|0)>-1,d2=X5+1|0,$2=K5+(X5<<2)|0,K1?(e[$2>>2]=j1,i2=B+-1|0,h=j1,E=i2):(e[$2>>2]=H1,h=H1,E=V1),l2=(E|0)>1,!l2){f3=d2;break}V=e[K5>>2]|0,B=E,y=h,O1=V,X5=d2}if(r2=(f3|0)<2,!r2&&(A2=K5+(f3<<2)|0,e[A2>>2]=n3,!L0))for(w=a,P2=n3;;){for(m2=w>>>0>256,o2=m2?256:w,W2=e[K5>>2]|0,ge(P2|0,W2|0,o2|0)|0,L2=W2,X3=0;D2=K5+(X3<<2)|0,S2=X3+1|0,Q2=K5+(S2<<2)|0,N2=e[Q2>>2]|0,ge(L2|0,N2|0,o2|0)|0,U2=L2+o2|0,e[D2>>2]=U2,r3=(S2|0)==(f3|0),!r3;)L2=N2,X3=S2;if(e2=(w|0)==(o2|0),e2)break e;f2=w-o2|0,K=e[A2>>2]|0,w=f2,P2=K}}while(!1);V2=S1>>>2,q2=Z2<<30,A5=V2|q2,H2=Z2>>>2,N1=H5+2|0,l0=A5,x1=H2,V5=N1}else{if(t5=H5+-1|0,T5=t3+(t5<<2)|0,i5=e[T5>>2]|0,x5=G5,j2=x0-x5|0,b5=i5>>>0>>0,b5){e[K5>>2]=G5,Y5=(H5|0)>1;e:do if(Y5){for(S=H5,x=G5,M2=G5,b3=1;;){if(g5=x+d0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,s5=e[B5>>2]|0,$6=s5+a|0,s0=0-$6|0,R2=x+s0|0,y2=mi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=mi[$&15](M2,g5)|0,L5=(m5|0)>-1,L5)){y3=b3;break}if(q5=mi[$&15](R2,g5)|0,M5=(q5|0)>-1,Y2=b3+1|0,p5=K5+(b3<<2)|0,M5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){y3=Y2;break}X=e[K5>>2]|0,S=Q,x=m,M2=X,b3=Y2}if(y5=(y3|0)<2,!y5&&(T1=K5+(y3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,e5=n3;;){for(f5=D>>>0>256,l5=f5?256:D,R5=e[K5>>2]|0,ge(e5|0,R5|0,l5|0)|0,h5=R5,q3=0;g2=K5+(q3<<2)|0,w5=q3+1|0,r5=K5+(w5<<2)|0,a5=e[r5>>2]|0,ge(h5|0,a5|0,l5|0)|0,z2=h5+l5|0,e[g2>>2]=z2,a3=(w5|0)==(y3|0),!a3;)h5=a5,q3=w5;if(d5=(D|0)==(l5|0),d5)break e;X2=D-l5|0,a0=e[T1>>2]|0,D=X2,e5=a0}}while(!1)}else lE(G5,a,$,S1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=Z2<<1,v5=S1>>>31,J5=v5|F2,i3=S1<<1,l0=i3,x1=J5,V5=0;break}else{E5=t5>>>0>31,I3=H5+-33|0,g=E5?0:S1,M=E5?S1:Z2,L=E5?I3:t5,h3=M<>>t0,u0=j|h3,c0=g<>>0>>0,I0)S1=$0,Z2=x1,G5=Z,H5=V5;else{T=x1,N=$0,B3=Z,z5=V5;break}}else T=0,N=1,B3=t,z5=1;if(lE(B3,a,$,N,T,z5,0,t3),g0=(z5|0)==1,f0=(N|0)==1,Q3=f0&g0,h0=(T|0)==0,u3=h0&Q3,u3){C=N3;return}else S0=N,v0=T,W5=B3,S5=z5;for(;;){if(p0=(S5|0)<2,!p0){H0=v0<<2,o1=S0>>>30,Y0=o1|H0,i1=S5+-2|0,n1=S0<<1,d1=n1&2147483646,g1=o1<<31,m1=d1|g1,h1=m1^3,u1=Y0>>>1,A1=t3+(i1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,J=0-Y3|0,s1=W5+J|0,$1=S5+-1|0,lE(s1,a,$,h1,u1,$1,1,t3),E1=u1<<1,I1=o1&1,Q1=E1|I1,p1=h1<<1,B1=p1|1,w1=W5+d0|0,lE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,W5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)P0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,K0=(B0|0)==0,K0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:J0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){P0=64,l3=56;break}if(N0=v0&1,U0=(N0|0)==0,U0)v=v0,T3=0;else{I=0,k1=S0,D1=v0,b1=0;break}for(;;)if(O0=T3+1|0,k0=v>>>1,V0=k0&1,F0=(V0|0)==0,F0)v=k0,T3=O0;else{F=O0,H3=T3;break}if(G0=H3+33|0,z0=(F|0)==0,z0){I=0,k1=S0,D1=v0,b1=0;break}else J0=G0}q0=J0>>>0>31,q0?(P0=J0,l3=56):(I=J0,k1=S0,D1=v0,b1=J0)}while(!1);if((l3|0)==56&&(l3=0,Z0=P0+-32|0,I=Z0,k1=v0,D1=0,b1=P0),v1=k1>>>I,L1=32-I|0,M1=D1<>>I,U1=b1+S5|0,G=W5+d0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,W5=G,S5=U1}C=N3}function lE(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,q2=y2+228|0,G2=y2,e[G2>>2]=t,q=0-o|0,d0=($|0)!=1,v0=(g|0)!=0,J0=v0|d0;e:do if(J0)if(g1=I+(h<<2)|0,Q1=e[g1>>2]|0,F1=0-Q1|0,V1=t+F1|0,K1=mi[a&15](V1,t)|0,k2=(K1|0)<1,k2)B=t,M=h,G=m,H2=1,M2=18;else for(v=t,T=h,V=m,B0=V1,H0=g,x5=1,b2=$;;){if(t0=(V|0)==0,h0=(T|0)>1,g5=t0&h0,g5){if(b0=v+q|0,E0=T+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=mi[a&15](b0,B0)|0,K0=(_0|0)>-1,K0){S=v,L=T,t5=x5;break e}if(B5=w0+o|0,J=0-B5|0,M0=v+J|0,T0=mi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=T,t5=x5;break e}}U0=x5+1|0,O0=G2+(x5<<2)|0,e[O0>>2]=B0,k0=b2+-1|0,V0=(k0|0)==0;do if(V0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,z0=y>>>1,q0=z0&1,Z0=(q0|0)==0,Z0)y=z0,I5=G0;else{X=G0;break}P0=(X|0)==0,P0?M2=10:A1=X}else M2=10;if((M2|0)==10){if(M2=0,o1=(H0|0)==0,o1){$1=64,M2=15;break}if(Y0=H0&1,i1=(Y0|0)==0,i1)x=H0,b5=0;else{Q=0,E1=b2,B1=H0,L1=0;break}for(;;)if(x0=b5+1|0,n1=x>>>1,d1=n1&1,m1=(d1|0)==0,m1)x=n1,b5=x0;else{K=x0,Y5=b5;break}if(h1=Y5+33|0,u1=(K|0)==0,u1){Q=0,E1=b2,B1=H0,L1=0;break}else A1=h1}c1=A1>>>0>31,c1?($1=A1,M2=15):(Q=A1,E1=b2,B1=H0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,s1=$1+-32|0,Q=s1,E1=H0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+T|0,M1=(w1|0)!=1,S1=(v1|0)!=0,D1=S1|M1,!D1){S=B0,L=k1,t5=U0;break e}if(a0=e[G2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,b1=0-U1|0,P1=B0+b1|0,Z1=mi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,G=0,H2=U0,M2=18;break}else w=B0,T=k1,V=0,B0=P1,H0=v1,x5=U0,b2=w1,v=w}else B=t,M=h,G=m,H2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(G|0)==0,x1)S=B,L=M,t5=H2;else{C=y2;return}z1=(t5|0)<2;e:do if(!z1&&(q1=G2+(t5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,d2=R2;;){for(E2=F>>>0>256,X1=E2?256:F,a2=e[G2>>2]|0,ge(d2|0,a2|0,X1|0)|0,h2=a2,i5=0;j1=G2+(i5<<2)|0,O1=i5+1|0,c2=G2+(O1<<2)|0,W1=e[c2>>2]|0,ge(h2|0,W1|0,X1|0)|0,s2=h2+X1|0,e[j1>>2]=s2,A5=(O1|0)==(t5|0),!A5;)h2=W1,i5=O1;if(Y1=(F|0)==(X1|0),Y1)break e;n2=F-X1|0,s0=e[q1>>2]|0,F=n2,d2=s0}while(!1);e[q2>>2]=S,$2=(L|0)>1;e:do if($2){for(D=L,N=S,o2=S,j2=1;;){if(i2=N+q|0,l2=D+-2|0,r2=I+(l2<<2)|0,A2=e[r2>>2]|0,s5=A2+o|0,o0=0-s5|0,e2=N+o0|0,f2=mi[a&15](o2,e2)|0,t2=(f2|0)>-1,t2&&(D2=mi[a&15](o2,i2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(Q2=mi[a&15](e2,i2)|0,N2=(Q2|0)>-1,L2=j2+1|0,U2=q2+(j2<<2)|0,N2?(e[U2>>2]=e2,m2=D+-1|0,E=e2,b=m2):(e[U2>>2]=i2,E=i2,b=l2),W2=(b|0)>1,!W2){N1=L2;break}W=e[q2>>2]|0,D=b,N=E,o2=W,j2=L2}if(P2=(N1|0)<2,P2)Q0=R2;else if(V2=q2+(N1<<2)|0,e[V2>>2]=R2,j=(o|0)==0,j)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[q2>>2]|0,ge(S0|0,C0|0,c0|0)|0,f0=C0,T5=0;l0=q2+(T5<<2)|0,Z=T5+1|0,I0=q2+(Z<<2)|0,g0=e[I0>>2]|0,ge(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,Z2=(Z|0)==(N1|0),!Z2;)f0=g0,T5=Z;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[V2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function z7(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,h=t+4503599627370496,m=h+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function TQ(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(h=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=h?I:Q,B=b==0,B?(S=h?-0:0,o=S,+o):(o=b,+o))}function sD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0;return X=C,h=(o|0)>1023,h?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,G=M):($=y,G=m)):(F=(o|0)<-1022,F?(T=t*22250738585072014e-324,N=o+1022|0,I=(N|0)<-1022,I?(E=T*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,G=E):($=N,G=T)):($=o,G=t)),S=$+1023|0,b=UQ(S|0,0,52)|0,v=j6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=G*w,+D}function aD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,h=g,e[h>>2]=0}function AD(){var t=0,o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=gD(E|0,S|0,1284865837,1481765933)|0,v=j6,w=rs(b|0,v|0,1,0)|0,D=j6,a=553040,$=a,e[$>>2]=w,g=a+4|0,h=g,e[h>>2]=D,m=ns(w|0,D|0,33)|0,I=j6,m|0}function R9(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,ds=0,Kn=0,hs=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,or=0,Ts=0,$o=0,dn=0,lo=0,hn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,sr=0,br=0,W7=0,Dr=0,Io=0,Z7=0,S7=0,b7=0,t7=0,D7=0,_r=0,ar=0,Ar=0,xr=0,p7=0,Ps=0,hi=0,sl=0,In=0,mn=0,Ou=0,al=0,Os=0,qu=0,sA=0,Al=0,Hu=0,Yu=0,Vu=0,aA=0,$l=0,ll=0,AA=0,pn=0,cl=0,Ju=0,qs=0,$r=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,gl=0,Lr=0,nd=0,od=0,ul=0,sd=0,$A=0,Hs=0,lA=0,ad=0,Ad=0,cA=0,dl=0,hl=0,fl=0,gA=0,Il=0,Ys=0,$d=0,ld=0,ml=0,cd=0,gd=0,pl=0,ud=0,dd=0,El=0,Cl=0,Bl=0,Ql=0,yl=0,En=0,hd=0,wl=0,fd=0,vl=0,kl=0,Id=0,md=0,pd=0,uA=0,Sl=0,bl=0,mo=0,Dl=0,dA=0,Ed=0,_l=0,Cd=0,xl=0,Bd=0,Qd=0,Ll=0,Ml=0,yd=0,Vs=0,wd=0,hA=0,Rl=0,Fl=0,vd=0,kd=0,Sd=0,bd=0,Dd=0,_d=0,Js=0,Tl=0,Nl=0,Gl=0,zs=0,xd=0,Ul=0,Ld=0,Pl=0,Md=0,Rd=0,Ol=0,fA=0,Fd=0,Td=0,Ks=0,Nd=0,Ws=0,Gd=0,IA=0,Ud=0,Pd=0,Od=0,ql=0,qd=0,Hd=0,Yd=0,Vd=0,Hl=0,Yl=0,lr=0,Vl=0,Zs=0,mA=0,pA=0,Cn=0,Jl=0,Bn=0,Jd=0,zl=0,zd=0,Kd=0,Wd=0,Zd=0,js=0,EA=0,Mr=0,jd=0,Xd=0,Kl=0,CA=0,Wl=0,Zl=0,eh=0,jl=0,th=0,BA=0,ih=0,rh=0,z9=0,nh=0,Xl=0,oh=0,sh=0,QA=0,ah=0,yA=0,ec=0,Ah=0,$h=0,tc=0,ic=0,lh=0,wA=0,vA=0,rc=0,nc=0,ch=0,oc=0,kA=0,gh=0,sc=0,uh=0,dh=0,hh=0,fh=0,ac=0,Ac=0,SA=0,Xs=0,$c=0,Ih=0,lc=0,cc=0,mh=0,ph=0,Eh=0,gc=0,Ch=0,Bh=0,Qh=0,yh=0,wh=0,vh=0,uc=0,kh=0,dc=0,Sh=0,Qn=0,bh=0,hc=0,Dh=0,po=0,fc=0,bA=0,_h=0,ea=0,DA=0,xh=0,_A=0,Ic=0,Lh=0,Mh=0,Rh=0,Fh=0,Th=0,mc=0,Nh=0,Gh=0,Uh=0,ta=0,Eo=0,xA=0,Ph=0,LA=0,Oh=0,qh=0,Hh=0,pc=0,Yh=0,Vh=0,Jh=0,zh=0,Kh=0,ia=0,Wh=0,Zh=0,Ec=0,jh=0,Xh=0,ef=0,tf=0,E7=0,Cc=0,C7=0,Bc=0,MA=0,rf=0,i7=0,Co=0,nf=0,of=0,sf=0,af=0,Af=0,Qc=0,$f=0,lf=0,yc=0,cf=0,gf=0,Bo=0,RA=0,uf=0,wc=0,df=0,hf=0,ra=0,ff=0,If=0,vc=0,kc=0,mf=0,pf=0,yn=0,Ef=0,Cf=0,wn=0,Bf=0,Sc=0,Qf=0,yf=0,Qo=0,bc=0,wf=0,Dc=0,vf=0,cr=0,FA=0,kf=0,_c=0,xc=0,Sf=0,bf=0,Lc=0,Df=0,_f=0,xf=0,Mc=0,Lf=0,yo=0,Mf=0,vn=0,Rf=0,Ff=0,TA=0,Tf=0,NA=0,GA=0,Nf=0,Rc=0,Fc=0,Gf=0,Tc=0,Nc=0,Gc=0,Uf=0,Uc=0,Pc=0,Pf=0,Of=0,Oc=0,qc=0,qf=0,Hc=0,Yc=0,Hf=0,Yf=0,Vc=0,UA=0,Jc=0,zc=0,Kc=0,Wc=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Zc=0,PA=0,eI=0,tI=0,iI=0,jc=0,Xc=0,rI=0,eg=0,OA=0,na=0,tg=0,nI=0,oI=0,sI=0,aI=0,ig=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,dI=0,hI=0,rg=0,fI=0,II=0,mI=0,pI=0,sa=0,ng=0,EI=0,CI=0,kn=0,og=0,sg=0,qA=0,BI=0,ag=0,QI=0,Ag=0,$g=0,yI=0,wI=0,vI=0,kI=0,SI=0,aa=0,HA=0,bI=0,DI=0,_I=0,xI=0,lg=0,LI=0,cg=0,MI=0,RI=0,gg=0,Rr=0,ug=0,dg=0,FI=0,hg=0,Aa=0,TI=0,NI=0,GI=0,$a=0,fg=0,UI=0,PI=0,Ig=0,OI=0,qI=0,YA=0,la=0,HI=0,YI=0,VI=0,mg=0,pg=0,Eg=0,JI=0,zI=0,wo=0,KI=0,Cg=0,WI=0,VA=0,Bg=0,ZI=0,jI=0,XI=0,em=0,Qg=0,tm=0,im=0,yg=0,ca=0,rm=0,nm=0,om=0,vo=0,wg=0,vg=0,sm=0,kg=0,Sg=0,_7=0,bg=0,gr=0,am=0,Am=0,$m=0,lm=0,JA=0,ga=0,Dg=0,_g=0,cm=0,ua=0,ko=0,gm=0,da=0,zA=0,um=0,KA=0,dm=0,hm=0,xg=0,ha=0,Lg=0,fm=0,Im=0,mm=0,pm=0,Mg=0,Em=0,ri=0,_e=0,r7=0,Cm=0,Rg=0,Fg=0,WA=0,Bm=0,Fr=0,So=0,Qm=0,ym=0,Tg=0,ZA=0,wm=0,Ng=0,Gg=0,Ug=0,jA=0,XA=0,Pg=0,bo=0,e$=0,Og=0,vm=0,Sn=0,km=0,qg=0,fa=0,Sm=0,Hg=0,x7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,L7=0,Rm=0,Fm=0,Tm=0,Yg=0,B7=0,Ia=0,t$=0,Vg=0,Jg=0,Nm=0,zg=0,Kg=0,Gm=0,Um=0,Wg=0,Zg=0,Pm=0,Om=0,jg=0,qm=0,Do=0,ma=0,pa=0,Hm=0,i$=0,Ym=0,Vm=0,Xg=0,_o=0,Jm=0,zm=0,r$=0,n$=0,Ea=0,o$=0,s$=0,ur=0,Tr=0,Nr=0,a$=0,A$=0,xo=0,dr=0,bn=0,Km=0,hr=0,Dn=0,Wm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,eu=0,tu=0,Qa=0,$$=0,Ti=0,ya=0,Gr=0,l$=0,Zm=0,c$=0,jm=0,g$=0,iu=0,wa=0,Xm=0,ep=0,va=0,tp=0,ka=0,_n=0,tt=0,Le=0,ru=0,ip=0,u$=0,nu=0,rp=0,np=0,Sa=0,op=0,sp=0,ap=0,Ap=0,ou=0,$p=0,lp=0,cp=0,n7=0,ba=0,xn=0,d$=0,Lo=0,Mo=0,ni=0,Ro=0,su=0,au=0,Da=0,Fo=0,To=0,No=0,gp=0,Go=0,fr=0,Au=0,Ur=0,o7=0,h$=0,f$=0,j7=0,I$=0,m$=0,p$=0,Pr=0,g6=0,_a=0,Or=0,$u=0,L4=0,E$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,Xe=0,C$=0;C$=C,K1=t>>>0<245;do if(K1){if(d2=t>>>0<11,Ee=t+11|0,We=Ee&-8,x4=d2?16:We,Os=x4>>>3,IA=e[138262]|0,ta=IA>>>Os,zc=ta&3,yg=(zc|0)==0,!yg){$2=ta&1,f3=$2^1,g3=f3+Os|0,l3=g3<<1,d3=553088+(l3<<2)|0,S0=l3+2|0,G6=553088+(S0<<2)|0,F6=e[G6>>2]|0,U6=F6+8|0,T6=e[U6>>2]|0,y9=(d3|0)==(T6|0);do if(y9)V9=1<>>0>>0,f4&&v2(),be=T6+12|0,b9=e[be>>2]|0,Pt=(b9|0)==(F6|0),Pt){e[be>>2]=d3,e[G6>>2]=T6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=F6+4|0,e[U4>>2]=p8,w0=pt|4,D4=F6+w0|0,Ze=e[D4>>2]|0,A8=Ze|1,e[D4>>2]=A8,tt=U6,tt|0}if(X4=e[138264]|0,W8=x4>>>0>X4>>>0,W8){if(qi=(ta|0)==0,!qi){Yi=ta<>>12,gn=ks&16,co=io>>>gn,sr=co>>>5,ar=sr&8,qu=ar|gn,cl=co>>>ar,td=cl>>>2,lA=td&4,ld=qu|lA,yl=cl>>>lA,Sl=yl>>>1,Ll=Sl&2,bd=ld|Ll,Pl=yl>>>Ll,Ud=Pl>>>1,Vl=Ud&1,Wd=bd|Vl,eh=Pl>>>Vl,QA=Wd+eh|0,rc=QA<<1,ac=553088+(rc<<2)|0,P1=rc+2|0,gc=553088+(P1<<2)|0,Qn=e[gc>>2]|0,_A=Qn+8|0,Eo=e[_A>>2]|0,zh=(ac|0)==(Eo|0);do if(zh)Cc=1<>>0>>0,cr&&v2(),Mc=Eo+12|0,Nf=e[Mc>>2]|0,Of=(Nf|0)==(Qn|0),Of){e[Mc>>2]=ac,e[gc>>2]=Eo,w=e[138264]|0,la=w;break}else v2();while(!1);return Kc=QA<<3,PA=Kc-x4|0,nI=x4|3,uI=Qn+4|0,e[uI>>2]=nI,CI=Qn+x4|0,wI=PA|1,X1=x4|4,LI=Qn+X1|0,e[LI>>2]=wI,TI=Qn+Kc|0,e[TI>>2]=PA,Cg=(la|0)==0,Cg||(ca=e[138267]|0,bg=la>>>3,ua=bg<<1,Lg=553088+(ua<<2)|0,Rg=e[138262]|0,Ng=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(G=Do,Ea=i2)),e[G>>2]=ca,g5=Ea+12|0,e[g5>>2]=ca,q5=ca+8|0,e[q5>>2]=Ea,X2=ca+12|0,e[X2>>2]=Lg),e[138264]=PA,e[138267]=CI,tt=_A,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=x4;else{for(W5=0-c5|0,D3=c5&W5,y3=D3+-1|0,X3=y3>>>12,q3=X3&16,X5=y3>>>q3,b3=X5>>>5,t3=b3&8,s6=t3|q3,T3=X5>>>t3,H3=T3>>>2,c3=H3&4,u3=s6|c3,Q3=T3>>>c3,z5=Q3>>>1,H5=z5&2,V5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,U5=Y3&1,$6=V5|U5,n3=S5>>>U5,N3=$6+n3|0,E6=553352+(N3<<2)|0,k3=e[E6>>2]|0,_3=k3+4|0,S3=e[_3>>2]|0,a6=S3&-8,i6=a6-x4|0,ba=i6,f$=k3,E$=k3;;){if(V3=f$+16|0,Z5=e[V3>>2]|0,x3=(Z5|0)==0,x3)if(J3=f$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xn=ba,kt=E$;break}else M6=d6;else M6=Z5;L6=M6+4|0,R6=e[L6>>2]|0,S6=R6&-8,r6=S6-x4|0,h6=r6>>>0>>0,J=h6?r6:ba,a2=h6?M6:E$,ba=J,f$=M6,E$=a2}b6=e[138266]|0,X6=kt>>>0>>0,X6&&v2(),v6=kt+x4|0,L3=kt>>>0>>0,L3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,z3=e[C6>>2]|0,M3=(z3|0)==(kt|0);do if(M3){if(Y6=kt+20|0,A6=e[Y6>>2]|0,D6=(A6|0)==0,D6)if(t9=kt+16|0,Q6=e[t9>>2]|0,e9=(Q6|0)==0,e9){Mi=0;break}else dr=Q6,Ca=t9;else dr=A6,Ca=Y6;for(;;){if(G3=dr+20|0,n9=e[G3>>2]|0,V6=(n9|0)==0,!V6){dr=n9,Ca=G3;continue}if(s9=dr+16|0,c9=e[s9>>2]|0,P6=(c9|0)==0,P6){hr=dr,tu=Ca;break}else dr=c9,Ca=s9}if(J6=tu>>>0>>0,J6)v2();else{e[tu>>2]=0,Mi=hr;break}}else if(K3=kt+8|0,e6=e[K3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,K6=e[o3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),c6=z3+8|0,B6=e[c6>>2]|0,R3=(B6|0)==(kt|0),R3){e[o3>>2]=z3,e[c6>>2]=e6,Mi=z3;break}else v2();while(!1);i9=(o6|0)==0;do if(!i9){if(_6=kt+28|0,O6=e[_6>>2]|0,U3=553352+(O6<<2)|0,q6=e[U3>>2]|0,a9=(kt|0)==(q6|0),a9){if(e[U3>>2]=Mi,Xm=(Mi|0)==0,Xm){d9=1<>>0>>0,f9&&v2(),H9=o6+16|0,y6=e[H9>>2]|0,H6=(y6|0)==(kt|0),H6?e[H9>>2]=Mi:(A9=o6+20|0,e[A9>>2]=Mi),Y9=(Mi|0)==0,Y9)break;w9=e[138266]|0,we=Mi>>>0>>0,we&&v2(),ue=Mi+24|0,e[ue>>2]=o6,ie=kt+16|0,F9=e[ie>>2]|0,v9=(F9|0)==0;do if(!v9)if(W6=F9>>>0>>0,W6)v2();else{$9=Mi+16|0,e[$9>>2]=F9,ve=F9+24|0,e[ve>>2]=Mi;break}while(!1);if(Re=kt+20|0,de=e[Re>>2]|0,_9=(de|0)==0,!_9)if(Fe=e[138266]|0,Ge=de>>>0>>0,Ge)v2();else{He=Mi+20|0,e[He>>2]=de,o4=de+24|0,e[o4>>2]=Mi;break}}while(!1);return ke=xn>>>0<16,ke?(Ye=xn+x4|0,J9=Ye|3,Ve=kt+4|0,e[Ve>>2]=J9,Z1=Ye+4|0,he=kt+Z1|0,Ue=e[he>>2]|0,Ce=Ue|1,e[he>>2]=Ce):(W9=x4|3,k9=kt+4|0,e[k9>>2]=W9,k4=xn|1,I0=x4|4,Y4=kt+I0|0,e[Y4>>2]=k4,f0=xn+x4|0,nt=kt+f0|0,e[nt>>2]=xn,Je=e[138264]|0,V4=(Je|0)==0,V4||(ze=e[138267]|0,s4=Je>>>3,R4=s4<<1,re=553088+(R4<<2)|0,d4=e[138262]|0,Be=1<>2]|0,h4=e[138266]|0,ne=Ne>>>0

>>0,ne?v2():(T=fe,n$=Ne)),e[T>>2]=ze,I4=n$+12|0,e[I4>>2]=ze,Se=ze+8|0,e[Se>>2]=n$,a4=ze+12|0,e[a4>>2]=re),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=x4}else if(m4=t>>>0>4294967231,m4)Le=-1;else if(S9=t+11|0,f6=S9&-8,J4=e[138263]|0,Ie=(J4|0)==0,Ie)Le=f6;else{S4=0-f6|0,me=S9>>>8,z6=(me|0)==0,z6?_n=0:(F4=f6>>>0>16777215,F4?_n=31:(T4=me+1048320|0,st=T4>>>16,pe=st&8,xe=me<>>16,x9=W3&4,Oe=x9|pe,A4=xe<>>16,f8=N4&2,_8=Oe|f8,e8=14-_8|0,I8=A4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=f6>>>qt,i8=t8&1,x8=i8|Ot,_n=x8)),Ht=553352+(_n<<2)|0,Yt=e[Ht>>2]|0,Vt=(Yt|0)==0;e:do if(Vt)Mo=S4,I$=0,Mn=0,Xe=86;else for(_t=(_n|0)==31,xt=_n>>>1,Jt=25-xt|0,zt=_t?0:Jt,r8=f6<>2]|0,z4=Et&-8,G4=z4-f6|0,at=G4>>>0>>0,at)if(Lt=(z4|0)==(f6|0),Lt){Ro=G4,Pr=j7,qr=j7,Xe=90;break e}else Lo=G4,Ln=j7;else Lo=d$,Ln=Uo;if(L9=j7+20|0,b4=e[L9>>2]|0,E8=Da>>>31,L8=(j7+16|0)+(E8<<2)|0,o8=e[L8>>2]|0,M8=(b4|0)==0,$4=(b4|0)==(o8|0),op=M8|$4,au=op?su:b4,s8=(o8|0)==0,Kt=Da<<1,s8){Mo=Lo,I$=au,Mn=Ln,Xe=86;break}else d$=Lo,su=au,Da=Kt,j7=o8,Uo=Ln}while(!1);if((Xe|0)==86){if(Mt=(I$|0)==0,At=(Mn|0)==0,rp=Mt&At,rp){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,p4=J4&Rt,oe=(p4|0)==0,oe){Le=f6;break}lt=0-p4|0,Bt=p4<,ct=Bt+-1|0,Qt=ct>>>12,E4=Qt&16,K4=ct>>>E4,W4=K4>>>5,se=W4&8,P4=se|E4,C4=K4>>>se,gt=C4>>>2,_4=gt&4,De=P4|_4,yt=C4>>>_4,a8=yt>>>1,E3=a8&2,Z4=De|E3,wt=yt>>>E3,l4=wt>>>1,Z9=l4&1,c4=Z4|Z9,T9=wt>>>Z9,j4=c4+T9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,m$=C8,Rn=0}else m$=I$,Rn=Mn;$8=(m$|0)==0,$8?(ni=Mo,O9=Rn):(Ro=Mo,Pr=m$,qr=Rn,Xe=90)}if((Xe|0)==90)for(;;){if(Xe=0,Zt=Pr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-f6|0,dt=ut>>>0>>0,o0=dt?ut:Ro,p$=dt?Pr:qr,Ft=Pr+16|0,je=e[Ft>>2]|0,c8=(je|0)==0,!c8){Ro=o0,Pr=je,qr=p$,Xe=90;continue}if(Tt=Pr+20|0,D9=e[Tt>>2]|0,g8=(D9|0)==0,g8){ni=o0,O9=p$;break}else Ro=o0,Pr=D9,qr=p$,Xe=90}if(et=(O9|0)==0,et)Le=f6;else if(H8=e[138264]|0,K8=H8-f6|0,R8=ni>>>0>>0,R8){u8=e[138266]|0,F8=O9>>>0>>0,F8&&v2(),g4=O9+f6|0,Y8=O9>>>0>>0,Y8||v2(),ht=O9+24|0,Nt=e[ht>>2]|0,T8=O9+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(O9|0);do if(O4){if(j8=O9+20|0,Ci=e[j8>>2]|0,X8=(Ci|0)==0,X8)if(Bi=O9+16|0,$i=e[Bi>>2]|0,c7=($i|0)==0,c7){Fi=0;break}else Dn=$i,Qa=Bi;else Dn=Ci,Qa=j8;for(;;){if(Qi=Dn+20|0,yi=e[Qi>>2]|0,g7=(yi|0)==0,!g7){Dn=yi,Qa=Qi;continue}if(wi=Dn+16|0,li=e[wi>>2]|0,u7=(li|0)==0,u7){Wm=Dn,$$=Qa;break}else Dn=li,Qa=wi}if(Vi=$$>>>0>>0,Vi)v2();else{e[$$>>2]=0,Fi=Wm;break}}else if(B4=O9+8|0,ae=e[B4>>2]|0,N8=ae>>>0>>0,N8&&v2(),Ai=ae+12|0,Oi=e[Ai>>2]|0,Hi=(Oi|0)==(O9|0),Hi||v2(),pi=Xt+8|0,Z8=e[pi>>2]|0,Ei=(Z8|0)==(O9|0),Ei){e[Ai>>2]=Xt,e[pi>>2]=ae,Fi=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(zi=O9+28|0,Ki=e[zi>>2]|0,vi=553352+(Ki<<2)|0,Wi=e[vi>>2]|0,ei=(O9|0)==(Wi|0),ei){if(e[vi>>2]=Fi,va=(Fi|0)==0,va){gi=1<>>0>>0,h7&&v2(),ki=Nt+16|0,Si=e[ki>>2]|0,bi=(Si|0)==(O9|0),bi?e[ki>>2]=Fi:(Xi=Nt+20|0,e[Xi>>2]=Fi),Di=(Fi|0)==0,Di)break;ii=e[138266]|0,_i=Fi>>>0>>0,_i&&v2(),e7=Fi+24|0,e[e7>>2]=Nt,ui=O9+16|0,J8=e[ui>>2]|0,xi=(J8|0)==0;do if(!xi)if(G8=J8>>>0>>0,G8)v2();else{di=Fi+16|0,e[di>>2]=J8,l9=J8+24|0,e[l9>>2]=Fi;break}while(!1);if(B8=O9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(U8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{yr=Fi+20|0,e[yr>>2]=vt,as=vt+24|0,e[as>>2]=Fi;break}}while(!1);As=ni>>>0<16;e:do if(As)Jn=ni+f6|0,$s=Jn|3,ls=O9+4|0,e[ls>>2]=$s,d1=Jn+4|0,zn=O9+d1|0,cs=e[zn>>2]|0,on=cs|1,e[zn>>2]=on;else{if(gs=f6|3,us=O9+4|0,e[us>>2]=gs,ds=ni|1,l0=f6|4,hs=O9+l0|0,e[hs>>2]=ds,C0=ni+f6|0,Wn=O9+C0|0,e[Wn>>2]=ni,Zn=ni>>>3,fs=ni>>>0<256,fs){sn=Zn<<1,jn=553088+(sn<<2)|0,an=e[138262]|0,Xn=1<>2]|0,Es=e[138266]|0,wr=to>>>0>>0,wr?v2():(F=An,s$=to)),e[F>>2]=g4,$n=s$+12|0,e[$n>>2]=g4,H0=f6+8|0,Cs=O9+H0|0,e[Cs>>2]=s$,Y0=f6+12|0,Bs=O9+Y0|0,e[Bs>>2]=jn;break}if(ln=ni>>>8,f7=(ln|0)==0,f7?Tr=0:(Qs=ni>>>0>16777215,Qs?Tr=31:(ys=ln+1048320|0,ro=ys>>>16,no=ro&8,oo=ln<>>16,cn=I7&4,vs=cn|no,so=oo<>>16,ao=bs&2,Ds=vs|ao,_s=14-Ds|0,xs=so<>>15,Ao=_s+Ls|0,Ms=Ao<<1,Rs=Ao+7|0,vr=ni>>>Rs,un=vr&1,Fs=un|Ms,Tr=Fs)),or=553352+(Tr<<2)|0,h1=f6+28|0,Ts=O9+h1|0,e[Ts>>2]=Tr,M1=f6+16|0,$o=O9+M1|0,x1=f6+20|0,dn=O9+x1|0,e[dn>>2]=0,e[$o>>2]=0,lo=e[138263]|0,hn=1<>2]=g4,Y1=f6+24|0,uo=O9+Y1|0,e[uo>>2]=or,n2=f6+12|0,ho=O9+n2|0,e[ho>>2]=g4,O1=f6+8|0,Us=O9+O1|0,e[Us>>2]=g4;break}kr=e[or>>2]|0,fo=kr+4|0,m7=e[fo>>2]|0,fn=m7&-8,Sr=(fn|0)==(ni|0);t:do if(Sr)Ti=kr;else{for(br=(Tr|0)==31,W7=Tr>>>1,Dr=25-W7|0,Io=br?0:Dr,Z7=ni<>>31,p7=(l$+16|0)+(xr<<2)|0,t7=e[p7>>2]|0,Ps=(t7|0)==0,Ps){v=p7,Zm=l$;break}if(S7=a$<<1,b7=t7+4|0,D7=e[b7>>2]|0,_r=D7&-8,Ar=(_r|0)==(ni|0),Ar){Ti=t7;break t}else a$=S7,l$=t7}if(hi=e[138266]|0,sl=v>>>0>>0,sl)v2();else{e[v>>2]=g4,E0=f6+24|0,In=O9+E0|0,e[In>>2]=Zm,O0=f6+12|0,mn=O9+O0|0,e[mn>>2]=g4,q0=f6+8|0,Ou=O9+q0|0,e[Ou>>2]=g4;break e}}while(!1);if(al=Ti+8|0,sA=e[al>>2]|0,Al=e[138266]|0,Hu=sA>>>0>=Al>>>0,ru=Ti>>>0>=Al>>>0,Yu=Hu&ru,Yu){Vu=sA+12|0,e[Vu>>2]=g4,e[al>>2]=g4,c2=f6+8|0,aA=O9+c2|0,e[aA>>2]=sA,h2=f6+12|0,$l=O9+h2|0,e[$l>>2]=Ti,Q0=f6+24|0,ll=O9+Q0|0,e[ll>>2]=0;break}else v2()}while(!1);return AA=O9+8|0,tt=AA,tt|0}else Le=f6}while(!1);if(pn=e[138264]|0,Ju=pn>>>0>>0,!Ju)return qs=pn-Le|0,$r=e[138267]|0,zu=qs>>>0>15,zu?(Ku=$r+Le|0,e[138267]=Ku,e[138264]=qs,Wu=qs|1,m1=Le+4|0,Zu=$r+m1|0,e[Zu>>2]=Wu,ju=$r+pn|0,e[ju>>2]=qs,Xu=Le|3,ed=$r+4|0,e[ed>>2]=Xu):(e[138264]=0,e[138267]=0,id=pn|3,rd=$r+4|0,e[rd>>2]=id,g0=pn+4|0,gl=$r+g0|0,Lr=e[gl>>2]|0,nd=Lr|1,e[gl>>2]=nd),od=$r+8|0,tt=od,tt|0;if(ul=e[138265]|0,sd=ul>>>0>Le>>>0,sd)return $A=ul-Le|0,e[138265]=$A,Hs=e[138268]|0,ad=Hs+Le|0,e[138268]=ad,Ad=$A|1,q=Le+4|0,cA=Hs+q|0,e[cA>>2]=Ad,dl=Le|3,hl=Hs+4|0,e[hl>>2]=dl,fl=Hs+8|0,tt=fl,tt|0;gA=e[138380]|0,Il=(gA|0)==0;do if(Il)if(Ys=CS(30)|0,$d=Ys+-1|0,ml=$d&Ys,cd=(ml|0)==0,cd){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gd=AQ(0)|0,pl=gd&-16,ud=pl^1431655768,e[138380]=ud;break}else v2();while(!1);if(dd=Le+48|0,El=e[138382]|0,Cl=Le+47|0,Bl=El+Cl|0,Ql=0-El|0,En=Bl&Ql,hd=En>>>0>Le>>>0,!hd||(wl=e[138372]|0,fd=(wl|0)==0,!fd&&(vl=e[138370]|0,kl=vl+En|0,Id=kl>>>0<=vl>>>0,md=kl>>>0>wl>>>0,Sa=Id|md,Sa)))return tt=0,tt|0;pd=e[138373]|0,uA=pd&4,bl=(uA|0)==0;e:do if(bl){mo=e[138268]|0,Dl=(mo|0)==0;t:do if(Dl)Xe=174;else{for(Fo=553496;;){if(dA=e[Fo>>2]|0,Ed=dA>>>0>mo>>>0,!Ed&&(_l=Fo+4|0,Cd=e[_l>>2]|0,xl=dA+Cd|0,Bd=xl>>>0>mo>>>0,Bd)){S=Fo,b=_l;break}if(Qd=Fo+8|0,Ml=e[Qd>>2]|0,yd=(Ml|0)==0,yd){Xe=174;break t}else Fo=Ml}if(Fd=e[138265]|0,Td=Bl-Fd|0,Ks=Td&Ql,Nd=Ks>>>0<2147483647,Nd)if(Ws=Pi(Ks|0)|0,Gd=e[S>>2]|0,Pd=e[b>>2]|0,Od=Gd+Pd|0,ql=(Ws|0)==(Od|0),o=ql?Ks:0,ql)if(qd=(Ws|0)==-1,qd)Or=o;else{g6=Ws,L4=o,Xe=194;break e}else wa=Ws,o7=Ks,_a=o,Xe=184;else Or=0}while(!1);do if((Xe|0)==174)if(Vs=Pi(0)|0,wd=(Vs|0)==-1,wd)Or=0;else if(hA=Vs,Rl=e[138381]|0,Fl=Rl+-1|0,vd=Fl&hA,kd=(vd|0)==0,kd?Ur=En:(Sd=Fl+hA|0,Dd=0-Rl|0,_d=Sd&Dd,Js=En-hA|0,Tl=Js+_d|0,Ur=Tl),Nl=e[138370]|0,Gl=Nl+Ur|0,zs=Ur>>>0>Le>>>0,xd=Ur>>>0<2147483647,np=zs&xd,np){if(Ul=e[138372]|0,Ld=(Ul|0)==0,!Ld&&(Md=Gl>>>0<=Nl>>>0,Rd=Gl>>>0>Ul>>>0,sp=Md|Rd,sp)){Or=0;break}if(Ol=Pi(Ur|0)|0,fA=(Ol|0)==(Vs|0),Au=fA?Ur:0,fA){g6=Vs,L4=Au,Xe=194;break e}else wa=Ol,o7=Ur,_a=Au,Xe=184}else Or=0;while(!1);t:do if((Xe|0)==184){Hd=0-o7|0,Yd=(wa|0)!=-1,Vd=o7>>>0<2147483647,Ap=Vd&Yd,Hl=dd>>>0>o7>>>0,$p=Hl&Ap;do if($p)if(Yl=e[138382]|0,lr=Cl-o7|0,Zs=lr+Yl|0,mA=0-Yl|0,pA=Zs&mA,Cn=pA>>>0<2147483647,Cn)if(Jl=Pi(pA|0)|0,Bn=(Jl|0)==-1,Bn){Pi(Hd|0)|0,Or=_a;break t}else{Jd=pA+o7|0,h$=Jd;break}else h$=o7;else h$=o7;while(!1);if(zl=(wa|0)==-1,zl)Or=_a;else{g6=wa,L4=h$,Xe=194;break e}}while(!1);zd=e[138373]|0,Kd=zd|4,e[138373]=Kd,$u=Or,Xe=191}else $u=0,Xe=191;while(!1);if((Xe|0)==191&&(Zd=En>>>0<2147483647,Zd&&(js=Pi(En|0)|0,EA=Pi(0)|0,Mr=(js|0)!=-1,jd=(EA|0)!=-1,ap=Mr&jd,Xd=js>>>0>>0,lp=Xd&ap,lp&&(Kl=EA,CA=js,Wl=Kl-CA|0,Zl=Le+40|0,jl=Wl>>>0>Zl>>>0,E2=jl?Wl:$u,jl&&(g6=js,L4=E2,Xe=194)))),(Xe|0)==194){th=e[138370]|0,BA=th+L4|0,e[138370]=BA,ih=e[138371]|0,rh=BA>>>0>ih>>>0,rh&&(e[138371]=BA),z9=e[138268]|0,nh=(z9|0)==0;e:do if(nh){for(Xl=e[138266]|0,oh=(Xl|0)==0,sh=g6>>>0>>0,cp=oh|sh,cp&&(e[138266]=g6),e[138374]=g6,e[138375]=L4,e[138377]=0,ah=e[138380]|0,e[138271]=ah,e[138270]=-1,ka=0;yA=ka<<1,ec=553088+(yA<<2)|0,d0=yA+3|0,Ah=553088+(d0<<2)|0,e[Ah>>2]=ec,n0=yA+2|0,$h=553088+(n0<<2)|0,e[$h>>2]=ec,tc=ka+1|0,tp=(tc|0)==32,!tp;)ka=tc;ic=L4+-40|0,lh=g6+8|0,wA=lh,vA=wA&7,nc=(vA|0)==0,ch=0-wA|0,oc=ch&7,kA=nc?0:oc,gh=g6+kA|0,sc=ic-kA|0,e[138268]=gh,e[138265]=sc,uh=sc|1,j=kA+4|0,dh=g6+j|0,e[dh>>2]=uh,u1=L4+-36|0,hh=g6+u1|0,e[hh>>2]=40,fh=e[138384]|0,e[138269]=fh}else{for(No=553496;;){if(Ac=e[No>>2]|0,SA=No+4|0,Xs=e[SA>>2]|0,$c=Ac+Xs|0,Ih=(g6|0)==($c|0),Ih){E=Ac,Q=SA,B=Xs,gp=No,Xe=204;break}if(lc=No+8|0,cc=e[lc>>2]|0,mh=(cc|0)==0,mh)break;No=cc}if((Xe|0)==204&&(ph=gp+12|0,Eh=e[ph>>2]|0,Ch=Eh&8,Bh=(Ch|0)==0,Bh&&(Qh=z9>>>0>=E>>>0,yh=z9>>>0>>0,ou=yh&Qh,ou))){wh=B+L4|0,e[Q>>2]=wh,vh=e[138265]|0,uc=vh+L4|0,kh=z9+8|0,dc=kh,Sh=dc&7,bh=(Sh|0)==0,hc=0-dc|0,Dh=hc&7,po=bh?0:Dh,fc=z9+po|0,bA=uc-po|0,e[138268]=fc,e[138265]=bA,_h=bA|1,c0=po+4|0,ea=z9+c0|0,e[ea>>2]=_h,s1=uc+4|0,DA=z9+s1|0,e[DA>>2]=40,xh=e[138384]|0,e[138269]=xh;break}for(Ic=e[138266]|0,Lh=g6>>>0>>0,Lh?(e[138266]=g6,Qo=g6):Qo=Ic,Mh=g6+L4|0,Go=553496;;){if(Rh=e[Go>>2]|0,Fh=(Rh|0)==(Mh|0),Fh){I=Go,fr=Go,Xe=212;break}if(Th=Go+8|0,mc=e[Th>>2]|0,Nh=(mc|0)==0,Nh){To=553496;break}else Go=mc}if((Xe|0)==212)if(Gh=fr+12|0,Uh=e[Gh>>2]|0,xA=Uh&8,Ph=(xA|0)==0,Ph){e[I>>2]=g6,LA=fr+4|0,Oh=e[LA>>2]|0,qh=Oh+L4|0,e[LA>>2]=qh,Hh=g6+8|0,pc=Hh,Yh=pc&7,Vh=(Yh|0)==0,Jh=0-pc|0,Kh=Jh&7,ia=Vh?0:Kh,Wh=g6+ia|0,B0=L4+8|0,Zh=g6+B0|0,Ec=Zh,jh=Ec&7,Xh=(jh|0)==0,ef=0-Ec|0,tf=ef&7,E7=Xh?0:tf,_0=E7+L4|0,C7=g6+_0|0,Bc=C7,MA=Wh,rf=Bc-MA|0,$0=ia+Le|0,i7=g6+$0|0,Co=rf-Le|0,nf=Le|3,p0=ia+4|0,of=g6+p0|0,e[of>>2]=nf,sf=(C7|0)==(z9|0);t:do if(sf)af=e[138265]|0,Qc=af+Co|0,e[138265]=Qc,e[138268]=i7,$f=Qc|1,H1=$0+4|0,lf=g6+H1|0,e[lf>>2]=$f;else{if(yc=e[138267]|0,cf=(C7|0)==(yc|0),cf){gf=e[138264]|0,Bo=gf+Co|0,e[138264]=Bo,e[138267]=i7,RA=Bo|1,z1=$0+4|0,uf=g6+z1|0,e[uf>>2]=RA,q1=Bo+$0|0,wc=g6+q1|0,e[wc>>2]=Bo;break}if($1=L4+4|0,K0=$1+E7|0,hf=g6+K0|0,ra=e[hf>>2]|0,ff=ra&3,If=(ff|0)==1,If){vc=ra&-8,kc=ra>>>3,mf=ra>>>0<256;i:do if(mf){U1=E7|8,z0=U1+L4|0,pf=g6+z0|0,yn=e[pf>>2]|0,b1=L4+12|0,J0=b1+E7|0,Ef=g6+J0|0,wn=e[Ef>>2]|0,Bf=kc<<1,Sc=553088+(Bf<<2)|0,Qf=(yn|0)==(Sc|0);do if(!Qf){if(yf=yn>>>0>>0,yf&&v2(),bc=yn+12|0,wf=e[bc>>2]|0,Dc=(wf|0)==(C7|0),Dc)break;v2()}while(!1);if(vf=(wn|0)==(yn|0),vf){FA=1<>>0>>0,bf&&v2(),Lc=wn+8|0,Df=e[Lc>>2]|0,_f=(Df|0)==(C7|0),_f){N=Lc;break}v2()}while(!1);xf=yn+12|0,e[xf>>2]=wn,e[N>>2]=yn}else{R1=E7|24,M0=R1+L4|0,Lf=g6+M0|0,yo=e[Lf>>2]|0,V1=L4+12|0,v0=V1+E7|0,Mf=g6+v0|0,vn=e[Mf>>2]|0,Rf=(vn|0)==(C7|0);do if(Rf){if(j1=E7|16,L0=$1+j1|0,Nc=g6+L0|0,Gc=e[Nc>>2]|0,Uf=(Gc|0)==0,Uf)if(G0=j1+L4|0,Uc=g6+G0|0,Pc=e[Uc>>2]|0,Pf=(Pc|0)==0,Pf){Ri=0;break}else bn=Pc,Ba=Uc;else bn=Gc,Ba=Nc;for(;;){if(Oc=bn+20|0,qc=e[Oc>>2]|0,qf=(qc|0)==0,!qf){bn=qc,Ba=Oc;continue}if(Hc=bn+16|0,Yc=e[Hc>>2]|0,Hf=(Yc|0)==0,Hf){Km=bn,eu=Ba;break}else bn=Yc,Ba=Hc}if(Yf=eu>>>0>>0,Yf)v2();else{e[eu>>2]=0,Ri=Km;break}}else if(F1=E7|8,T0=F1+L4|0,Ff=g6+T0|0,TA=e[Ff>>2]|0,Tf=TA>>>0>>0,Tf&&v2(),NA=TA+12|0,GA=e[NA>>2]|0,Rc=(GA|0)==(C7|0),Rc||v2(),Fc=vn+8|0,Gf=e[Fc>>2]|0,Tc=(Gf|0)==(C7|0),Tc){e[NA>>2]=vn,e[Fc>>2]=TA,Ri=vn;break}else v2();while(!1);if(Vc=(yo|0)==0,Vc)break;S1=L4+28|0,N0=S1+E7|0,UA=g6+N0|0,Jc=e[UA>>2]|0,Wc=553352+(Jc<<2)|0,Vf=e[Wc>>2]|0,Jf=(C7|0)==(Vf|0);do if(Jf){if(e[Wc>>2]=Ri,ep=(Ri|0)==0,!ep)break;zf=1<>>0>>0,Xf&&v2(),Zc=yo+16|0,eI=e[Zc>>2]|0,tI=(eI|0)==(C7|0),tI?e[Zc>>2]=Ri:(iI=yo+20|0,e[iI>>2]=Ri),jc=(Ri|0)==0,jc)break i;while(!1);Xc=e[138266]|0,rI=Ri>>>0>>0,rI&&v2(),eg=Ri+24|0,e[eg>>2]=yo,D1=E7|16,U0=D1+L4|0,OA=g6+U0|0,na=e[OA>>2]|0,tg=(na|0)==0;do if(!tg)if(oI=na>>>0>>0,oI)v2();else{sI=Ri+16|0,e[sI>>2]=na,aI=na+24|0,e[aI>>2]=Ri;break}while(!1);if(V0=$1+D1|0,ig=g6+V0|0,oa=e[ig>>2]|0,AI=(oa|0)==0,AI)break;if($I=e[138266]|0,lI=oa>>>0<$I>>>0,lI)v2();else{cI=Ri+20|0,e[cI>>2]=oa,gI=oa+24|0,e[gI>>2]=Ri;break}}while(!1);s2=vc|E7,F0=s2+L4|0,dI=g6+F0|0,hI=vc+Co|0,nu=dI,n7=hI}else nu=C7,n7=Co;if(rg=nu+4|0,fI=e[rg>>2]|0,II=fI&-2,e[rg>>2]=II,mI=n7|1,b0=$0+4|0,pI=g6+b0|0,e[pI>>2]=mI,y0=n7+$0|0,sa=g6+y0|0,e[sa>>2]=n7,ng=n7>>>3,EI=n7>>>0<256,EI){kn=ng<<1,og=553088+(kn<<2)|0,sg=e[138262]|0,qA=1<>2]|0,yI=e[138266]|0,vI=$g>>>0>>0,!vI){R=Ag,o$=$g;break}v2()}while(!1);e[R>>2]=i7,kI=o$+12|0,e[kI>>2]=i7,w1=$0+8|0,SI=g6+w1|0,e[SI>>2]=o$,v1=$0+12|0,aa=g6+v1|0,e[aa>>2]=og;break}HA=n7>>>8,bI=(HA|0)==0;do if(bI)Nr=0;else{if(DI=n7>>>0>16777215,DI){Nr=31;break}_I=HA+1048320|0,xI=_I>>>16,lg=xI&8,cg=HA<>>16,gg=RI&4,Rr=gg|lg,ug=cg<>>16,hg=FI&2,Aa=Rr|hg,NI=14-Aa|0,GI=ug<>>15,fg=NI+$a|0,UI=fg<<1,PI=fg+7|0,Ig=n7>>>PI,OI=Ig&1,qI=OI|UI,Nr=qI}while(!1);if(YA=553352+(Nr<<2)|0,k0=$0+28|0,HI=g6+k0|0,e[HI>>2]=Nr,Z0=$0+16|0,YI=g6+Z0|0,P0=$0+20|0,VI=g6+P0|0,e[VI>>2]=0,e[YI>>2]=0,mg=e[138263]|0,pg=1<>2]=i7,o1=$0+24|0,wo=g6+o1|0,e[wo>>2]=YA,i1=$0+12|0,KI=g6+i1|0,e[KI>>2]=i7,n1=$0+8|0,WI=g6+n1|0,e[WI>>2]=i7;break}VA=e[YA>>2]|0,Bg=VA+4|0,ZI=e[Bg>>2]|0,jI=ZI&-8,XI=(jI|0)==(n7|0);i:do if(XI)Gr=VA;else{for(em=(Nr|0)==31,Qg=Nr>>>1,tm=25-Qg|0,im=em?0:tm,rm=n7<>>31,Sg=(c$+16|0)+(kg<<2)|0,vo=e[Sg>>2]|0,_7=(vo|0)==0,_7){a=Sg,jm=c$;break}if(nm=xo<<1,om=vo+4|0,wg=e[om>>2]|0,vg=wg&-8,sm=(vg|0)==(n7|0),sm){Gr=vo;break i}else xo=nm,c$=vo}if(gr=e[138266]|0,am=a>>>0>>0,am)v2();else{e[a>>2]=i7,Q1=$0+24|0,Am=g6+Q1|0,e[Am>>2]=jm,p1=$0+12|0,$m=g6+p1|0,e[$m>>2]=i7,B1=$0+8|0,lm=g6+B1|0,e[lm>>2]=i7;break t}}while(!1);if(JA=Gr+8|0,ga=e[JA>>2]|0,Dg=e[138266]|0,_g=ga>>>0>=Dg>>>0,u$=Gr>>>0>=Dg>>>0,cm=_g&u$,cm){ko=ga+12|0,e[ko>>2]=i7,e[JA>>2]=i7,j0=$0+8|0,gm=g6+j0|0,e[gm>>2]=ga,E1=$0+12|0,da=g6+E1|0,e[da>>2]=Gr,I1=$0+24|0,zA=g6+I1|0,e[zA>>2]=0;break}else v2()}while(!1);return g1=ia|8,um=g6+g1|0,tt=um,tt|0}else To=553496;for(;;){if(KA=e[To>>2]|0,dm=KA>>>0>z9>>>0,!dm&&(hm=To+4|0,xg=e[hm>>2]|0,ha=KA+xg|0,fm=ha>>>0>z9>>>0,fm)){g=KA,h=xg,m=ha;break}Im=To+8|0,mm=e[Im>>2]|0,To=mm}if(u0=h+-47|0,h0=h+-39|0,pm=g+h0|0,Mg=pm,Em=Mg&7,ri=(Em|0)==0,_e=0-Mg|0,r7=_e&7,Cm=ri?0:r7,c1=u0+Cm|0,Fg=g+c1|0,WA=z9+16|0,Bm=Fg>>>0>>0,Fr=Bm?z9:Fg,So=Fr+8|0,Qm=L4+-40|0,ym=g6+8|0,Tg=ym,ZA=Tg&7,wm=(ZA|0)==0,Gg=0-Tg|0,Ug=Gg&7,jA=wm?0:Ug,XA=g6+jA|0,Pg=Qm-jA|0,e[138268]=XA,e[138265]=Pg,bo=Pg|1,t0=jA+4|0,e$=g6+t0|0,e[e$>>2]=bo,A1=L4+-36|0,Og=g6+A1|0,e[Og>>2]=40,vm=e[138384]|0,e[138269]=vm,Sn=Fr+4|0,e[Sn>>2]=27,e[So>>2]=e[138374]|0,e[So+4>>2]=e[138375]|0,e[So+8>>2]=e[138376]|0,e[So+12>>2]=e[138377]|0,e[138374]=g6,e[138375]=L4,e[138377]=0,e[138376]=So,qg=Fr+28|0,e[qg>>2]=7,fa=Fr+32|0,Sm=fa>>>0>>0,Sm)for(x7=qg;Hg=x7+4|0,e[Hg>>2]=7,bm=x7+8|0,Dm=bm>>>0>>0,Dm;)x7=Hg;if(_m=(Fr|0)==(z9|0),!_m){if(xm=Fr,Lm=z9,L7=xm-Lm|0,Rm=e[Sn>>2]|0,Fm=Rm&-2,e[Sn>>2]=Fm,Tm=L7|1,Yg=z9+4|0,e[Yg>>2]=Tm,e[Fr>>2]=L7,B7=L7>>>3,Ia=L7>>>0<256,Ia){t$=B7<<1,Vg=553088+(t$<<2)|0,Jg=e[138262]|0,zg=1<>2]|0,Pm=e[138266]|0,Om=Zg>>>0>>0,Om?v2():(L=Wg,r$=Zg)),e[L>>2]=z9,jg=r$+12|0,e[jg>>2]=z9,qm=z9+8|0,e[qm>>2]=r$,ma=z9+12|0,e[ma>>2]=Vg;break}if(pa=L7>>>8,Hm=(pa|0)==0,Hm?ur=0:(i$=L7>>>0>16777215,i$?ur=31:(Ym=pa+1048320|0,Vm=Ym>>>16,Xg=Vm&8,_o=pa<>>16,l2=zm&4,r2=l2|Xg,A2=_o<>>16,f2=o2&2,t2=r2|f2,k2=14-t2|0,D2=A2<>>15,N2=k2+S2|0,L2=N2<<1,U2=N2+7|0,m2=L7>>>U2,W2=m2&1,P2=W2|L2,ur=P2)),V2=553352+(ur<<2)|0,G2=z9+28|0,e[G2>>2]=ur,q2=z9+20|0,e[q2>>2]=0,e[WA>>2]=0,Z2=e[138263]|0,H2=1<>2]=z9,i5=z9+24|0,e[i5>>2]=V2,x5=z9+12|0,e[x5>>2]=z9,j2=z9+8|0,e[j2>>2]=z9;break}I5=e[V2>>2]|0,b5=I5+4|0,Y5=e[b5>>2]|0,b2=Y5&-8,B5=(b2|0)==(L7|0);t:do if(B5)ya=I5;else{for(s5=(ur|0)==31,R2=ur>>>1,M2=25-R2|0,y2=s5?0:M2,Q5=L7<>>31,u5=(g$+16|0)+($5<<2)|0,L5=e[u5>>2]|0,y5=(L5|0)==0,y5){$=u5,iu=g$;break}if(N5=A$<<1,m5=L5+4|0,M5=e[m5>>2]|0,Y2=M5&-8,p5=(Y2|0)==(L7|0),p5){ya=L5;break t}else A$=N5,g$=L5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=z9,d5=z9+24|0,e[d5>>2]=iu,l5=z9+12|0,e[l5>>2]=z9,g2=z9+8|0,e[g2>>2]=z9;break e}}while(!1);if(w5=ya+8|0,r5=e[w5>>2]|0,a5=e[138266]|0,h5=r5>>>0>=a5>>>0,ip=ya>>>0>=a5>>>0,z2=h5&ip,z2){f5=r5+12|0,e[f5>>2]=z9,e[w5>>2]=z9,n5=z9+8|0,e[n5>>2]=r5,R5=z9+12|0,e[R5>>2]=ya,e5=z9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return J5=F2-Le|0,e[138265]=J5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=J5|1,Z=Le+4|0,h3=i3+Z|0,e[h3>>2]=I3,K5=Le|3,r3=i3+4|0,e[r3>>2]=K5,a3=i3+8|0,tt=a3,tt|0}return G5=aQ()|0,e[G5>>2]=12,tt=0,tt|0}function p2(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){q=t+-8|0,W2=e[138266]|0,v6=q>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,ie=f9&3,Ge=(ie|0)==1,Ge&&v2(),W9=f9&-8,Q=W9+-8|0,re=t+Q|0,d0=f9&1,n0=(d0|0)==0;do if(n0){if(_0=e[q>>2]|0,L0=(ie|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+W9|0,S1=x0>>>0>>0,S1&&v2(),q1=e[138267]|0,s2=(x0|0)==(q1|0),s2){if(X=W9+-4|0,c0=t+X|0,$0=e[c0>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){W3=x0,x9=j0;break}e[138264]=j0,I0=$0&-2,e[c0>>2]=I0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[re>>2]=j0;return}if(o2=_0>>>3,P2=_0>>>0<256,P2){if(K=y+8|0,x5=t+K|0,y2=e[x5>>2]|0,a0=y+12|0,y5=t+a0|0,z2=e[y5>>2]|0,I3=o2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),d6=y2+12|0,L3=e[d6>>2]|0,K6=(L3|0)==(x0|0),K6||v2()),e9=(z2|0)==(y2|0),e9){V6=1<>>0>>0,T6&&v2(),i9=z2+8|0,O6=e[i9>>2]|0,U3=(O6|0)==(x0|0),U3?g=i9:v2()),q6=y2+12|0,e[q6>>2]=z2,e[g>>2]=y2,W3=x0,x9=j0;break}M=y+24|0,a9=t+M|0,d9=e[a9>>2]|0,L=y+12|0,o9=t+L|0,B9=e[o9>>2]|0,Q9=(B9|0)==(x0|0);do if(Q9){if(F=y+20|0,ue=t+F|0,Ee=e[ue>>2]|0,V9=(Ee|0)==0,V9)if(R=y+16|0,F9=t+R|0,v9=e[F9>>2]|0,W6=(v9|0)==0,W6){S9=0;break}else Pe=v9,S4=F9;else Pe=Ee,S4=ue;for(;;){if($9=Pe+20|0,ve=e[$9>>2]|0,Re=(ve|0)==0,!Re){Pe=ve,S4=$9;continue}if(de=Pe+16|0,_9=e[de>>2]|0,Fe=(_9|0)==0,Fe){m4=Pe,be=S4;break}else Pe=_9,S4=de}if(Te=be>>>0>>0,Te)v2();else{e[be>>2]=0,S9=m4;break}}else if(V=y+8|0,y9=t+V|0,h9=e[y9>>2]|0,H9=h9>>>0>>0,H9&&v2(),y6=h9+12|0,H6=e[y6>>2]|0,A9=(H6|0)==(x0|0),A9||v2(),Y9=B9+8|0,w9=e[Y9>>2]|0,we=(w9|0)==(x0|0),we){e[y6>>2]=B9,e[Y9>>2]=h9,S9=B9;break}else v2();while(!1);if(He=(d9|0)==0,He)W3=x0,x9=j0;else{if(T=y+28|0,o4=t+T|0,ke=e[o4>>2]|0,Ye=553352+(ke<<2)|0,J9=e[Ye>>2]|0,Ve=(x0|0)==(J9|0),Ve){if(e[Ye>>2]=S9,pe=(S9|0)==0,pe){he=1<>>0>>0,k4&&v2(),Y4=d9+16|0,nt=e[Y4>>2]|0,Je=(nt|0)==(x0|0),Je?e[Y4>>2]=S9:(V4=d9+20|0,e[V4>>2]=S9),ze=(S9|0)==0,ze){W3=x0,x9=j0;break}s4=e[138266]|0,R4=S9>>>0>>0,R4&&v2(),ot=S9+24|0,e[ot>>2]=d9,N=y+16|0,d4=t+N|0,Be=e[d4>>2]|0,N6=(Be|0)==0;do if(!N6)if(Ke=Be>>>0>>0,Ke)v2();else{P9=S9+16|0,e[P9>>2]=Be,fe=Be+24|0,e[fe>>2]=S9;break}while(!1);if(G=y+20|0,Ne=t+G|0,h4=e[Ne>>2]|0,ne=(h4|0)==0,ne)W3=x0,x9=j0;else if(f4=e[138266]|0,t0=h4>>>0>>0,t0)v2();else{j=S9+20|0,e[j>>2]=h4,u0=h4+24|0,e[u0>>2]=S9,W3=x0,x9=j0;break}}}else W3=q,x9=W9;while(!1);if(h0=W3>>>0>>0,h0||v2(),D=W9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(re|0)==(y0|0),w0){if(B0=e[138265]|0,K0=B0+x9|0,e[138265]=K0,e[138268]=W3,M0=K0|1,v0=W3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(W3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(re|0)==(U0|0),O0){k0=e[138264]|0,V0=k0+x9|0,e[138264]=V0,e[138267]=W3,F0=V0|1,G0=W3+4|0,e[G0>>2]=F0,z0=W3+V0|0,e[z0>>2]=V0;return}J0=C0&-8,q0=J0+x9|0,Z0=C0>>>3,P0=C0>>>0<256;do if(P0){if(H0=t+W9|0,o1=e[H0>>2]|0,w=W9|4,Y0=t+w|0,i1=e[Y0>>2]|0,n1=Z0<<1,d1=553088+(n1<<2)|0,g1=(o1|0)==(d1|0),g1||(m1=e[138266]|0,h1=o1>>>0>>0,h1&&v2(),u1=o1+12|0,A1=e[u1>>2]|0,c1=(A1|0)==(re|0),c1||v2()),s1=(i1|0)==(o1|0),s1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(re|0),L1?$=v1:v2()),M1=o1+12|0,e[M1>>2]=i1,e[$>>2]=o1}else{W=W9+16|0,D1=t+W|0,R1=e[D1>>2]|0,r0=W9|4,F1=t+r0|0,U1=e[F1>>2]|0,b1=(U1|0)==(re|0);do if(b1){if(J=W9+12|0,j1=t+J|0,O1=e[j1>>2]|0,c2=(O1|0)==0,c2)if(s0=W9+8|0,W1=t+s0|0,h2=e[W1>>2]|0,E2=(h2|0)==0,E2){Ie=0;break}else f6=h2,me=W1;else f6=O1,me=j1;for(;;){if(a2=f6+20|0,K1=e[a2>>2]|0,d2=(K1|0)==0,!d2){f6=K1,me=a2;continue}if($2=f6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){J4=f6,z6=me;break}else f6=i2,me=$2}if(r2=e[138266]|0,A2=z6>>>0>>0,A2)v2();else{e[z6>>2]=0,Ie=J4;break}}else if(P1=t+W9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),z1=Z1+12|0,H1=e[z1>>2]|0,Y1=(H1|0)==(re|0),Y1||v2(),V1=U1+8|0,X1=e[V1>>2]|0,n2=(X1|0)==(re|0),n2){e[z1>>2]=U1,e[V1>>2]=Z1,Ie=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=W9+20|0,f2=t+S|0,t2=e[f2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(re|0)==(D2|0),S2){if(e[k2>>2]=Ie,xe=(Ie|0)==0,xe){Q2=1<>>0>>0,V2&&v2(),G2=R1+16|0,q2=e[G2>>2]|0,Z2=(q2|0)==(re|0),Z2?e[G2>>2]=Ie:(A5=R1+20|0,e[A5>>2]=Ie),H2=(Ie|0)==0,H2)break;N1=e[138266]|0,t5=Ie>>>0>>0,t5&&v2(),T5=Ie+24|0,e[T5>>2]=R1,b=W9+8|0,i5=t+b|0,j2=e[i5>>2]|0,I5=(j2|0)==0;do if(!I5)if(b5=j2>>>0>>0,b5)v2();else{Y5=Ie+16|0,e[Y5>>2]=j2,g5=j2+24|0,e[g5>>2]=Ie;break}while(!1);if(v=W9+12|0,b2=t+v|0,B5=e[b2>>2]|0,s5=(B5|0)==0,!s5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=Ie+20|0,e[Q5>>2]=B5,N5=B5+24|0,e[N5>>2]=Ie;break}}}while(!1);if(m5=q0|1,L5=W3+4|0,e[L5>>2]=m5,q5=W3+q0|0,e[q5>>2]=q0,M5=e[138267]|0,Y2=(W3|0)==(M5|0),Y2){e[138264]=q0;return}else b9=q0}else p5=C0&-2,e[p0>>2]=p5,$5=x9|1,u5=W3+4|0,e[u5>>2]=$5,T1=W3+x9|0,e[T1>>2]=x9,b9=x9;if(D5=b9>>>3,d5=b9>>>0<256,d5){l5=D5<<1,X2=553088+(l5<<2)|0,g2=e[138262]|0,w5=1<>2]|0,R5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(h=f5,I4=n5)),e[h>>2]=W3,c5=I4+12|0,e[c5>>2]=W3,F2=W3+8|0,e[F2>>2]=I4,v5=W3+12|0,e[v5>>2]=X2;return}J5=b9>>>8,i3=(J5|0)==0,i3?Se=0:(E5=b9>>>0>16777215,E5?Se=31:(h3=J5+1048320|0,K5=h3>>>16,r3=K5&8,a3=J5<>>16,W5=G5&4,D3=W5|r3,f3=a3<>>16,X5=q3&2,b3=D3|X5,t3=14-b3|0,s6=f3<>>15,H3=t3+T3|0,c3=H3<<1,g3=H3+7|0,u3=b9>>>g3,z5=u3&1,H5=z5|c3,Se=H5)),V5=553352+(Se<<2)|0,S5=W3+28|0,e[S5>>2]=Se,Y3=W3+16|0,U5=W3+20|0,e[U5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=W3,_3=W3+24|0,e[_3>>2]=V5,S3=W3+12|0,e[S3>>2]=W3,a6=W3+8|0,e[a6>>2]=W3;else{i6=e[V5>>2]|0,V3=i6+4|0,Z5=e[V3>>2]|0,x3=Z5&-8,d3=(x3|0)==(b9|0);t:do if(d3)F4=i6;else{for(J3=(Se|0)==31,m3=Se>>>1,L6=25-m3|0,M6=J3?0:L6,R6=b9<>>31,o6=(T4+16|0)+(n6<<2)|0,h6=e[o6>>2]|0,C6=(h6|0)==0,C6){o=o6,st=T4;break}if(S6=a4<<1,r6=h6+4|0,b6=e[r6>>2]|0,G6=b6&-8,X6=(G6|0)==(b9|0),X6){F4=h6;break t}else a4=S6,T4=h6}if(z3=e[138266]|0,M3=o>>>0>>0,M3)v2();else{e[o>>2]=W3,K3=W3+24|0,e[K3>>2]=st,e6=W3+12|0,e[e6>>2]=W3,F6=W3+8|0,e[F6>>2]=W3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){R3=o3+12|0,e[R3>>2]=W3,e[l6>>2]=W3,Y6=W3+8|0,e[Y6>>2]=o3,A6=W3+12|0,e[A6>>2]=F4,D6=W3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(U6=e[138270]|0,t9=U6+-1|0,e[138270]=t9,Q6=(t9|0)==0,Q6)A4=553504;else return;for(;Oe=e[A4>>2]|0,G3=(Oe|0)==0,n9=Oe+8|0,!G3;)A4=n9;e[138270]=-1}}function ce(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=R9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,h=w&3,m=(h|0)==0,m)||u4(S|0,0,D|0)|0,S|0}function K7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0;return K=C,a=(t|0)==0,a?($=R9(o)|0,V=$,V|0):(w=o>>>0>4294967231,w?(M=aQ()|0,e[M>>2]=12,V=0,V|0):(L=o>>>0<11,R=o+11|0,F=R&-8,T=L?16:F,N=t+-8|0,G=$D(N,T)|0,g=(G|0)==0,g?(m=R9(o)|0,I=(m|0)==0,I?(V=0,V|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ge(m|0,t|0,x|0)|0,p2(t),V=m,V|0)):(h=G+8|0,V=h,V|0)))}function $D(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0;if(W5=C,N=t+4|0,G=e[N>>2]|0,b1=G&-8,n2=t+b1|0,$2=e[138266]|0,S2=G&3,I3=t>>>0>=$2>>>0,h3=(S2|0)!=1,K5=h3&I3,Z2=t>>>0>>0,r3=K5&Z2,r3||v2(),x=b1|4,Y5=t+x|0,L5=e[Y5>>2]|0,l5=L5&1,V=(l5|0)==0,V&&v2(),t0=(S2|0)==0,t0)return h0=o>>>0<256,h0?(E5=0,E5|0):(K0=o+4|0,G0=b1>>>0>>0,!G0&&(n1=b1-o|0,E1=e[138382]|0,D1=E1<<1,F1=n1>>>0>D1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=b1>>>0>>0,!U1)return P1=b1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=G&1,z1=x1|o,q1=z1|2,e[N>>2]=q1,y=o+4|0,H1=t+y|0,Y1=P1|3,e[H1>>2]=Y1,V1=e[Y5>>2]|0,X1=V1|1,e[Y5>>2]=X1,NQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(n2|0)==(j1|0),O1)return c2=e[138265]|0,W1=c2+b1|0,h2=W1>>>0>o>>>0,h2?(s2=W1-o|0,E2=t+o|0,a2=G&1,K1=a2|o,d2=K1|2,e[N>>2]=d2,D=o+4|0,i2=t+D|0,l2=s2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,A2=(n2|0)==(r2|0),A2)return e2=e[138264]|0,o2=e2+b1|0,f2=o2>>>0>>0,f2?(E5=0,E5|0):(t2=o2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+o2|0,N2=G&1,L2=N2|o,U2=L2|2,e[N>>2]=U2,b=o+4|0,m2=t+b|0,W2=t2|1,e[m2>>2]=W2,e[Q2>>2]=t2,w=o2+4|0,P2=t+w|0,V2=e[P2>>2]|0,G2=V2&-2,e[P2>>2]=G2,a3=D2,B3=t2):(q2=G&1,A5=q2|o2,H2=A5|2,e[N>>2]=H2,S=o2+4|0,N1=t+S|0,t5=e[N1>>2]|0,T5=t5|1,e[N1>>2]=T5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(i5=L5&2,x5=(i5|0)==0,!x5||(j2=L5&-8,I5=j2+b1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=L5>>>3,B5=L5>>>0<256;do if(B5){if(Q=b1+8|0,s5=t+Q|0,R2=e[s5>>2]|0,B=b1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,N5=553088+(Q5<<2)|0,m5=(R2|0)==(N5|0),m5||(q5=R2>>>0<$2>>>0,q5&&v2(),M5=R2+12|0,Y2=e[M5>>2]|0,p5=(Y2|0)==(n2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0<$2>>>0,X2&&v2(),g2=y2+8|0,w5=e[g2>>2]|0,r5=(w5|0)==(n2|0),r5?$=g2:v2()),a5=R2+12|0,e[a5>>2]=y2,e[$>>2]=R2}else{g=b1+24|0,h5=t+g|0,z2=e[h5>>2]|0,v=b1+12|0,f5=t+v|0,n5=e[f5>>2]|0,R5=(n5|0)==(n2|0);do if(R5){if(L=b1+20|0,d0=t+L|0,j=e[d0>>2]|0,u0=(j|0)==0,u0)if(M=b1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else e5=$0,v5=c0;else e5=j,v5=d0;for(;;){if(Z=e5+20|0,I0=e[Z>>2]|0,g0=(I0|0)==0,!g0){e5=I0,v5=Z;continue}if(f0=e5+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=e5,J5=v5;break}else e5=n0,v5=f0}if(C0=J5>>>0<$2>>>0,C0)v2();else{e[J5>>2]=0,F2=c5;break}}else if(E=b1+8|0,X=t+E|0,K=e[X>>2]|0,a0=K>>>0<$2>>>0,a0&&v2(),W=K+12|0,r0=e[W>>2]|0,s0=(r0|0)==(n2|0),s0||v2(),J=n5+8|0,o0=e[J>>2]|0,q=(o0|0)==(n2|0),q){e[W>>2]=n5,e[J>>2]=K,F2=n5;break}else v2();while(!1);if(S0=(z2|0)==0,!S0){if(h=b1+28|0,Q0=t+h|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(n2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),U0=z2+16|0,O0=e[U0>>2]|0,k0=(O0|0)==(n2|0),k0?e[U0>>2]=F2:(V0=z2+20|0,e[V0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,z0=F2>>>0>>0,z0&&v2(),J0=F2+24|0,e[J0>>2]=z2,m=b1+16|0,q0=t+m|0,Z0=e[q0>>2]|0,P0=(Z0|0)==0;do if(!P0)if(H0=Z0>>>0>>0,H0)v2();else{o1=F2+16|0,e[o1>>2]=Z0,Y0=Z0+24|0,e[Y0>>2]=F2;break}while(!1);if(I=b1+20|0,i1=t+I|0,x0=e[i1>>2]|0,d1=(x0|0)==0,!d1)if(g1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{h1=F2+20|0,e[h1>>2]=x0,u1=x0+24|0,e[u1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(c1=G&1,s1=I5|c1,$1=s1|2,e[N>>2]=$1,T=I5|4,j0=t+T|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=G&1,w1=B1|o,v1=w1|2,e[N>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,S1=e[M1>>2]|0,R1=S1|1,e[M1>>2]=R1,NQ(p1,g5),E5=t,E5|0)}function NQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,d1=0,g1=0,m1=0,h1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,h2=0,s2=0,E2=0,a2=0,K1=0,d2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0;be=C,j=t+o|0,u0=t+4|0,q2=e[u0>>2]|0,C6=q2&1,e9=(C6|0)==0;do if(e9){if(O6=e[t>>2]|0,H9=q2&3,F9=(H9|0)==0,F9)return;if(He=0-O6|0,k9=t+He|0,c0=O6+o|0,S0=e[138266]|0,T0=k9>>>0>>0,T0&&v2(),q0=e[138267]|0,m1=(k9|0)==(q0|0),m1){if(v=o+4|0,re=t+v|0,$0=e[re>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){a=k9,$=c0;break}e[138264]=c0,I0=$0&-2,e[re>>2]=I0,g0=c0|1,L=4-O6|0,f0=t+L|0,e[f0>>2]=g0,e[j>>2]=c0;return}if(p1=O6>>>3,U1=O6>>>0<256,U1){if(W=8-O6|0,X1=t+W|0,d2=e[X1>>2]|0,r0=12-O6|0,D2=t+r0|0,Z2=e[D2>>2]|0,Y5=p1<<1,L5=553088+(Y5<<2)|0,l5=(d2|0)==(L5|0),l5||(e5=d2>>>0>>0,e5&&v2(),a3=d2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(k9|0),S5||v2()),a6=(Z2|0)==(d2|0),a6){R6=1<>>0>>0,Y6&&v2(),A6=Z2+8|0,D6=e[A6>>2]|0,U6=(D6|0)==(k9|0),U6?E=A6:v2()),t9=d2+12|0,e[t9>>2]=Z2,e[E>>2]=d2,a=k9,$=c0;break}R=24-O6|0,Q6=t+R|0,G3=e[Q6>>2]|0,F=12-O6|0,n9=t+F|0,V6=e[n9>>2]|0,s9=(V6|0)==(k9|0);do if(s9){if(T=16-O6|0,N=T+4|0,d9=t+N|0,o9=e[d9>>2]|0,B9=(o9|0)==0,B9)if(Q9=t+T|0,y9=e[Q9>>2]|0,h9=(y9|0)==0,h9){fe=0;break}else Ke=y9,f4=Q9;else Ke=o9,f4=d9;for(;;){if(f9=Ke+20|0,y6=e[f9>>2]|0,H6=(y6|0)==0,!H6){Ke=y6,f4=f9;continue}if(A9=Ke+16|0,Y9=e[A9>>2]|0,w9=(Y9|0)==0,w9){P9=Ke,I4=f4;break}else Ke=Y9,f4=A9}if(we=I4>>>0>>0,we)v2();else{e[I4>>2]=0,fe=P9;break}}else if(a0=8-O6|0,c9=t+a0|0,P6=e[c9>>2]|0,J6=P6>>>0>>0,J6&&v2(),T6=P6+12|0,i9=e[T6>>2]|0,_6=(i9|0)==(k9|0),_6||v2(),U3=V6+8|0,q6=e[U3>>2]|0,a9=(q6|0)==(k9|0),a9){e[T6>>2]=V6,e[U3>>2]=P6,fe=V6;break}else v2();while(!1);if(ue=(G3|0)==0,ue)a=k9,$=c0;else{if(V=28-O6|0,Ee=t+V|0,V9=e[Ee>>2]|0,ie=553352+(V9<<2)|0,v9=e[ie>>2]|0,W6=(k9|0)==(v9|0),W6){if(e[ie>>2]=fe,f6=(fe|0)==0,f6){$9=1<>>0<_9>>>0,Fe&&v2(),Te=G3+16|0,Ge=e[Te>>2]|0,o4=(Ge|0)==(k9|0),o4?e[Te>>2]=fe:(ke=G3+20|0,e[ke>>2]=fe),Ye=(fe|0)==0,Ye){a=k9,$=c0;break}J9=e[138266]|0,Ve=fe>>>0>>0,Ve&&v2(),he=fe+24|0,e[he>>2]=G3,X=16-O6|0,Ue=t+X|0,Ce=e[Ue>>2]|0,v4=(Ce|0)==0;do if(!v4)if(W9=Ce>>>0>>0,W9)v2();else{k4=fe+16|0,e[k4>>2]=Ce,Y4=Ce+24|0,e[Y4>>2]=fe;break}while(!1);if(K=X+4|0,nt=t+K|0,Je=e[nt>>2]|0,V4=(Je|0)==0,V4)a=k9,$=c0;else if(ze=e[138266]|0,s4=Je>>>0>>0,s4)v2();else{R4=fe+20|0,e[R4>>2]=Je,ot=Je+24|0,e[ot>>2]=fe,a=k9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,h0=j>>>0>>0,h0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(j|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,K0=a+4|0,e[K0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(j|0)==(N0|0),U0){O0=e[138264]|0,k0=O0+$|0,e[138264]=k0,e[138267]=a,V0=k0|1,F0=a+4|0,e[F0>>2]=V0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,z0=G0+$|0,J0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,P0=t+x|0,H0=e[P0>>2]|0,M=o+12|0,o1=t+M|0,Y0=e[o1>>2]|0,i1=J0<<1,x0=553088+(i1<<2)|0,n1=(H0|0)==(x0|0),n1||(d1=H0>>>0>>0,d1&&v2(),g1=H0+12|0,h1=e[g1>>2]|0,u1=(h1|0)==(j|0),u1||v2()),A1=(Y0|0)==(H0|0),A1){c1=1<>>0>>0,I1&&v2(),Q1=Y0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(j|0),w1?I=Q1:v2()),v1=H0+12|0,e[v1>>2]=Y0,e[I>>2]=H0}else{G=o+24|0,k1=t+G|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,S1=e[M1>>2]|0,D1=(S1|0)==(j|0);do if(D1){if(o0=o+20|0,H1=t+o0|0,Y1=e[H1>>2]|0,V1=(Y1|0)==0,V1)if(J=o+16|0,n2=t+J|0,j1=e[n2>>2]|0,O1=(j1|0)==0,O1){ne=0;break}else Ne=j1,Se=n2;else Ne=Y1,Se=H1;for(;;){if(c2=Ne+20|0,W1=e[c2>>2]|0,h2=(W1|0)==0,!h2){Ne=W1,Se=c2;continue}if(s2=Ne+16|0,E2=e[s2>>2]|0,a2=(E2|0)==0,a2){h4=Ne,a4=Se;break}else Ne=E2,Se=s2}if(K1=a4>>>0>>0,K1)v2();else{e[a4>>2]=0,ne=h4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,b1=F1>>>0>>0,b1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(j|0),G1||v2(),x1=S1+8|0,z1=e[x1>>2]|0,q1=(z1|0)==(j|0),q1){e[P1>>2]=S1,e[x1>>2]=F1,ne=S1;break}else v2();while(!1);if($2=(L1|0)==0,!$2){if(d0=o+28|0,i2=t+d0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,A2=e[r2>>2]|0,e2=(j|0)==(A2|0),e2){if(e[r2>>2]=ne,J4=(ne|0)==0,J4){o2=1<>>0>>0,Q2&&v2(),N2=L1+16|0,L2=e[N2>>2]|0,U2=(L2|0)==(j|0),U2?e[N2>>2]=ne:(m2=L1+20|0,e[m2>>2]=ne),W2=(ne|0)==0,W2)break;P2=e[138266]|0,V2=ne>>>0>>0,V2&&v2(),G2=ne+24|0,e[G2>>2]=L1,t0=o+16|0,A5=t+t0|0,H2=e[A5>>2]|0,N1=(H2|0)==0;do if(!N1)if(t5=H2>>>0>>0,t5)v2();else{T5=ne+16|0,e[T5>>2]=H2,i5=H2+24|0,e[i5>>2]=ne;break}while(!1);if(D=o+20|0,x5=t+D|0,j2=e[x5>>2]|0,I5=(j2|0)==0,!I5)if(b5=e[138266]|0,g5=j2>>>0>>0,g5)v2();else{b2=ne+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=ne;break}}}while(!1);if(s5=z0|1,R2=a+4|0,e[R2>>2]=s5,M2=a+z0|0,e[M2>>2]=z0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=z0;return}else g=z0}else N5=C0&-2,e[p0>>2]=N5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,M5=a+$|0,e[M5>>2]=$,g=$;if(Y2=g>>>3,p5=g>>>0<256,p5){$5=Y2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=w5>>>0>>0,a5?v2():(Q=g2,d4=w5)),e[Q>>2]=a,h5=d4+12|0,e[h5>>2]=a,z2=a+8|0,e[z2>>2]=d4,f5=a+12|0,e[f5>>2]=u5;return}if(n5=g>>>8,R5=(n5|0)==0,R5?Be=0:(c5=g>>>0>16777215,c5?Be=31:(F2=n5+1048320|0,v5=F2>>>16,J5=v5&8,i3=n5<>>16,h3=I3&4,K5=h3|J5,r3=i3<>>16,W5=G5&2,D3=K5|W5,f3=14-D3|0,y3=r3<>>15,q3=f3+X3|0,X5=q3<<1,b3=q3+7|0,s6=g>>>b3,T3=s6&1,H3=T3|X5,Be=H3)),c3=553352+(Be<<2)|0,g3=a+28|0,e[g3>>2]=Be,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,z5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}N3=e[c3>>2]|0,E6=N3+4|0,k3=e[E6>>2]|0,_3=k3&-8,S3=(_3|0)==(g|0);e:do if(S3)Pe=N3;else{for(i6=(Be|0)==31,V3=Be>>>1,Z5=25-V3|0,x3=i6?0:Z5,d3=g<>>31,h6=(m4+16|0)+(r6<<2)|0,m3=e[h6>>2]|0,b6=(m3|0)==0,b6){h=h6,S9=m4;break}if(J3=N6<<1,d6=m3+4|0,L6=e[d6>>2]|0,M6=L6&-8,S6=(M6|0)==(g|0),S6){Pe=m3;break e}else N6=J3,m4=m3}G6=e[138266]|0,X6=h>>>0>>0,X6&&v2(),e[h>>2]=a,v6=a+24|0,e[v6>>2]=S9,L3=a+12|0,e[L3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Pe+8|0,M3=e[o6>>2]|0,K3=e[138266]|0,e6=M3>>>0>=K3>>>0,Ie=Pe>>>0>=K3>>>0,F6=e6&Ie,F6||v2(),l6=M3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=M3,K6=a+12|0,e[K6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function lD(){e[6410]=K9}function u4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,h=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(h|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function nl(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function GQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(nl(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function UQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,h=o+$+(g>>>0>>0|0)>>>0,j6=h,g|0|0}function ns(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(j6=0,o>>>a-32|0)}function ge(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return ES(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function oA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ge(t,o,a)|0;return t|0}function kC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function os(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return g=t-a>>>0,h=o-$>>>0,h=o-$-(a>>>0>t>>>0|0)>>>0,j6=h,g|0|0}function q_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(j6=(o|0)<0?-1:0,o>>a-32|0)}function PQ(t){t=t|0;var o=0;return o=f[G9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[G9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[G9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[G9+(t>>>24)>>0]|0)+24|0))}function cD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,h=t>>>16,m=(g>>>16)+(o5($,h)|0)|0,I=o>>>16,E=o5(I,a)|0,j6=((m>>>16)+(o5(I,h)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function H_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,h=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=os(g^t,h^o,g,h)|0,Q=j6,B=os(m^a,I^$,m,I)|0,S=m^g,b=I^h,v=cE(E,Q,B,j6,0)|0,w=os(v^S,j6^b,S,b)|0,w|0}function Y_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,h=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=os(h^t,m^o,h,m)|0,B=j6,S=os(I^a,E^$,I,E)|0,cE(Q,B,S,j6,g)|0,b=os(e[g>>2]^h,e[g+4>>2]^m,h,m)|0,v=j6,C=w,j6=v,b|0}function gD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0;return g=t,h=a,m=cD(g,h)|0,I=j6,E=o5(o,h)|0,j6=((o5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function V_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=cE(t,o,a,$,0)|0,g|0}function J_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return h=C,C=C+8|0,g=h|0,cE(t,o,a,$,g)|0,C=h,j6=e[g+4>>2]|0,e[g>>2]|0|0}function cE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,d0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;if(h=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0):(S&&(e[g>>2]=(h>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(h>>>0)/(E>>>0)>>>0,j6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(K=is(B|0)|0,a0=K-(is(I|0)|0)|0,a0>>>0<=31){W=a0+1|0,r0=31-a0|0,s0=a0-31>>31,t0=W,d0=h>>>(W>>>0)&s0|I<>>(W>>>0)&s0,o0=0,J=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(is(E|0)|0)+33|0,F=R-(is(I|0)|0)|0,T=64-F|0,N=32-F|0,G=N>>31,V=F-32|0,X=V>>31,t0=F,d0=N-1>>31&I>>>(V>>>0)|(I<>>(F>>>0))&X,q=X&I>>>(F>>>0),o0=h<>>(V>>>0))&G|h<>31;break}return g|0&&(e[g>>2]=M&h,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,j6=L0,F0|0):(L=PQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|h>>>(L>>>0)|0,j6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,j6=L0,F0|0;if(!(h|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,j6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((PQ(B|0)|0)>>>0),j6=L0,F0|0;if(w=is(B|0)|0,D=w-(is(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,t0=y,d0=I<>>(y>>>0),q=I>>>(y>>>0),o0=0,J=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}while(!1);if(!(t0|0))U0=J,N0=o0,T0=q,v0=d0,M0=0,K0=0;else{for(j=0|a&-1,u0=Q|$&0,c0=rs(j|0,u0|0,-1,-1)|0,$0=j6,n0=J,f0=o0,g0=q,I0=d0,Z=t0,l0=0;h0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(I0<<1|n0>>>31),S0=I0>>>31|g0<<1|0,os(c0,$0,C0,S0)|0,Q0=j6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=os(C0,S0,b0&j,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=j6,_0=Z-1|0,_0|0;)n0=h0,f0=p0,g0=B0,I0=w0,Z=_0,l0=E0;U0=h0,N0=p0,T0=B0,v0=w0,M0=0,K0=E0}return O0=N0,k0=0,V0=U0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|O0)>>>31|V0<<1|(k0<<1|O0>>>31)&0|M0,F0=(O0<<1|0)&-2|K0,j6=L0,F0|0}function uD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,DC[t&3](o|0,a|0,$|0,g|0)|0}function dD(t,o){t=t|0,o=o|0,ss[t&7](o|0)}function hD(t,o,a){t=t|0,o=o|0,a=a|0,_C[t&3](o|0,a|0)}function fD(t,o){return t=t|0,o=o|0,HQ[t&1](o|0)|0}function ID(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,YQ[t&1](o|0,a|0,$|0)}function mD(t,o,a,$,g,h,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,VQ[t&3](o|0,a|0,$|0,g|0,h|0,m|0,I|0,E|0)|0}function pD(t,o,a){return t=t|0,o=o|0,a=a|0,mi[t&15](o|0,a|0)|0}function ED(t,o,a,$,g,h){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,xC[t&7](o|0,a|0,$|0,g|0,h|0)|0}function CD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function SC(t){t=t|0,rn(1)}function OQ(t,o){t=t|0,o=o|0,rn(2)}function BD(t){return t=t|0,rn(3),0}function QD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function qQ(t,o,a,$,g,h,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,rn(5),0}function ol(t,o){return t=t|0,o=o|0,rn(6),0}function bC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var DC=[CD,Ab,VS,JS],ss=[SC,ob,sb,mb,_b,xb,SC,SC],_C=[OQ,ib,Lb,OQ],HQ=[BD,pb],YQ=[QD,fb],VQ=[qQ,Tb,Pb,qQ],mi=[ol,rb,nb,ab,Ib,Eb,Mb,Rb,$b,Db,Jb,ol,ol,ol,ol,ol],xC=[bC,Fb,Nb,Gb,Ub,Ob,bC,bC];return{_memmove:oA,_strlen:nl,_strcat:GQ,_free:p2,_i64Add:rs,_encoder_clear:tD,_encoder_transfer_data:oD,_encoder_data_len:nD,_memset:u4,_malloc:R9,_memcpy:ge,_encoder_init:eD,_encoder_process:rD,_bitshift64Lshr:ns,_bitshift64Shl:UQ,_strcpy:kC,_encoder_analysis_buffer:iD,runPostSets:lD,stackAlloc:QS,stackSave:yS,stackRestore:wS,establishStackSpace:vS,setThrew:kS,setTempRet0:SS,getTempRet0:bS,dynCall_iiiii:uD,dynCall_vi:dD,dynCall_vii:hD,dynCall_ii:fD,dynCall_viii:ID,dynCall_iiiiiiiii:mD,dynCall_iii:pD,dynCall_iiiiii:ED}}(n.asmGlobalArg,n.asmLibraryArg,O7),m_=n.runPostSets=ee.runPostSets,nS=n._strlen=ee._strlen,oS=n._strcat=ee._strcat,hC=n._free=ee._free,p_=n._encoder_init=ee._encoder_init,sS=n._i64Add=ee._i64Add,aS=n._memmove=ee._memmove,E_=n._encoder_transfer_data=ee._encoder_transfer_data,C_=n._encoder_process=ee._encoder_process,B_=n._encoder_data_len=ee._encoder_data_len,AS=n._memset=ee._memset,Ru=n._malloc=ee._malloc,$S=n._memcpy=ee._memcpy,Q_=n._encoder_clear=ee._encoder_clear,lS=n._bitshift64Lshr=ee._bitshift64Lshr,y_=n._encoder_analysis_buffer=ee._encoder_analysis_buffer,cS=n._strcpy=ee._strcpy,gS=n._bitshift64Shl=ee._bitshift64Shl,w_=n.dynCall_iiiii=ee.dynCall_iiiii,v_=n.dynCall_vi=ee.dynCall_vi,k_=n.dynCall_vii=ee.dynCall_vii,S_=n.dynCall_ii=ee.dynCall_ii,b_=n.dynCall_viii=ee.dynCall_viii,D_=n.dynCall_iiiiiiiii=ee.dynCall_iiiiiiiii,__=n.dynCall_iii=ee.dynCall_iii,x_=n.dynCall_iiiiii=ee.dynCall_iiiiii;_.stackAlloc=ee.stackAlloc,_.stackSave=ee.stackSave,_.stackRestore=ee.stackRestore,_.establishStackSpace=ee.establishStackSpace,_.setTempRet0=ee.setTempRet0,_.getTempRet0=ee.getTempRet0;var L_=function(){var r={math:{}};r.math.Long=function(z,D0){this.low_=z|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(z){if(-128<=z&&z<128){var D0=r.math.Long.IntCache_[z];if(D0)return D0}var e1=new r.math.Long(z|0,z<0?-1:0);return-128<=z&&z<128&&(r.math.Long.IntCache_[z]=e1),e1},r.math.Long.fromNumber=function(z){return isNaN(z)||!isFinite(z)?r.math.Long.ZERO:z<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:z+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:z<0?r.math.Long.fromNumber(-z).negate():new r.math.Long(z%r.math.Long.TWO_PWR_32_DBL_|0,z/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(z,D0){return new r.math.Long(z,D0)},r.math.Long.fromString=function(z,D0){if(z.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+z);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var z=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(z&1<0},r.math.Long.prototype.greaterThanOrEqual=function(z){return this.compare(z)>=0},r.math.Long.prototype.compare=function(z){if(this.equals(z))return 0;var D0=this.isNegative(),e1=z.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(z).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(z){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,r4=0,ai=0,nr=0;return nr+=e3+q9,ai+=nr>>>16,nr&=65535,ai+=B2+r9,r4+=ai>>>16,ai&=65535,r4+=e1+F3,U9+=r4>>>16,r4&=65535,U9+=D0+O5,U9&=65535,r.math.Long.fromBits(ai<<16|nr,U9<<16|r4)},r.math.Long.prototype.subtract=function(z){return this.add(z.negate())},r.math.Long.prototype.multiply=function(z){if(this.isZero())return r.math.Long.ZERO;if(z.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return z.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(z.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().multiply(z.negate()):this.negate().multiply(z).negate();if(z.isNegative())return this.multiply(z.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&z.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*z.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,r4=0,ai=0,nr=0;return nr+=e3*q9,ai+=nr>>>16,nr&=65535,ai+=B2*q9,r4+=ai>>>16,ai&=65535,ai+=e3*r9,r4+=ai>>>16,ai&=65535,r4+=e1*q9,U9+=r4>>>16,r4&=65535,r4+=B2*r9,U9+=r4>>>16,r4&=65535,r4+=e3*F3,U9+=r4>>>16,r4&=65535,U9+=D0*q9+e1*r9+B2*F3+e3*O5,U9&=65535,r.math.Long.fromBits(ai<<16|nr,U9<<16|r4)},r.math.Long.prototype.div=function(z){if(z.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(z.equals(r.math.Long.ONE)||z.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(z).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return z.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(z.multiply(e1)),B2=e1.add(O5.div(z));return B2}else if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().div(z.negate()):this.negate().div(z).negate();if(z.isNegative())return this.div(z.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(z);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/z.toNumber())),F3=Math.ceil(Math.log(e1)/Math.LN2),r9=F3<=48?1:Math.pow(2,F3-48),q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);U9.isNegative()||U9.greaterThan(O5);)e1-=r9,q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);q9.isZero()&&(q9=r.math.Long.ONE),e3=e3.add(q9),O5=O5.subtract(U9)}return e3},r.math.Long.prototype.modulo=function(z){return this.subtract(this.div(z).multiply(z))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(z){return r.math.Long.fromBits(this.low_&z.low_,this.high_&z.high_)},r.math.Long.prototype.or=function(z){return r.math.Long.fromBits(this.low_|z.low_,this.high_|z.high_)},r.math.Long.prototype.xor=function(z){return r.math.Long.fromBits(this.low_^z.low_,this.high_^z.high_)},r.math.Long.prototype.shiftLeft=function(z){if(z&=63,z==0)return this;var D0=this.low_;if(z<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-z)}else return r.math.Long.fromBits(0,D0<>>z|D0<<32-z,D0>>z)}else return r.math.Long.fromBits(D0>>z-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(z){if(z&=63,z==0)return this;var D0=this.high_;if(z<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>z|D0<<32-z,D0>>>z)}else return z==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>z-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,Y=(f&16777215)==15715070;function e(z,D0,e1){z!=null&&(typeof z=="number"?this.fromNumber(z,D0,e1):D0==null&&typeof z!="string"?this.fromString(z,256):this.fromString(z,D0))}function X0(){return new e(null)}function r1(z,D0,e1,B2,e3,O5){for(;--O5>=0;){var F3=D0*this[z++]+e1[B2]+e3;e3=Math.floor(F3/67108864),e1[B2++]=F3&67108863}return e3}function x2(z,D0,e1,B2,e3,O5){for(var F3=D0&32767,r9=D0>>15;--O5>=0;){var q9=this[z]&32767,U9=this[z++]>>15,r4=r9*q9+U9*F3;q9=F3*q9+((r4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(q9>>>30)+(r4>>>15)+r9*U9+(e3>>>30),e1[B2++]=q9&1073741823}return e3}function s(z,D0,e1,B2,e3,O5){for(var F3=D0&16383,r9=D0>>14;--O5>=0;){var q9=this[z]&16383,U9=this[z++]>>14,r4=r9*q9+U9*F3;q9=F3*q9+((r4&16383)<<14)+e1[B2]+e3,e3=(q9>>28)+(r4>>14)+r9*U9,e1[B2++]=q9&268435455}return e3}Y&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):Y&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)z[D0]=this[D0];z.t=this.t,z.s=this.s}function Dt(z){this.t=1,this.s=z<0?-1:0,z>0?this[0]=z:z<-1?this[0]=z+DV:this.t=0}function te(z){var D0=X0();return D0.fromInt(z),D0}function It(z,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(z,D0);return}this.t=0,this.s=0;for(var B2=z.length,e3=!1,O5=0;--B2>=0;){var F3=e1==8?z[B2]&255:K9(z,B2);if(F3<0){z.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=F3:O5+e1>this.DB?(this[this.t-1]|=(F3&(1<>this.DB-O5):this[this.t-1]|=F3<=this.DB&&(O5-=this.DB)}e1==8&&z[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==z;)--this.t}function V7(z){if(this.s<0)return"-"+this.negate().toString(z);var D0;if(z==16)D0=4;else if(z==8)D0=3;else if(z==2)D0=1;else if(z==32)D0=5;else if(z==4)D0=2;else return this.toRadix(z);var e1=(1<0)for(r9>r9)>0&&(e3=!0,O5=G9(B2));F3>=0;)r9>(r9+=this.DB-D0)):(B2=this[F3]>>(r9-=D0)&e1,r9<=0&&(r9+=this.DB,--F3)),B2>0&&(e3=!0),e3&&(O5+=G9(B2));return e3?O5:"0"}function J7(){var z=X0();return e.ZERO.subTo(this,z),z}function Qr(){return this.s<0?this.negate():this}function tl(z){var D0=this.s-z.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-z.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-z[e1])!=0)return D0;return 0}function rE(z){var D0=1,e1;return(e1=z>>>16)!=0&&(z=e1,D0+=16),(e1=z>>8)!=0&&(z=e1,D0+=8),(e1=z>>4)!=0&&(z=e1,D0+=4),(e1=z>>2)!=0&&(z=e1,D0+=2),(e1=z>>1)!=0&&(z=e1,D0+=1),D0}function UB(){return this.t<=0?0:this.DB*(this.t-1)+rE(this[this.t-1]^this.s&this.DM)}function PB(z,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+z]=this[e1];for(e1=z-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+z,D0.s=this.s}function OB(z,D0){for(var e1=z;e1=0;--r9)D0[r9+O5+1]=this[r9]>>B2|F3,F3=(this[r9]&e3)<=0;--r9)D0[r9]=0;D0[O5]=F3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function HB(z,D0){D0.s=this.s;var e1=Math.floor(z/this.DB);if(e1>=this.t){D0.t=0;return}var B2=z%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var F3=e1+1;F3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=z.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function YB(z,D0){var e1=this.abs(),B2=z.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)z[e1]=0;for(e1=0;e1=D0.DV&&(z[e1+D0.t]-=D0.DV,z[e1+D0.t+1]=1)}z.t>0&&(z[z.t-1]+=D0.am(e1,D0[e1],z,2*e1,0,1)),z.s=0,z.clamp()}function JB(z,D0,e1){var B2=z.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(q9,O5),e3.lShiftTo(q9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var U9=O5.t,r4=O5[U9-1];if(r4!=0){var ai=r4*(1<1?O5[U9-2]>>this.F2:0),nr=this.FV/ai,oQ=(1<=0&&(e1[e1.t++]=1,e1.subTo(Pi,e1)),e.ONE.dlShiftTo(U9,Pi),Pi.subTo(O5,O5);O5.t=0;){var nE=e1[--nA]==r4?this.DM:Math.floor(e1[nA]*nr+(e1[nA-1]+sQ)*oQ);if((e1[nA]+=O5.am(0,nE,e1,Tu,0,U9))0&&e1.rShiftTo(q9,e1),F3<0&&e.ZERO.subTo(e1,e1)}}}function zB(z){var D0=X0();return this.abs().divRemTo(z,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&z.subTo(D0,D0),D0}function tA(z){this.m=z}function KB(z){return z.s<0||z.compareTo(this.m)>=0?z.mod(this.m):z}function WB(z){return z}function ZB(z){z.divRemTo(this.m,null,z)}function jB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}function iA(z,D0){z.squareTo(D0),this.reduce(D0)}tA.prototype.convert=KB,tA.prototype.revert=WB,tA.prototype.reduce=ZB,tA.prototype.mulTo=jB,tA.prototype.sqrTo=iA;function rr(){if(this.t<1)return 0;var z=this[0];if(!(z&1))return 0;var D0=z&3;return D0=D0*(2-(z&15)*D0)&15,D0=D0*(2-(z&255)*D0)&255,D0=D0*(2-((z&65535)*D0&65535))&65535,D0=D0*(2-z*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function qn(z){this.m=z,this.mp=z.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function rA(z){var D0=X0();return z.copyTo(D0),this.reduce(D0),D0}function Hn(z){for(;z.t<=this.mt2;)z[z.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&z.DM;for(e1=D0+this.m.t,z[e1]+=this.m.am(0,B2,z,D0,0,this.m.t);z[e1]>=z.DV;)z[e1]-=z.DV,z[++e1]++}z.clamp(),z.drShiftTo(this.m.t,z),z.compareTo(this.m)>=0&&z.subTo(this.m,z)}function XB(z,D0){z.squareTo(D0),this.reduce(D0)}function eQ(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}qn.prototype.convert=Fu,qn.prototype.revert=rA,qn.prototype.reduce=Hn,qn.prototype.mulTo=eQ,qn.prototype.sqrTo=XB;function tQ(){return(this.t>0?this[0]&1:this.s)==0}function ts(z,D0){if(z>4294967295||z<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=rE(z)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(z&1<0)D0.mulTo(B2,e3,e1);else{var F3=e1;e1=B2,B2=F3}return D0.revert(e1)}function iQ(z,D0){var e1;return z<256||D0.isEven()?e1=new tA(D0):e1=new qn(D0),this.exp(z,e1)}e.prototype.copyTo=ye,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=i4,e.prototype.dlShiftTo=PB,e.prototype.drShiftTo=OB,e.prototype.lShiftTo=qB,e.prototype.rShiftTo=HB,e.prototype.subTo=j6,e.prototype.multiplyTo=YB,e.prototype.squareTo=VB,e.prototype.divRemTo=JB,e.prototype.invDigit=rr,e.prototype.isEven=tQ,e.prototype.exp=ts,e.prototype.toString=V7,e.prototype.negate=J7,e.prototype.abs=Qr,e.prototype.compareTo=tl,e.prototype.bitLength=UB,e.prototype.mod=zB,e.prototype.modPowInt=iQ,e.ZERO=te(0),e.ONE=te(1);function Yn(z,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,F3=0,r9=0;r9=e1&&(this.dMultiply(B2),this.dAddOffset(F3,0),O5=0,F3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(F3,0)),e3&&e.ZERO.subTo(this,this)}function tn(z){return Math.floor(Math.LN2*this.DB/Math.log(z))}function IC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(z){this[this.t]=this.am(0,z-1,this,0,0,this.t),++this.t,this.clamp()}function rQ(z,D0){if(z!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=z;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function is(z){if(z==null&&(z=10),this.signum()==0||z<2||z>36)return"0";var D0=this.chunkSize(z),e1=Math.pow(z,D0),B2=te(e1),e3=X0(),O5=X0(),F3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)F3=(e1+O5.intValue()).toString(z).substr(1)+F3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(z)+F3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=z.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=tn,e.prototype.signum=IC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=rQ,e.prototype.toRadix=is,e.prototype.intValue=rn,e.prototype.addTo=nQ;var l7={abs:function(z,D0){var e1=new r.math.Long(z,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,N9[bt>>2]=B2.low_,N9[bt+4>>2]=B2.high_},ensureTemps:function(){l7.ensuredTemps||(l7.ensuredTemps=!0,l7.two32=new e,l7.two32.fromString("4294967296",10),l7.two64=new e,l7.two64.fromString("18446744073709551616",10),l7.temp1=new e,l7.temp2=new e)},lh2bignum:function(z,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(l7.two32,B2);var e3=new e;e3.fromString(z.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(z,D0,e1){var B2=new r.math.Long(z,D0).toString();if(e1&&B2[0]=="-"){l7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,l7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(z,D0,e1,B2,e3){l7.ensureTemps();var O5=new e;O5.fromString(z,D0);var F3=new e;F3.fromString(e1,10);var r9=new e;if(r9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var q9=new e;O5.addTo(l7.two64,q9),O5=q9}var U9=!1;O5.compareTo(F3)<0?(O5=F3,U9=!0):O5.compareTo(r9)>0&&(O5=r9,U9=!0);var r4=r.math.Long.fromString(O5.toString());if(N9[bt>>2]=r4.low_,N9[bt+4>>2]=r4.high_,U9)throw"range error"}};return l7}();function eA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}eA.prototype=new Error,eA.prototype.constructor=eA;var FB,iE=null,uS=!1;H7=function r(){n.calledRun||fC(),n.calledRun||(H7=r)},n.callMain=n.callMain=function(l){t4(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),t4(Wp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Wo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)Y.push(0)}var Y=[C3(en(n.thisProgram),"i8",Za)];f();for(var e=0;e0||(Lu(),k8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!i0&&(Wo(),kB(),c&&iE!==null&&n.printErr("pre-main prep time: "+(Date.now()-iE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&GB&&n.callMain(r),z$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=fC;function TB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(i0=!0,a1=r,v7=FB,Zp(),n.onExit&&n.onExit(r)),d?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):O&&typeof quit=="function"&&quit(r),new eA(r)}n.exit=n.exit=TB;var NB=[];function es(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",i0=!0,a1=1;var l=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+Jp()+l;throw NB&&NB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=es,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var GB=!0;n.noInitialRun&&(GB=!1),fC();var dS=n._encoder_init,hS=n._encoder_clear,fS=n._encoder_analysis_buffer,IS=n._encoder_process,mS=n._encoder_data_len,pS=n._encoder_transfer_data,k7=n.HEAPU8,j$=n.HEAPU32,X$=n.HEAPF32,el=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=dS(this.numChannels,r,u)};el.prototype.encode=function(r){for(var l=r[0].length,u=fS(this.encoder,l)>>2,f=0;f>2);this.process(l)},el.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},el.prototype.cancel=el.prototype.cleanup=function(){hS(this.encoder),delete this.encoder,delete this.oggBuffers},el.prototype.process=function(r){IS(this.encoder,r);var l=mS(this.encoder);if(l>0){var u=pS(this.encoder);this.oggBuffers.push(new Uint8Array(k7.subarray(u,u+l)))}},nC.OggVorbisEncoder=el}};typeof window<"u"&&window===self&&nC.init();function Bk(n,i,A,c){let d=new nC.OggVorbisEncoder(A,i,c);d.encode(n);let p=d.finish(),O=p.reduce((U,W0)=>U+W0.length,0),H=new Uint8Array(O),P=0;for(let U of p)H.set(U,P),P+=U.length;return H}var oC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",d=>{d.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async d=>{d.preventDefault(),c.classList.add("hidden");let p=d.dataTransfer.files[0];if(!p)return;let O=p.name,H=await p.arrayBuffer(),P=H.slice(0,4),U=new TextDecoder;if(U.decode(P)==="RIFF"){let W0=H.slice(8,12);if(U.decode(W0)==="RMID"){i({buf:H,name:O});return}A(H);return}i({buf:H,name:O})})}};async function Qk(){let n="locale.exportAudio.formats.formats.dls.warning.";qe(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"color: red"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;le(i.id),M7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),d=Ja(c.embeddedSoundFont||this.soundFont);Ua(c,await this.synth.getSynthesizerSnapshot()),A&&Cu(d,c);let p=d.writeDLS(),O=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(O,`${d.soundFontInfo.INAM||"unnamed"}.dls`),g9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var o_=!1,Kr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,d=o_){this.localeManager=c,this.context=i,this.enableDebug=d,this.isExporting=!1,this.compressionFunc=Bk;let p;this.ready=new Promise(O=>p=O),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),d=document.createElement("a");d.href=c,d.download=A,d.click(),_5(d)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let e0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(e0,"innerText",e0.getAttribute("translate-path"));for(let e0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(e0,"innerText",e0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(e0,"title",e0.getAttribute("translate-path-title")+".description");this.soundFont=A;let d=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Ck;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+d,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let O=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),P=await(await fetch(O)).arrayBuffer();this.impulseResponse=await i.decodeAudioData(P),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new fu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",e0=>{this.sfError&&this.sfError(e0.message)}),await this.synth.isReady,this.midHandler=new qE,this.wml=new HE(this.synth),this.keyboard=new Dp(this.channelColors,this.synth);let U=document.getElementById("note_canvas");U.width=window.innerWidth*window.devicePixelRatio,U.height=window.innerHeight*window.devicePixelRatio,this.renderer=new T7(this.channelColors,this.synth,U,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let W0=!1,_=()=>{if(U.width=window.innerWidth*window.devicePixelRatio,U.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),F7){if(window.innerWidth/window.innerHeight>1){if(!W0){let e0=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");W0=!0,e0.parentElement.insertBefore(i0,e0)}}else if(W0){let e0=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");W0=!1,e0.parentElement.insertBefore(e0,i0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),F7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Jr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new KE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Po(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new w7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new oC(e0=>{this.play([{binary:e0.buf,altName:e0.name}]),e0.name.length>20&&(e0.name=e0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=e0.name},e0=>{this.reloadSf(e0)}),document.addEventListener("keydown",e0=>{switch(e0.key.toLowerCase()){case oi.cinematicMode:this.seq&&this.seq.pause();let i0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),i0===null)return;U.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${i0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case oi.videoMode:this.seq&&this.seq.pause();let a1=window.prompt(`Video mode! +`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(Vo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Vo(r.output,0)),r.output=[])}}},M9={ops_table:null,mount:function(r){return M9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(T2.EPERM);M9.ops_table||(M9.ops_table={dir:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,lookup:M9.node_ops.lookup,mknod:M9.node_ops.mknod,rename:M9.node_ops.rename,unlink:M9.node_ops.unlink,rmdir:M9.node_ops.rmdir,readdir:M9.node_ops.readdir,symlink:M9.node_ops.symlink},stream:{llseek:M9.stream_ops.llseek}},file:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:{llseek:M9.stream_ops.llseek,read:M9.stream_ops.read,write:M9.stream_ops.write,allocate:M9.stream_ops.allocate,mmap:M9.stream_ops.mmap,msync:M9.stream_ops.msync}},link:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr,readlink:M9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:M9.node_ops.getattr,setattr:M9.node_ops.setattr},stream:k.chrdev_stream_ops}});var Y=k.createNode(r,l,u,f);return k.isDir(Y.mode)?(Y.node_ops=M9.ops_table.dir.node,Y.stream_ops=M9.ops_table.dir.stream,Y.contents={}):k.isFile(Y.mode)?(Y.node_ops=M9.ops_table.file.node,Y.stream_ops=M9.ops_table.file.stream,Y.usedBytes=0,Y.contents=null):k.isLink(Y.mode)?(Y.node_ops=M9.ops_table.link.node,Y.stream_ops=M9.ops_table.link.stream):k.isChrdev(Y.mode)&&(Y.node_ops=M9.ops_table.chrdev.node,Y.stream_ops=M9.ops_table.chrdev.stream),Y.timestamp=Date.now(),r&&(r.contents[l]=Y),Y},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=M9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(Y.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-Y,f);if(t4(X0>=0),X0>8&&e.subarray)l.set(e.subarray(Y,Y+X0),u);else for(var r1=0;r10||Y+fP5.timestamp)&&(Y.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([S8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(S8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},Y.sort().forEach(function(k5){l.type==="local"?S8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);S8.storeLocalEntry(k5,P5,C)}):S8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);S8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?S8.removeLocalEntry(k5,C):S8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return t4(d),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(T2.EINVAL);var Y=k.createNode(r,l,u);return Y.node_ops=ft.node_ops,Y.stream_ops=ft.stream_ops,Y},getMode:function(r){var l;try{l=b8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),m9.join.apply(null,l)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=b8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(b8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);b8.utimesSync(u,f,f)}l.size!==void 0&&b8.truncateSync(u,l.size)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},lookup:function(r,l){var u=m9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var Y=ft.createNode(r,l,u,f),e=ft.realPath(Y);try{k.isDir(Y.mode)?b8.mkdirSync(e,Y.mode):b8.writeFileSync(e,"",{mode:Y.mode})}catch(X0){throw X0.code?new k.ErrnoError(T2[X0.code]):X0}return Y},rename:function(r,l,u){var f=ft.realPath(r),Y=m9.join2(ft.realPath(l),u);try{b8.renameSync(f,Y)}catch(e){throw e.code?new k.ErrnoError(T2[e.code]):e}},unlink:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},rmdir:function(r,l){var u=m9.join2(ft.realPath(r),l);try{b8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return b8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},symlink:function(r,l,u){var f=m9.join2(ft.realPath(r),l);try{b8.symlinkSync(u,f)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},readlink:function(r){var l=ft.realPath(r);try{return l=b8.readlinkSync(l),l=MB.relative(MB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=b8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&b8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(T2[l.code]):l}},read:function(r,l,u,f,Y){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=b8.readSync(r.nfd,e,0,f,Y)}catch(x2){throw new k.ErrnoError(T2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(T2.ELOOP);for(var Y=m9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(T2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),Y=k.nameTable[f];Y;Y=Y.name_next){var e=Y.name;if(Y.parent.id===r.id&&e===l)return Y}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var Y=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&Y)===Y},set:function(r1){r1?this.mode|=Y:this.mode&=~Y}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?T2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:T2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return T2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var Y=k.nodePermissions(r,"wx");if(Y)return Y;if(u){if(!k.isDir(f.mode))return T2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return T2.EBUSY}else if(k.isDir(f.mode))return T2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?T2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?T2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):T2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(T2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var Y in r)f[Y]=r[Y];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(T2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function Y(e){if(e)return Y.errored?void 0:(Y.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return Y(null);e.type.syncfs(e,r,Y)})},mount:function(r,l,u){var f=u==="/",Y=!u,e;if(f&&k.root)throw new k.ErrnoError(T2.EBUSY);if(!f&&!Y){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(T2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(T2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(T2.EINVAL);var u=l.node,f=u.mounted,Y=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;Y.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);t4(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),Y=f.node,e=m9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(T2.EINVAL);var X0=k.mayCreate(Y,e);if(X0)throw new k.ErrnoError(X0);if(!Y.node_ops.mknod)throw new k.ErrnoError(T2.EPERM);return Y.node_ops.mknod(Y,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!m9.resolve(r))throw new k.ErrnoError(T2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);var Y=m9.basename(l),e=k.mayCreate(f,Y);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(T2.EPERM);return f.node_ops.symlink(f,Y,r)},rename:function(r,l){var u=m9.dirname(r),f=m9.dirname(l),Y=m9.basename(r),e=m9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(T2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(T2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(T2.EXDEV);var s=k.lookupNode(r1,Y),l1=m9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(T2.EINVAL);if(l1=m9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(T2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,Y,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(T2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(T2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=m9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===T2.EISDIR&&(e=T2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(T2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(T2.EINVAL);return m9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(T2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var Y=k.lookupPath(r,{follow:!u});f=Y.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var Y;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});Y=e.node}else Y=r;if(!Y.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);Y.node_ops.setattr(Y,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(T2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(T2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(T2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(T2.EINVAL);var Y=k.nodePermissions(u,"w");if(Y)throw new k.ErrnoError(Y);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(T2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),Y=f.node;Y.node_ops.setattr(Y,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,Y){if(r==="")throw new k.ErrnoError(T2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=m9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(T2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(T2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,Y);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(T2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,Y){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(T2.EINVAL);var e=!0;if(typeof Y>"u")Y=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,Y);return e||(r.position+=X0),X0},write:function(r,l,u,f,Y,e){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(T2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof Y>"u")Y=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,Y,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(T2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(T2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,Y,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(T2.ENODEV);return r.stream_ops.mmap(r,l,u,f,Y,e,X0)},msync:function(r,l,u,f,Y){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,Y)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(T2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),Y=k.stat(r),e=Y.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=Vo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var Y=new Uint8Array(Jo(l)+1),e=Gn(l,Y,0,Y.length);k.write(f,Y,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(T2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,Y,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),On.register(k.makedev(5,0),On.default_tty_ops),On.register(k.makedev(6,0),On.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else d?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");N9[xk>>2]=k.getPtrForStream(r),t4(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");N9[Lk>>2]=k.getPtrForStream(l),t4(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");N9[Mk>>2]=k.getPtrForStream(u),t4(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var Y in T2)if(T2[Y]===f){this.code=Y;break}},this.setErrno(l),this.message=_k[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[T2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(M9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){t4(!k.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)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,G9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",K9=1024*1024;G9||(K9=w2);var ye=function(te,It){if(te>It)throw new Error("invalid range ("+te+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var i4=new XMLHttpRequest;if(i4.open("GET",u,!1),w2!==K9&&i4.setRequestHeader("Range","bytes="+te+"-"+It),typeof Uint8Array<"u"&&(i4.responseType="arraybuffer"),i4.overrideMimeType&&i4.overrideMimeType("text/plain; charset=x-user-defined"),i4.send(null),!(i4.status>=200&&i4.status<300||i4.status===304))throw new Error("Couldn't load "+u+". Status: "+i4.status);return i4.response!==void 0?new Uint8Array(i4.response||[]):en(i4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(te){var It=te*K9,i4=(te+1)*K9-1;if(i4=Math.min(i4,w2-1),typeof Dt.chunks[te]>"u"&&(Dt.chunks[te]=ye(It,i4)),typeof Dt.chunks[te]>"u")throw new Error("doXHR failed!");return Dt.chunks[te]}),this._length=w2,this._chunkSize=K9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,Y);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,G9,K9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);var ye=k5.node.contents;if(K9>=ye.length)return 0;var Dt=Math.min(ye.length-K9,G9);if(t4(Dt>=0),ye.slice)for(var te=0;te=0;f--){var Y=r[f];Y==="."?r.splice(f,1):Y===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=m9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=m9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return m9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return m9.normalize(r.join("/"))},join2:function(r,l){return m9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=m9.normalizeArray(r.split("/").filter(function(Y){return!!Y}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=m9.resolve(r).substr(1),l=m9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),Y=u(l.split("/")),e=Math.min(f.length,Y.length),X0=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?eE(0,1e3/l):eE(1,1),J1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,u=J1.mainLoop.func;J1.mainLoop.func=null,xB(u,0,!1,J1.mainLoop.arg,!0),eE(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,u=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){t4(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var G9=P5.getContext("2d");G9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(G9){s||(s=!0,n.preloadedAudios[X0]=G9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(X0)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(K9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function ye(Dt){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",i4="",V7=0,J7=0,Qr=0;Qr=6;){var tl=V7>>J7-6&63;J7-=6,i4+=te[tl]}return J7==2?(i4+=te[(V7&3)<<4],i4+=It+It):J7==4&&(i4+=te[(V7&15)<<2],i4+=It),i4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+ye(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(Y){!J1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),Y.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var Y,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(Y=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else Y=r.getContext("2d");return Y?(u&&(l||t4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=Y,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),Y):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=u,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function Y(){J1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",Y,!1),document.addEventListener("mozfullscreenchange",Y,!1),document.addEventListener("webkitfullscreenchange",Y,!1),document.addEventListener("MSFullscreenChange",Y,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var u=Math.max(J1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!t0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){t0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){t0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){t0||J1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,Y=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(Y+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")J1.lastTouches[X0.identifier]=s,J1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[X0.identifier];l1||(l1=s),J1.lastTouches[X0.identifier]=l1,J1.touches[X0.identifier]=s}return}var C=r.pageX-(Y+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){J1.xhrLoad(r,function(Y){t4(Y,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(Y)),f||Cr("al "+r)},function(Y){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||Pn("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),u||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=j$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=j$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,Y=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/Y>2]=l),l}function Kk(){n.printErr("missing function: floor0_exportbundle"),es(-1)}if(jo=_.staticAlloc(4),N9[jo>>2]=0,n.requestFullScreen=function(l,u,f){J1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){J1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,u,f,Y){return J1.createContext(l,u,f,Y)},k.staticInit(),V$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),Du.push(function(){k.ignorePermissions=!1}),J$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,V$.unshift(function(){On.init()}),J$.push(function(){On.shutdown()}),d)var b8=void 0,MB=void 0;bu=v7=_.alignMemory(jr),O$=!0,q$=bu+Kp,H$=P7=_.alignMemory(q$),t4(H$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function O_(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function bS(t){t=t|0,j6=t}function DS(){return j6|0}function mC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=R9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function _S(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,h=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&h,Q=E&255,f[y>>0]=Q)}function O2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;H0=C,h=a>>>0>32;do if(!h){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)N=g;else{if(T0=(g|0)==0,T0)return;if(J0=(a0|0)>2147483391,J0||(q0=t+8|0,Z0=e[q0>>2]|0,I=a0+256|0,E=K7(Z0,I)|0,Q=(E|0)==0,Q))break;e[q0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,N=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,G=T&255,V=G|F,e0=V&255,f[N>>0]=e0,K=(R|0)>7;do if(K&&(W=e[M>>2]|0,r0=8-W|0,s0=y>>>r0,J=s0&255,o0=e[$>>2]|0,H=o0+1|0,f[H>>0]=J,d0=(R|0)>15,d0&&(i0=e[M>>2]|0,X=16-i0|0,u0=y>>>X,$0=u0&255,l0=e[$>>2]|0,Z=l0+2|0,f[Z>>0]=$0,I0=(R|0)>23,I0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,h0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=h0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,K0=_0+4|0,f[K0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,U0=e[t>>2]|0,O0=U0+N0|0,e[t>>2]=O0,k0=e[$>>2]|0,V0=k0+N0|0,e[$>>2]=V0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,z0=(G0|0)==0,z0||E2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function pC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;h=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||E2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function Ii(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,h=e[g>>2]|0,e[o>>2]=h,m=h,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function EC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,e0=t+4|0,X=e[e0>>2]|0,p0=X+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,h=(S0|0)<(E0|0),!h){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>X,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-X|0,T=R<16,G?(V=b+2|0,K=f[V>>0]|0,a0=K&255,W=16-X|0,r0=a0<24,J?(o0=b+3|0,H=f[o0>>0]|0,d0=H&255,i0=24-X|0,u0=d0<>0]|0,g0=I0&255,f0=32-X|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,h=t+12|0,m=e[h>>2]|0,I=m+g|0,e[h>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function n4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,h=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,Z=e[s0>>2]|0,E0=Z+o|0,T0=e[t>>2]|0,N0=t+16|0,U0=e[N0>>2]|0,O0=U0+-4|0,B=(T0|0)<(O0|0),!B){if(S=E0+7|0,b=S>>3,v=U0-b|0,w=(T0|0)>(v|0),w){h=t,m=s0,v0=U0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>Z,T=(E0|0)>8,T?(N=x+1|0,G=f[N>>0]|0,V=G&255,e0=8-Z|0,K=V<16,W?(r0=x+2|0,J=f[r0>>0]|0,o0=J&255,H=16-Z|0,d0=o0<24,X?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-Z|0,I0=$0<>0]|0,C0=p0&255,S0=32-Z|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,K0=E0&7,e[s0>>2]=K0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[h>>2]=v0,e[m>>2]=1,a=-1,a|0}function D8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,h=(g|0)/8&-1,m=h+o|0,m|0}function AQ(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function xS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;if(T=C,g=(t|0)==0,g)return a=-1,a|0;u4(t|0,0,360)|0,h=t+4|0,e[h>>2]=16384,b=t+24|0,e[b>>2]=1024,v=R9(16384)|0,e[t>>2]=v,w=R9(4096)|0,D=t+16|0,e[D>>2]=w,y=R9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){E2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||E2(Q),u4(t|0,0,360)|0,a=-1,a|0}function LS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,h=e[g>>2]|0,m=(h|0)==0,m||E2(h),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),u4(t|0,0,360)|0),0}function MS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0;if(U0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,G=e[t>>2]|0,d0=G+23|0,f[d0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(h=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=h+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,T=(F|0)<($|0),T)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(N=M0<<8,V=M0>>>24,e0=B+T0|0,K=f[e0>>0]|0,a0=K&255,W=a0^V,r0=144+(W<<2)|0,s0=e[r0>>2]|0,J=s0^N,o0=T0+1|0,H=(o0|0)<(I|0),H)M0=J,T0=o0;else{K0=J;break}else K0=B0;i0=K0&255,X=e[t>>2]|0,u0=X+22|0,f[u0>>0]=i0,c0=K0>>>8,$0=c0&255,l0=e[t>>2]|0,Z=l0+23|0,f[Z>>0]=$0,I0=K0>>>16,g0=I0&255,f0=e[t>>2]|0,h0=f0+24|0,f[h0>>0]=g0,p0=K0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function RS(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,s2=(q1|0)<0,w=2147483647-q1|0,V=(m2|0)>(w|0),N2=s2|V,N2){I=-1;break}if(i0=q1+m2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)m2=i0,k2=c0;else{o2=i0;break e}}return I|0}else o2=0;while(!1);l0=(o2|0)/255&-1,Z=l0+1|0,I0=t+12|0,g0=e[I0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(h0=e[v>>2]|0,p0=h0-g0|0,e[v>>2]=p0,C0=(h0|0)==(g0|0),C0||(S0=_0+g0|0,oA(_0|0,S0|0,p0|0)|0),e[I0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-o2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-o2|0,K0=(b0|0)>(B0|0),K0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=t+16|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||E2(N0),O0=t+20|0,k0=e[O0>>2]|0,V0=(k0|0)==0,V0||E2(k0),u4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+o2|0,G0=(F0|0)<2147482623,z0=F0+1024|0,m=G0?z0:F0,J0=e[t>>2]|0,q0=K7(J0,m)|0,Z0=(q0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=q0;break}return P0=e[t>>2]|0,H0=(P0|0)==0,H0||E2(P0),s1=t+16|0,Y0=e[s1>>2]|0,i1=(Y0|0)==0,i1||E2(Y0),o1=t+20|0,h1=e[o1>>2]|0,u1=(h1|0)==0,u1||E2(h1),u4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=FS(t,Z)|0,f1=(m1|0)==0,!f1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ge(w1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,D1=D2+1|0,t2=(D1|0)==(a|0),!t2;)v1=U1,D2=D1;if(d1=(o2|0)>254,A1=t+28|0,g1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,d1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=g1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,z1=e[x1>>2]|0,H1=G1+4|0,Y1=H1,V1=e[Y1>>2]|0,X1=Q1+(P1<<3)|0,n2=X1,j1=n2,e[j1>>2]=z1,O1=n2+4|0,g2=O1,e[g2>>2]=V1,W1=Q2+1|0,h2=(W1|0)<(l0|0),h2;)Q2=W1;L2=p1?l0:1,B=E1,l2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,l2=S,S2=0;return C2=(o2|0)%255&-1,a2=g1+S2|0,K1=$1+(a2<<2)|0,e[K1>>2]=C2,d2=l2+(a2<<3)|0,i2=d2,c2=i2,e[c2>>2]=g,r2=i2+4|0,A2=r2,e[A2>>2]=h,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=h,M=$1+(g1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=g1+Z|0,e[A1>>2]=F,T=t+344|0,N=T,G=N,e0=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=rs(e0|0,W|0,1,0)|0,s0=j6,J=T,o0=J,e[o0>>2]=r0,H=J+4|0,d0=H,e[d0>>2]=s0,X=($|0)==0,X?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function oE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,h=g,m=e[h>>2]|0,I=RS(t,y,1,S,D,m)|0,C=M,I|0}function $Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=cQ(t,o,1,4096)|0,a|0}function lQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,h=(t|0)==0,h||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=cQ(t,o,D,4096)|0,a=w,a|0)}function FS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0;return h0=C,g=t+24|0,h=e[g>>2]|0,y=h-o|0,K=t+28|0,u0=e[K>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(Z=2147483647-o|0,I0=(h|0)>(Z|0),I0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||E2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||E2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),u4(t|0,0,360)|0,$=-1,$|0):(b=h+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=K7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,T=(F|0)==0,T||E2(F),N=e[D>>2]|0,G=(N|0)==0,G||E2(N),V=t+20|0,e0=e[V>>2]|0,a0=(e0|0)==0,a0||E2(e0),u4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,W=t+20|0,r0=e[W>>2]|0,s0=a<<3,J=K7(r0,s0)|0,o0=(J|0)==0,o0?(H=e[t>>2]|0,d0=(H|0)==0,d0||E2(H),i0=e[D>>2]|0,X=(i0|0)==0,X||E2(i0),c0=e[W>>2]|0,$0=(c0|0)==0,$0||E2(c0),u4(t|0,0,360)|0,$=-1,$|0):(e[W>>2]=J,e[g>>2]=a,$=0,$|0))))}function cQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,h1=(x|0)>255,g=h1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,Y1=(R1|0)==0,a2=(g|0)==0,b3=a2|Y1,b3))return h=0,h|0;t2=t+332|0,V2=e[t2>>2]|0,j2=(V2|0)==0;e:do if(j2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,z5=g3,V5=14;break e}if(Z0=e[Q0>>2]|0,Y0=Z0+(g3<<2)|0,i1=e[Y0>>2]|0,x0=i1&255,o1=(x0|0)==255,u1=g3+1|0,o1)g3=u1;else{I=a,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,z5=u1,V5=14;break}}else if(M=(g|0)>0,M){for(W=t+16|0,$0=t+20|0,Q5=0,D5=-1,d5=-1,l5=-1,X2=-1,u2=-1,w5=-1,r5=-1,a5=-1,t3=0,T3=0,Q3=0;;){if(m1=(Q5|0)>($|0),f1=(t3|0)>3,q3=m1&f1,q3){m=1,q5=D5,M5=d5,Y2=l5,p5=X2,$5=u2,u5=w5,y5=r5,T1=a5,u3=Q3;break}if(d1=e[W>>2]|0,A1=d1+(Q3<<2)|0,g1=e[A1>>2]|0,a1=g1&255,$1=a1+Q5|0,j0=(a1|0)==255,j0?(h5=D5,z2=d5,f5=l5,n5=X2,R5=u2,e5=w5,c5=r5,F2=a5,s6=0,H3=T3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=T3+1|0,b1=w1&255,_1=ns(w1|0,L1|0,8)|0,F1=j6,U1=_1&255,D1=ns(w1|0,L1|0,16)|0,P1=j6,Z1=D1&255,G1=ns(w1|0,L1|0,24)|0,x1=j6,z1=G1&255,q1=L1&255,H1=ns(w1|0,L1|0,40)|0,V1=j6,X1=H1&255,n2=ns(w1|0,L1|0,48)|0,j1=j6,O1=n2&255,g2=ns(w1|0,L1|0,56)|0,W1=j6,h2=g2&255,h5=b1,z2=Z1,f5=z1,n5=q1,R5=X1,e5=O1,c5=h2,F2=U1,s6=M1,H3=M1),s2=Q3+1|0,C2=(s2|0)<(g|0),C2)Q5=$1,D5=h5,d5=z2,l5=f5,X2=n5,u2=R5,w5=e5,r5=c5,a5=F2,t3=s6,T3=H3,Q3=s2;else{m=a,q5=h5,M5=z2,Y2=f5,p5=n5,$5=R5,u5=e5,y5=c5,T1=F2,u3=s2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=M5,G5=Y2,W5=p5,D3=$5,f3=u5,y3=y5,X3=T1,H5=255):(I=m,v5=q5,J5=M5,i3=Y2,E5=p5,I3=$5,h3=u5,K5=y5,r3=T1,z5=u3,V5=14)}else I=a,v5=-1,J5=-1,i3=-1,E5=-1,I3=-1,h3=-1,K5=-1,r3=-1,z5=0,V5=14;while(!1);if((V5|0)==14){if(d2=(I|0)==0,d2)return h=0,h|0;a3=v5,B3=J5,G5=i3,W5=E5,D3=I3,f3=h3,y3=K5,X3=r3,H5=z5}if(l2=t+40|0,f[l2>>0]=79,f[l2+1>>0]=103,f[l2+2>>0]=103,f[l2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,c2=t+45|0,f[c2>>0]=0,r2=t+16|0,A2=e[r2>>2]|0,e2=e[A2>>2]|0,o2=e2>>>8,S=o2&1,m2=S^1,k2=m2|2,E=j2?k2:m2,c3=E&255,f[c2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,N2=(x|0)==(H5|0),X5=Q2&N2,X5&&(Q=j2?k2:m2,L2=Q|4,U2=L2&255,f[c2>>0]=U2),e[t2>>2]=1,p2=t+46|0,f[p2>>0]=a3,W2=t+47|0,f[W2>>0]=X3,P2=t+48|0,f[P2>>0]=B3,G2=t+49|0,f[G2>>0]=G5,q2=t+50|0,f[q2>>0]=W5,Z2=t+51|0,f[Z2>>0]=D3,A5=t+52|0,f[A5>>0]=f3,H2=t+53|0,f[H2>>0]=y3,N1=t+336|0,t5=e[N1>>2]|0,T5=t5&255,i5=t+54|0,f[i5>>0]=T5,x5=t5>>>8,I5=x5&255,b5=t+55|0,f[b5>>0]=I5,Y5=t5>>>16,g5=Y5&255,b2=t+56|0,f[b2>>0]=g5,B5=t5>>>24,s5=B5&255,R2=t+57|0,f[R2>>0]=s5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,T=F&255,N=t+58|0,f[N>>0]=T,G=F>>>8,V=G&255,e0=t+59|0,f[e0>>0]=V,K=F>>>16,a0=K&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,J=s0&255,o0=t+61|0,f[o0>>0]=J,H=t+62|0,d0=H5&255,i0=t+66|0,f[H>>0]=0,f[H+1>>0]=0,f[H+2>>0]=0,f[H+3>>0]=0,f[i0>>0]=d0,X=(H5|0)>0,X){if(u0=e[A2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,Z=u0&255,L5=(H5|0)==1,L5)B=Z;else for(g0=1,b0=Z;;)if(b=e[r2>>2]|0,I0=b+(g0<<2)|0,f0=e[I0>>2]|0,n0=f0&255,h0=g0+27|0,p0=(t+40|0)+h0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,N5=B}else v0=R1,k0=x,F0=A2,N5=0;return e[o>>2]=l2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,K0=e[_0>>2]|0,M0=v0+K0|0,T0=o+8|0,e[T0>>2]=M0,U0=o+12|0,e[U0>>2]=N5,O0=k0-H5|0,e[y>>2]=O0,V0=F0+(H5<<2)|0,L0=O0<<2,oA(F0|0,V0|0,L0|0)|0,G0=t+20|0,z0=e[G0>>2]|0,J0=z0+(H5<<3)|0,q0=e[y>>2]|0,P0=q0<<3,oA(z0|0,J0|0,P0|0)|0,H0=e[_0>>2]|0,s1=H0+N5|0,e[_0>>2]=s1,MS(o),h=1,h|0}function TS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0;return Y0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,e0=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,X=e[e0>>2]|0,Ii(X),p0=g+16|0,M0=e[p0>>2]|0,Ii(M0),z0=g+20|0,P0=e[z0>>2]|0,Ii(P0),H0=g+24|0,h=e[H0>>2]|0,Ii(h),m=g+28|0,I=e[m>>2]|0,Ii(I),E=g+32|0,Q=e[E>>2]|0,Ii(Q),B=g+36|0,S=e[B>>2]|0,Ii(S),b=g+40|0,v=e[b>>2]|0,Ii(v),w=g+44|0,y=e[w>>2]|0,Ii(y),x=g+48|0,M=e[x>>2]|0,Ii(M),L=g+52|0,R=e[L>>2]|0,Ii(R),F=g+56|0,T=e[F>>2]|0,Ii(T),N=g+60|0,G=e[N>>2]|0,Ii(G),V=g+64|0,K=e[V>>2]|0,Ii(K),a0=g+68|0,W=e[a0>>2]|0,Ii(W),r0=e[6416]|0,s0=r0+12|0,J=e[s0>>2]|0,o0=qQ[J&1](t)|0,H=(o0|0)==0,H?(d0=(o|0)==0,d0?(a=0,a|0):(i0=Nu(t)|0,u0=(i0|0)==0,u0?(c0=t+4|0,$0=AQ(c0)|0,e[o>>2]=$0,l0=D8(c0)|0,Z=o+4|0,e[Z>>2]=l0,I0=o+8|0,e[I0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,h0=t+48|0,C0=h0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,K0=B0+4|0,v0=K0,e[v0>>2]=y0,T0=t+56|0,N0=T0,U0=N0,O0=e[U0>>2]|0,k0=N0+4|0,V0=k0,F0=e[V0>>2]|0,L0=o+24|0,G0=L0,J0=G0,e[J0>>2]=O0,q0=G0+4|0,Z0=q0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function NS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,V=e[w>>2]|0,i0=(V|0)>0,i0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,h0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,h=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=h,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(h0|0),S=Q*B,b=+(f0|0),v=S/b,D=+z7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,T=F/b,N=+z7(T),G=~~N,e0=o+16|0,e[e0>>2]=G,K=$+3368|0,a0=e[K>>2]|0,W=+(a0|0),r0=W*B,s0=r0/b,J=+z7(s0),o0=~~J,H=o+20|0,e[H>>2]=o0,d0=o+32|0,l1[d0>>3]=7,X=+(V|0),u0=$+3376|0,c0=+l1[u0>>3],$0=X*c0,l0=~~$0,Z=o+8|0,e[Z>>2]=l0,I0=o+4|0,e[I0>>2]=l0)}function GS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Nu(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,h=e[g>>2]|0,m=h+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function US(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0;if(F6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,M5=b2+104|0,u2=e[M5>>2]|0,F2=b2+4|0,G5=e[F2>>2]|0,T3=G5+28|0,U5=e[T3>>2]|0,S=u2+112|0,T=+l1[S>>3],o0=+z7(T),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,V0=e[w0>>2]|0,Y0=D8(V0)|0,a1=Y0<<3,L1=t+28|0,x1=e[L1>>2]|0,h2=(x1|0)==0,e2=u2+96|0,p2=e[e2>>2]|0,h2?(T5=u2+100|0,x5=e[T5>>2]|0,H=p2,b0=T5,B0=x5):(j2=u2+104|0,I5=e[j2>>2]|0,b5=u2+100|0,Y5=e[b5>>2]|0,g5=o5(I5,p2)|0,B5=o5(I5,Y5)|0,H=g5,b0=b5,B0=B5),s5=U5+(x1<<2)|0,R2=e[s5>>2]|0,M2=R2>>1,y2=U5+3372|0,Q5=e[y2>>2]|0,N5=+(Q5|0),m5=U5+3376|0,L5=+l1[m5>>3],q5=N5*L5,Y2=~~q5,p5=u2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=u2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,d5=u2+92|0,l5=e[d5>>2]|0,X2=(l5|0)>0,X2){h2?c5=l5:(w5=u2+104|0,r5=e[w5>>2]|0,a5=o5(r5,l5)|0,c5=a5),h5=U5+3384|0,z2=+l1[h5>>3],f5=15/z2,n5=u2+84|0,R5=e[n5>>2]|0,e5=a1-c5|0,v5=R5+e5|0,J5=(v5|0)>(Y2|0);e:do if(J5)if(i3=(g0|0)>0,E5=(a1|0)>(c5|0),R6=E5&i3,R6)if(I3=a1-c5|0,h3=I3+R5|0,K5=(h3|0)>(Y2|0),K5)for(V3=g0;;){if(r3=V3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,W5=D8(B3)|0,D3=W5<<3,f3=(V3|0)>1,y3=(D3|0)>(c5|0),M6=y3&f3,!M6){Z5=r3;break e}if(I=e[n5>>2]|0,X3=D3-c5|0,q3=X3+I|0,X5=(q3|0)>(Y2|0),X5)V3=r3;else{Z5=r3;break}}else Z5=g0;else Z5=g0;else if(b3=(v5|0)<(Y2|0),b3)if(t3=g0+1|0,s6=(t3|0)<15,H3=(a1|0)<(c5|0),r6=H3&s6,r6)if(c3=a1-c5|0,g3=c3+R5|0,u3=(g3|0)<(Y2|0),u3)for(z5=t3;;){if(Q3=(B+12|0)+(z5<<2)|0,H5=e[Q3>>2]|0,V5=D8(H5)|0,S5=V5<<3,Y3=z5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){Z5=z5;break e}if(m=e[n5>>2]|0,l3=S5-c5|0,N3=l3+m|0,E6=(N3|0)<(Y2|0),E6)z5=Y3;else{Z5=z5;break}}else Z5=g0;else Z5=g0;else Z5=g0;while(!1);k3=+(Z5|0),_3=+l1[S>>3],S3=k3-_3,a6=+z7(S3),i6=+(M2|0),b=a6/i6,v=G5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,L3=L?f5:v6,R=L3/D,F=R*i6,N=F+_3,l1[S>>3]=N,G=+z7(N),V=~~G,e0=(B+12|0)+(V<<2)|0,K=e[e0>>2]|0,a0=D8(K)|0,W=a0<<3,E=e[e2>>2]|0,r0=E,x3=V,n6=W}else r0=p2,x3=g0,n6=a1;s0=(r0|0)>0,J=(n6|0)<(H|0),h6=J&s0;e:do if(h6)if(d0=u2+88|0,i0=e[d0>>2]|0,X=n6-H|0,u0=X+i0|0,c0=(u0|0)<0,c0)for(d3=x3,o6=n6;;){if($0=d3+1|0,l0=(d3|0)>13,l0){J3=$0,C6=o6;break e}if(Z=(B+12|0)+($0<<2)|0,I0=e[Z>>2]|0,f0=D8(I0)|0,n0=f0<<3,h0=e[d0>>2]|0,p0=n0-H|0,C0=p0+h0|0,S0=(C0|0)<0,S0)d3=$0,o6=n0;else{J3=$0,C6=n0;break}}else J3=x3,C6=n6;else J3=x3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=u2+88|0,K0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+K0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(d6=J3,z3=C6;;){if(U0=d6+-1|0,O0=(d6|0)<1,O0){m3=U0,M3=z3;break e}if(k0=(B+12|0)+(U0<<2)|0,F0=e[k0>>2]|0,L0=D8(F0)|0,G0=L0<<3,z0=e[_0>>2]|0,J0=G0-B0|0,q0=J0+z0|0,Z0=e[y2>>2]|0,P0=(q0|0)>(Z0|0),P0)d6=U0,z3=G0;else{m3=U0,M3=G0;break}}else m3=J3,M3=C6;else m3=J3,M3=C6;while(!1);if(H0=(m3|0)<0,H0)s1=e[y2>>2]|0,i1=u2+88|0,x0=e[i1>>2]|0,o1=s1+B0|0,h1=o1-x0|0,u1=(h1|0)/8&-1,m1=u2+124|0,e[m1>>2]=0,f1=B+12|0,d1=e[f1>>2]|0,A1=D8(d1)|0,g1=(A1|0)>(u1|0),g1?($1=e[f1>>2]|0,j0=u1<<3,_S($1,j0),E1=e[f1>>2]|0,I1=D8(E1)|0,Q1=I1<<3,K3=Q1):K3=M3;else{if(p1=u2+88|0,B1=e[p1>>2]|0,w1=H+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=u2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=D8(R1)|0,U1=k1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,L6=U1;;)if(Z1=L6+-1|0,O2(G1,0,8),z1=(L6|0)>1,q1=e[_1>>2]|0,z1)G1=q1,L6=Z1;else{h=q1;break}else h=P1;H1=D8(h)|0,Y1=H1<<3,K3=Y1}V1=e[e2>>2]|0,X1=(V1|0)>0,X1?e6=37:(n2=e[b0>>2]|0,j1=(n2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,g2=(K3|0)>(B0|0),G6=O1&g2,G6){s2=K3-B0|0,C2=u2+88|0,a2=e[C2>>2]|0,K1=s2+a2|0,e[C2>>2]=K1;break}if(d2=(H|0)>0,l2=(K3|0)<(H|0),X6=d2&l2,X6){i2=K3-H|0,c2=u2+88|0,r2=e[c2>>2]|0,A2=i2+r2|0,e[c2>>2]=A2;break}if(o2=u2+88|0,m2=e[o2>>2]|0,t2=(m2|0)>(Y2|0),t2)if(O1){k2=K3-B0|0,D2=m2+k2|0,S2=(D2|0)<(Y2|0),o=S2?Y2:D2,e[o2>>2]=o;break}else{e[o2>>2]=Y2;break}else if(d2){Q2=K3-H|0,N2=m2+Q2|0,L2=(N2|0)>(Y2|0),$=L2?Y2:N2,e[o2>>2]=$;break}else{e[o2>>2]=Y2;break}}while(!1);return U2=e[d5>>2]|0,W2=(U2|0)>0,W2?(P2=e[L1>>2]|0,V2=(P2|0)==0,V2?H2=U2:(G2=u2+104|0,q2=e[G2>>2]|0,Z2=o5(q2,U2)|0,H2=Z2),A5=K3-H2|0,N1=u2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,a=0,a|0):(a=0,a|0)}function gQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,e0=e[D>>2]|0,X=(e0|0)==0,X?(a=0,a|0):(p0=(o|0)==0,p0||(C0=e0+104|0,S0=e[C0>>2]|0,Q0=e0+64|0,b0=e[Q0>>2]|0,h=b0+104|0,m=e[h>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=AQ(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=D8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=e0+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,T=e0+48|0,N=T,G=N,V=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=o+16|0,s0=r0,J=s0,e[J>>2]=V,o0=s0+4|0,H=o0,e[H>>2]=W,d0=e0+56|0,i0=d0,u0=i0,c0=e[u0>>2]|0,$0=i0+4|0,l0=$0,Z=e[l0>>2]|0,I0=o+24|0,g0=I0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,h0=n0,e[h0>>2]=Z),e[D>>2]=0,a=1,a|0)}function PS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;F=C,L=o,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=ce(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(h=(M|0)==7,h){e[g>>2]=D,mC(D),M=8;continue}else{if(m=ce(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,mC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function z8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0;return K=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,T=e[F>>2]|0,N=(R|0)>(T|0),G=t+68|0,V=e[G>>2]|0,N?(g=(V|0)==0,g||(h=V,m=R9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=h,e[B>>2]=m),e[F>>2]=$,v=R9($)|0,e[G>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=V,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function OS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0;if(i0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,G=e[D>>2]|0,V=(G|0)==0,!V)for(o0=G;e0=o0+4|0,K=e[e0>>2]|0,a0=e[o0>>2]|0,E2(a0),E2(o0),W=(K|0)==0,!W;)o0=K;if(r0=t+80|0,h=e[r0>>2]|0,m=(h|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+h|0,B=K7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||E2(y),M=(g|0)==0,M){H=t,X=H+112|0;do e[H>>2]=0,H=H+4|0;while((H|0)<(X|0));return 0}else J=0;for(;;){if(L=(g+12|0)+(J<<2)|0,R=e[L>>2]|0,pC(R),F=(J|0)==7,F){J=8;continue}if(T=e[L>>2]|0,E2(T),N=J+1|0,s0=(N|0)==15,s0)break;J=N}E2(g),H=t,X=H+112|0;do e[H>>2]=0,H=H+4|0;while((H|0)<(X|0));return 0}function qS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=YS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=Qb(o)|0,S=Q+60|0,e[S>>2]=B,b=ce(1,180)|0,e[Q>>2]=b,WS(b,o),v=Q+80|0,NS(o,v),w=t+64|0,D=w,h=D,e[h>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function uQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0;if(P2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,V0=(w0|0)!=0,V0?(Y0=w0+28|0,a1=e[Y0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if(A2=e[x1>>2]|0,b=(A2|0)==0,b||(ZS(A2),N=e[x1>>2]|0,E2(N)),H=x1+12|0,f0=e[H>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,wC(S0),Q0=e[H>>2]|0,b0=e[Q0>>2]|0,E2(b0),E0=e[H>>2]|0,E2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(K0=e[B0>>2]|0,wC(K0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,E2(v0),T0=e[y0>>2]|0,E2(T0)),N0=x1+48|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0){if(F0=(k0|0)==0,F0)p1=U0;else if(L0=k0+16|0,G0=e[L0>>2]|0,z0=(G0|0)>0,z0){if(J0=k0+800|0,q0=e[J0>>2]|0,Z0=25640+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+16|0,s1=e[H0>>2]|0,i1=e[U0>>2]|0,ss[s1&7](i1),x0=e[L0>>2]|0,o1=(x0|0)>1,o1)for(u1=1;o=e[N0>>2]|0,h1=J0+(u1<<2)|0,m1=e[h1>>2]|0,f1=25640+(m1<<2)|0,d1=e[f1>>2]|0,A1=d1+16|0,g1=e[A1>>2]|0,$1=o+(u1<<2)|0,j0=e[$1>>2]|0,ss[g1&7](j0),E1=u1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)u1=E1;a=e[N0>>2]|0,p1=a}else p1=U0;E2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,ss[Z1&7](G1),z1=e[M1>>2]|0,q1=(z1|0)>1,q1)for(Y1=1;$=e[B1>>2]|0,H1=R1+(Y1<<2)|0,V1=e[H1>>2]|0,X1=25648+(V1<<2)|0,n2=e[X1>>2]|0,j1=n2+16|0,O1=e[j1>>2]|0,g2=$+(Y1<<2)|0,h2=e[g2>>2]|0,ss[O1&7](h2),s2=Y1+1|0,C2=e[M1>>2]|0,a2=(s2|0)<(C2|0),a2;)Y1=s2;g=e[B1>>2]|0,K1=g}else K1=w1;E2(K1)}if(d2=x1+56|0,l2=e[d2>>2]|0,i2=(l2|0)==0,!i2){if(c2=(k0|0)==0,c2)L2=l2;else if(r2=k0+28|0,e2=e[r2>>2]|0,o2=(e2|0)>0,o2){if(BQ(l2),m2=e[r2>>2]|0,t2=(m2|0)>1,t2)for(D2=1;h=e[d2>>2]|0,k2=h+(D2*52|0)|0,BQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,N2=(S2|0)<(Q2|0),N2;)D2=S2;m=e[d2>>2]|0,L2=m}else L2=l2;E2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||yb(w),y=x1+80|0,GS(y),x=x1+20|0,xQ(x),M=x1+32|0,xQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(V0)if(T=w0+4|0,G=e[T>>2]|0,V=(G|0)>0,V){for(K=R,p0=G,U2=0;e0=K+(U2<<2)|0,a0=e[e0>>2]|0,W=(a0|0)==0,W?J=p0:(E2(a0),E=e[T>>2]|0,J=E),r0=U2+1|0,s0=(r0|0)<(J|0),!!s0;)I=e[L>>2]|0,K=I,p0=J,U2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;E2(o0),d0=t+12|0,i0=e[d0>>2]|0,X=(i0|0)==0,X||E2(i0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,Z=e[l0>>2]|0,I0=(Z|0)==0,I0||E2(Z),g0=x1+72|0,n0=e[g0>>2]|0,h0=(n0|0)==0,h0||E2(n0),E2(x1)),p2=t,V2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(V2|0))}}function dQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||E2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||E2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,h=e[a>>2]|0,o0=h,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,T=e[F>>2]|0,N=(T|0)>0,N)if(G=t+8|0,V=e[G>>2]|0,e0=e[V>>2]|0,K=R<<2,a0=K7(e0,K)|0,W=e[G>>2]|0,e[W>>2]=a0,s0=e[F>>2]|0,J=(s0|0)>1,J)for($0=1;;)if($=e[D>>2]|0,u0=e[G>>2]|0,c0=u0+($0<<2)|0,Z=e[c0>>2]|0,I0=$<<2,g0=K7(Z,I0)|0,f0=e[G>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,h0=$0+1|0,p0=e[F>>2]|0,C0=(h0|0)<(p0|0),C0)$0=h0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(H=(o0|0)>0,H)){for(d0=t+8|0,i0=e[b>>2]|0,X=t+12|0,O0=0;;)if(S0=e[d0>>2]|0,Q0=S0+(O0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(i0<<2)|0,w0=e[X>>2]|0,B0=w0+(O0<<2)|0,e[B0>>2]=y0,_0=O0+1|0,K0=(_0|0)<(o0|0),K0)O0=_0;else{g=X;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function HS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=q0,$|0):(e[S0>>2]=E0,_0=t+28|0,K0=e[_0>>2]|0,M0=(K0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,O0=r0+4|0,k0=e[O0>>2]|0,V0=(N0|0)>(k0|0),!V0)?($=0,C=q0,$|0):(fQ(t),$=0,C=q0,$|0));if(b0=C,C=C+128|0,U0=t+28|0,F0=e[U0>>2]|0,L0=(F0|0)==0,L0&&fQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,dQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=q0,$|0;for(F=t+8|0,T=b,z0=0;;){if(N=(T|0)>64,N?(G=e[G0>>2]|0,V=(T|0)>(G|0),a=V?G:T,e0=e[F>>2]|0,K=e0+(z0<<2)|0,a0=e[K>>2]|0,h=T-a|0,W=a0+(h<<2)|0,+IQ(W,b0,a,32),s0=e[F>>2]|0,J=s0+(z0<<2)|0,o0=e[J>>2]|0,H=e[v>>2]|0,d0=o0+(H<<2)|0,m=H+-32|0,i0=o0+(m<<2)|0,X=e[S>>2]|0,u0=X-H|0,mQ(b0,i0,32,d0,u0)):(c0=e[F>>2]|0,$0=c0+(z0<<2)|0,Z=e[$0>>2]|0,I0=Z+(T<<2)|0,g0=e[S>>2]|0,f0=g0-T|0,n0=f0<<2,u4(I0|0,0,n0|0)|0),h0=z0+1|0,p0=e[x>>2]|0,C0=(h0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,T=g,z0=h0}return C=q0,$|0}function hQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0;if(ue=C,S=t+4|0,b=e[S>>2]|0,s2=b+28|0,S5=e[s2>>2]|0,a6=t+104|0,R6=e[a6>>2]|0,C6=R6+60|0,B6=e[C6>>2]|0,V6=t+48|0,a9=e[V6>>2]|0,v=t+40|0,G=e[v>>2]|0,d0=S5+(G<<2)|0,n0=e[d0>>2]|0,_0=(n0|0)/2&-1,L0=a9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,P2=e[m2>>2]|0,x5=(P2|0)==-1,x5))return $=0,$|0;y2=jS(t)|0,y5=(y2|0)==-1;do if(y5){if(z2=e[m2>>2]|0,I3=(z2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,h=X3,V3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,U5=e[Y3>>2]|0,$6=(Q3|0)==(U5|0),n3=t+44|0,$6){e[n3>>2]=0,h=n3,V3=0;break}else{e[n3>>2]=y2,h=n3,V3=y2;break}while(!1);if(l3=e[V6>>2]|0,N3=e[v>>2]|0,E6=S5+(N3<<2)|0,k3=e[E6>>2]|0,_3=(k3|0)/4&-1,S3=_3+l3|0,i6=S5+(V3<<2)|0,Z5=e[i6>>2]|0,x3=(Z5|0)/4&-1,d3=S3+x3|0,J3=(Z5|0)/2&-1,d6=d3+J3|0,m3=t+20|0,L6=e[m3>>2]|0,M6=(L6|0)<(d6|0),M6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,h6=(r6|0)==0,!h6)for(w9=r6;b6=w9+4|0,G6=e[b6>>2]|0,X6=e[w9>>2]|0,E2(X6),E2(w9),v6=(G6|0)==0,!v6;)w9=G6;L3=o+80|0,n6=e[L3>>2]|0,o6=(n6|0)==0,o6||(z3=o+68|0,M3=e[z3>>2]|0,K3=o+76|0,e6=e[K3>>2]|0,F6=e6+n6|0,l6=K7(M3,F6)|0,e[z3>>2]=l6,o3=e[L3>>2]|0,K6=e[K3>>2]|0,A3=K6+o3|0,e[K3>>2]=A3,e[L3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,R3=t+36|0,Y6=e[R3>>2]|0,A6=o+24|0,e[A6>>2]=Y6,D6=e[v>>2]|0,U6=o+28|0,e[U6>>2]=D6,t9=e[h>>2]|0,Q6=o+32|0,e[Q6>>2]=t9,e9=(D6|0)==0;do if(e9)if(c9=XS(t)|0,P6=(c9|0)==0,J6=j0+8|0,P6){e[J6>>2]=1;break}else{e[J6>>2]=0;break}else if(G3=(Y6|0)==0,n9=(t9|0)==0,Y9=G3|n9,s9=j0+8|0,Y9){e[s9>>2]=0;break}else{e[s9>>2]=1;break}while(!1);T6=o+64|0,e[T6>>2]=t,i9=t+64|0,_6=i9,O6=_6,U3=e[O6>>2]|0,q6=_6+4|0,d9=q6,o9=e[d9>>2]|0,B9=rs(U3|0,o9|0,1,0)|0,Q9=j6,y9=i9,h9=y9,e[h9>>2]=B9,f9=y9+4|0,H9=f9,e[H9>>2]=Q9,y6=o+56|0,H6=y6,w=H6,e[w>>2]=U3,D=H6+4|0,y=D,e[y>>2]=o9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,T=F,N=e[T>>2]|0,V=o+48|0,e0=V,K=e0,e[K>>2]=R,a0=e0+4|0,W=a0,e[W>>2]=N,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,J=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=J,H=j0+4|0,i0=+s[H>>2],X=+s[B6>>2],u0=i0>X,u0?(s[B6>>2]=i0,c0=i0):c0=X,$0=+kb(c0,t),s[B6>>2]=$0,s[H>>2]=$0,l0=b+4|0,Z=e[l0>>2]|0,I0=Z<<2,g0=I0+7|0,f0=g0&-8,h0=e[c6>>2]|0,p0=f0+h0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=R9(8)|0,K0=e[L3>>2]|0,M0=K0+h0|0,e[L3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=R9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,O0=N0,k0=0,G0=g,P0=f0):(O0=E0,k0=h0,G0=Z,P0=S0),U0=O0+k0|0,V0=k0+f0|0,e[c6>>2]=V0,e[o>>2]=U0,F0=G0<<2,z0=F0+7|0,J0=z0&-8,q0=J0+V0|0,Z0=(q0|0)>(P0|0),Z0?(H0=(O0|0)==0,H0||(s1=O0,Y0=R9(8)|0,i1=e[L3>>2]|0,o1=i1+V0|0,e[L3>>2]=o1,h1=e[S6>>2]|0,u1=Y0+4|0,e[u1>>2]=h1,e[Y0>>2]=s1,e[S6>>2]=Y0),e[C0>>2]=J0,m1=R9(J0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,d1=m1,A1=0,a1=m,V5=J0):(d1=O0,A1=V0,a1=G0,V5=P0),f1=d1+A1|0,g1=A1+J0|0,e[c6>>2]=g1,e[j0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(E1=t+8|0,k1=g1,M1=V5,_1=d1,A9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,U1=R9(8)|0,D1=e[L3>>2]|0,P1=D1+k1|0,e[L3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=R9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,Y1=0):(H1=_1,Y1=k1),z1=H1+Y1|0,V1=Y1+w1|0,e[c6>>2]=V1,X1=e[j0>>2]|0,n2=X1+(A9<<2)|0,e[n2>>2]=z1,j1=e[j0>>2]|0,O1=j1+(A9<<2)|0,g2=e[O1>>2]|0,W1=e[E1>>2]|0,h2=W1+(A9<<2)|0,a2=e[h2>>2]|0,ge(g2|0,a2|0,p1|0)|0,K1=e[j0>>2]|0,d2=K1+(A9<<2)|0,l2=e[d2>>2]|0,i2=l2+(L0<<2)|0,c2=e[o>>2]|0,r2=c2+(A9<<2)|0,e[r2>>2]=i2,A2=A9+1|0,e2=e[l0>>2]|0,o2=(A2|0)<(e2|0),!o2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,_1=Q,A9=A2}while(!1);if(t2=e[m2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[m2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(N2=S5+4|0,L2=e[N2>>2]|0,U2=(L2|0)/2&-1,p2=d3-U2|0,W2=(p2|0)>0,!W2)return $=1,$|0;if(V2=e[R6>>2]|0,eb(V2,p2),G2=e[m3>>2]|0,q2=G2-p2|0,e[m3>>2]=q2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(H2=t+8|0,N1=e[H2>>2]|0,t5=e[N1>>2]|0,T5=t5+(p2<<2)|0,i5=q2<<2,oA(t5|0,T5|0,i5|0)|0,j2=e[l0>>2]|0,I5=(j2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[H2>>2]|0,Y5=b5+(g5<<2)|0,b2=e[Y5>>2]|0,B5=b2+(p2<<2)|0,s5=B<<2,oA(b2|0,B5|0,s5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return N5=e[v>>2]|0,e[R3>>2]=N5,m5=e[h>>2]|0,e[v>>2]=m5,e[V6>>2]=U2,L5=e[m2>>2]|0,q5=(L5|0)==0,q5?(f3=(p2|0)<0,y3=f3<<31>>31,q3=x,X5=q3,b3=e[X5>>2]|0,t3=q3+4|0,s6=t3,T3=e[s6>>2]|0,H3=rs(b3|0,T3|0,p2|0,y3|0)|0,c3=j6,g3=x,u3=g3,e[u3>>2]=H3,z5=g3+4|0,H5=z5,e[H5>>2]=c3,$=1,$|0):(M5=L5-p2|0,Y2=(M5|0)<1,a=Y2?-1:M5,e[m2>>2]=a,p5=(a|0)>(U2|0),p5?(c5=(p2|0)<0,F2=c5<<31>>31,v5=x,J5=v5,i3=e[J5>>2]|0,E5=v5+4|0,h3=E5,K5=e[h3>>2]|0,r3=rs(i3|0,K5|0,p2|0,F2|0)|0,a3=j6,B3=x,G5=B3,e[G5>>2]=r3,W5=B3+4|0,D3=W5,e[D3>>2]=a3,$=1,$|0):($5=a+p2|0,u5=$5-U2|0,T1=(u5|0)<0,D5=T1<<31>>31,d5=x,l5=d5,X2=e[l5>>2]|0,u2=d5+4|0,w5=u2,r5=e[w5>>2]|0,a5=rs(X2|0,r5|0,u5|0,D5|0)|0,h5=j6,f5=x,n5=f5,e[n5>>2]=a5,R5=f5+4|0,e5=R5,e[e5>>2]=h5,$=1,$|0))}function YS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0;if(n5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,c2=(O1|0)<1,c2)||(N2=e[B>>2]|0,H2=(N2|0)<64,H2)||(b2=B+4|0,M5=e[b2>>2]|0,S=(M5|0)<(N2|0),S))return $=1,$|0;T=B+3656|0,o0=e[T>>2]|0,z2=t,R5=z2+112|0;do e[z2>>2]=0,z2=z2+4|0;while((z2|0)<(R5|0));g0=ce(1,136)|0,w0=t+104|0,e[w0>>2]=g0,V0=t+4|0,e[V0>>2]=o,Y0=e[Z1>>2]|0,a1=Y0+-1|0,B1=q8(a1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=ce(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=ce(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=ce(1,20)|0,e[k1>>2]=_1,R1=ce(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,yC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,yC(P1,x1),z1=e[B>>2]|0,q1=q8(z1)|0,H1=q1+-7|0,Y1=g0+4|0,e[Y1>>2]=H1,V1=e[b2>>2]|0,X1=q8(V1)|0,n2=X1+-7|0,j1=g0+8|0,e[j1>>2]=n2,g2=(a|0)==0;e:do if(g2){if(y2=B+2848|0,Q5=e[y2>>2]|0,N5=(Q5|0)==0,N5&&(m5=B+24|0,L5=e[m5>>2]|0,q5=ce(L5,56)|0,e[y2>>2]=q5,Y2=e[m5>>2]|0,p5=(Y2|0)>0,p5)){for(Q1=Y2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(d5=e[y2>>2]|0,l5=d5+(w5*56|0)|0,X2=Jb(l5,u5)|0,b=(X2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,vC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,h5=0;A1=(B+1824|0)+(h5<<2)|0,g1=e[A1>>2]|0,$1=(g1|0)==0,$1?I1=p1:(vC(g1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=h5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,h5=j0;return uQ(t),$=-1,$|0}}else{if(W1=g0+20|0,h2=e[B>>2]|0,_Q(W1,h2),s2=g0+32|0,C2=e[b2>>2]|0,_Q(s2,C2),a2=B+2848|0,K1=e[a2>>2]|0,d2=(K1|0)==0,d2&&(l2=B+24|0,i2=e[l2>>2]|0,r2=ce(i2,56)|0,e[a2>>2]=r2,A2=e[l2>>2]|0,e2=(A2|0)>0,e2&&(o2=B+1824|0,m2=e[o2>>2]|0,DQ(r2,m2)|0,t2=e[l2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[a2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,DQ(D2,L2)|0,U2=S2+1|0,p2=e[l2>>2]|0,W2=(U2|0)<(p2|0),W2;)S2=U2;P2=B+28|0,V2=e[P2>>2]|0,G2=ce(V2,52)|0,q2=g0+56|0,e[q2>>2]=G2,Z2=e[P2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=o+8|0,i5=G2,u2=0;;){if(T5=i5+(u2*52|0)|0,x5=(B+2852|0)+(u2<<2)|0,j2=e[x5>>2]|0,I5=e[j2>>2]|0,b5=B+(I5<<2)|0,Y5=e[b5>>2]|0,g5=(Y5|0)/2&-1,B5=e[t5>>2]|0,vb(T5,j2,N1,g5,B5),s5=u2+1|0,R2=e[P2>>2]|0,M2=(s5|0)<(R2|0),!M2)break t;h=e[q2>>2]|0,i5=h,u2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,N=R9(F)|0,G=t+8|0,e[G>>2]=N,V=R9(F)|0,e0=t+12|0,e[e0>>2]=V,K=(R|0)>0,K&&(a0=ce(x,4)|0,e[N>>2]=a0,W=(R|0)>1,W))for(J=1;m=e[G>>2]|0,r0=ce(x,4)|0,s0=m+(J<<2)|0,e[s0>>2]=r0,H=J+1|0,d0=(H|0)<(R|0),d0;)J=H;if(i0=t+36|0,e[i0>>2]=0,X=t+40|0,e[X>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,Z=B+16|0,I0=e[Z>>2]|0,f0=ce(I0,4)|0,n0=g0+48|0,e[n0>>2]=f0,h0=B+20|0,p0=e[h0>>2]|0,C0=ce(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[Z>>2]|0,b0=(Q0|0)>0,b0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,_0=e[B0>>2]|0,K0=25640+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(r5<<2)|0,U0=e[N0>>2]|0,O0=mi[T0&15](t,U0)|0,k0=e[n0>>2]|0,F0=k0+(r5<<2)|0,e[F0>>2]=O0,L0=r5+1|0,G0=e[Z>>2]|0,z0=(L0|0)<(G0|0),z0;)r5=L0;if(E0=e[h0>>2]|0,y0=(E0|0)>0,y0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,q0=e[J0>>2]|0,Z0=25648+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+8|0,s1=e[H0>>2]|0,i1=(B+1568|0)+(a5<<2)|0,x0=e[i1>>2]|0,o1=mi[s1&15](t,x0)|0,h1=e[S0>>2]|0,u1=h1+(a5<<2)|0,e[u1>>2]=o1,m1=a5+1|0,f1=e[h0>>2]|0,d1=(m1|0)<(f1|0),d1)a5=m1;else{$=0;break}return $|0}function fQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,C=C+64|0,g=M0,h=t+20|0,y=e[h>>2]|0,K=y<<2,o=K,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,T=u0+(B0<<2)|0,e[T>>2]=F,N=B0+1|0,G=(b|0)>(N|0),G;)B0=N;if(V=e[Q0>>2]|0,e0=b-V|0,+IQ(u0,g,e0,16),a0=e[h>>2]|0,W=e[Q0>>2]|0,a=a0-W|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,mQ(g,s0,16,r0,W),J=e[h>>2]|0,o0=(J|0)>0,o0)for(H=e[S>>2]|0,d0=H+(w0<<2)|0,i0=e[d0>>2]|0,_0=0;X=u0+(_0<<2)|0,c0=e[X>>2]|0,$0=_0^-1,l0=J+$0|0,Z=i0+(l0<<2)|0,e[Z>>2]=c0,I0=_0+1|0,g0=(J|0)>(I0|0),g0;)_0=I0;if(f0=w0+1|0,n0=e[m>>2]|0,h0=n0+4|0,p0=e[h0>>2]|0,S0=(f0|0)<(p0|0),S0)b=J,w0=f0;else break}C=M0}function VS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0;A2=C,O2(o,5653314,24),m=e[t>>2]|0,O2(o,m,16),I=t+4|0,G=e[I>>2]|0,O2(o,G,24),d0=e[I>>2]|0,n0=(d0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(b1=L0+O1|0,E=f[b1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(d0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(d0|0);e:do if(M){if(O2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,T=F<<24>>24,N=T+-1|0,O2(o,N,5),V=e[I>>2]|0,e0=(V|0)>1,e0)for(w=V,H1=0,W1=1;;){if(K=e[L>>2]|0,a0=K+W1|0,W=f[a0>>0]|0,r0=W1+-1|0,s0=K+r0|0,J=f[s0>>0]|0,o0=W<<24>>24>J<<24>>24,o0)for(H=J<<24>>24,i0=W<<24>>24,c0=w,Y1=H1,l2=H;;)if(X=W1-Y1|0,u0=c0-Y1|0,$0=q8(u0)|0,O2(o,X,$0),l0=l2+1|0,n2=(l0|0)==(i0|0),h=e[I>>2]|0,n2){g0=h,V1=W1;break}else c0=h,Y1=W1,l2=l0;else g0=w,V1=H1;if(Z=W1+1|0,I0=(Z|0)<(g0|0),I0)w=g0,H1=V1,W1=Z;else{$=g0,q1=V1,g2=Z;break}}else $=V,q1=0,g2=1;f0=g2-q1|0,h0=$-q1|0,p0=q8(h0)|0,O2(o,f0,p0)}else{O2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,s2=0;;){if(E0=b0+s2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){h2=s2;break t}if(B0=s2+1|0,K0=(B0|0)<(C0|0),K0)s2=B0;else{h2=B0;break}}else h2=0;while(!1);if(M0=(h2|0)==(C0|0),M0){if(O2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,C2=0;;)if(U0=e[N0>>2]|0,O0=U0+C2|0,k0=f[O0>>0]|0,V0=k0<<24>>24,F0=V0+-1|0,O2(o,F0,5),G0=C2+1|0,z0=e[I>>2]|0,J0=(G0|0)<(z0|0),J0)C2=G0;else break e}if(O2(o,1,1),q0=e[I>>2]|0,Z0=(q0|0)>0,Z0)for(P0=t+8|0,a2=0;H0=e[P0>>2]|0,s1=H0+a2|0,Y0=f[s1>>0]|0,i1=Y0<<24>>24==0,i1?O2(o,0,1):(O2(o,1,1),o1=e[P0>>2]|0,h1=o1+a2|0,u1=f[h1>>0]|0,m1=u1<<24>>24,f1=m1+-1|0,O2(o,f1,5)),d1=a2+1|0,A1=e[I>>2]|0,g1=(d1|0)<(A1|0),g1;)a2=d1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,O2(o,$1,4),E1=e[a1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,O2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,O2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,O2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,O2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=Hb(t)|0,c2=D1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=o5(Z1,P1)|0,c2=G1;else break;if(x1=(c2|0)>0,x1)for(K1=0;z1=e[I1>>2]|0,Q=z1+(K1<<2)|0,B=e[Q>>2]|0,d2=(B|0)>-1,i2=0-B|0,S=d2?B:i2,b=e[L1>>2]|0,O2(o,S,b),v=K1+1|0,X1=(v|0)==(c2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Gu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0;return e0=C,g=(o|0)<0,g||(h=t+12|0,y=e[h>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,T=e[F>>2]|0,N=T+(o<<2)|0,G=e[N>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,O2(a,G,B),S=e[h>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function sE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,h=(g|0)>0,!h||(m=Uu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function JS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,H=o0<<2,h=H,d0=C,C=C+((1*h|0)+15&-16)|0,i0=(o0|0)>0;e:do if(i0){for(X=t+16|0,l0=0;;){if(N=Uu(t,a)|0,G=(N|0)==-1,G){g=-1;break}if(V=e[X>>2]|0,e0=e[t>>2]|0,K=o5(e0,N)|0,a0=V+(K<<2)|0,W=d0+(l0<<2)|0,e[W>>2]=a0,r0=l0+1|0,J=(r0|0)<(o0|0),J)l0=r0;else{u0=e0;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=i0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(Z=0,g0=0;;){for(I0=0;v=d0+(I0<<2)|0,w=e[v>>2]|0,D=w+(Z<<2)|0,y=+s[D>>2],x=I0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,T=I0+1|0,$0=(T|0)==(o0|0),!$0;)I0=T;if(B=Z+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)Z=B,g0=S;else{g=0;break}}return C=n0,g|0}function zS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0;if(t5=C,K=t+8|0,a0=e[K>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(z1=t+16|0,e2=0;;){if(i0=Uu(t,a)|0,X=(i0|0)==-1,X){g=-1,N1=29;break}if(u0=e[z1>>2]|0,c0=e[t>>2]|0,$0=o5(c0,i0)|0,l0=(c0|0)>0,l0){for(Z=(c0|0)>1,H2=Z?c0:1,m2=e2,p2=0;I0=p2+1|0,e0=p2+$0|0,g0=u0+(e0<<2)|0,n0=+s[g0>>2],h0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(I0|0)<(c0|0),Q0;)m2=h0,p2=I0;h2=e2+H2|0,o2=h2}else o2=e2;if(W=(o2|0)<($|0),W)e2=o2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=Uu(t,a)|0,o0=(J|0)==-1,o0){g=-1,N1=29;break e}switch(H=e[i1>>2]|0,d0=e[t>>2]|0,d0|0){case 4:{B=J,y=H,N1=19;break t}case 3:{S=J,x=H,N1=21;break t}case 7:{I=J,v=H,N1=13;break t}case 6:{E=J,w=H,N1=15;break t}case 8:{h=H,m=J,N1=12;break t}case 5:{Q=J,D=H,N1=17;break t}case 1:{K1=J,l2=H,U2=t2,A5=0;break t}case 2:{b=J,M=H,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=h+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,K0=+s[_0>>2],M0=K0+y0,s[_0>>2]=M0,N0=b0,O0=h,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,O0=v,k2=t2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,Z0=J0,H0=w,D2=t2,P2=0,N1=16):(N1|0)==17?(N1=0,u1=Q*5|0,f1=u1,A1=D,S2=t2,V2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,G2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,D1=F1,Z1=x,N2=t2,q2=0,N1=22):(N1|0)==23&&(N1=0,V1=b<<1,n2=V1,O1=M,L2=t2,Z2=0,N1=24),(N1|0)==14&&(N1=0,T0=W2+1|0,V=W2+N0|0,U0=O0+(V<<2)|0,k0=+s[U0>>2],V0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],z0=G0+k0,s[L0>>2]=z0,Z0=N0,H0=O0,D2=V0,P2=T0,N1=16),(N1|0)==16&&(N1=0,q0=P2+1|0,G=P2+Z0|0,P0=H0+(G<<2)|0,s1=+s[P0>>2],Y0=D2+1|0,x0=o+(D2<<2)|0,o1=+s[x0>>2],h1=o1+s1,s[x0>>2]=h1,f1=Z0,A1=H0,S2=Y0,V2=q0,N1=18),(N1|0)==18&&(N1=0,m1=V2+1|0,N=V2+f1|0,d1=A1+(N<<2)|0,g1=+s[d1>>2],a1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+g1,s[j0>>2]=I1,B1=f1,v1=A1,Q2=a1,G2=m1,N1=20),(N1|0)==20&&(N1=0,p1=G2+1|0,T=G2+B1|0,w1=v1+(T<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,b1=o+(Q2<<2)|0,_1=+s[b1>>2],R1=_1+k1,s[b1>>2]=R1,D1=B1,Z1=v1,N2=L1,q2=p1,N1=22),(N1|0)==22&&(N1=0,U1=q2+1|0,F=q2+D1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=N2+1|0,q1=o+(N2<<2)|0,H1=+s[q1>>2],Y1=H1+G1,s[q1>>2]=Y1,n2=D1,O1=Z1,L2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,X1=Z2+1|0,R=Z2+n2|0,j1=O1+(R<<2)|0,g2=+s[j1>>2],W1=L2+1|0,s2=o+(L2<<2)|0,C2=+s[s2>>2],a2=C2+g2,s[s2>>2]=a2,K1=n2,l2=O1,U2=W1,A5=X1),L=A5+K1|0,d2=l2+(L<<2)|0,i2=+s[d2>>2],c2=U2+1|0,r2=o+(U2<<2)|0,A2=+s[r2>>2],r0=A2+i2,s[r2>>2]=r0,s0=(c2|0)<($|0),s0)t2=c2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function KS(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(r0=(a|0)/($|0)&-1,s0=h+a|0,J=(s0|0)/($|0)&-1,o0=(r0|0)<(J|0),!o0))return I=0,I|0;for(H=t+16|0,X=0,$0=r0;;){if(i0=Uu(t,g)|0,b=(i0|0)==-1,b){I=-1,g0=8;break}if(v=e[H>>2]|0,w=e[t>>2]|0,D=o5(w,i0)|0,y=(w|0)>0,y)for(c0=X,Z=$0,I0=0;;)if(Q=I0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,N=F+(Z<<2)|0,G=+s[N>>2],V=G+M,s[N>>2]=V,e0=(L|0)==($|0),K=e0&1,E=K+Z|0,m=e0?0:L,a0=I0+1|0,W=(a0|0)<(w|0),W)c0=m,Z=E,I0=a0;else{u0=m,l0=E;break}else u0=X,l0=$0;if(d0=(l0|0)<(J|0),d0)X=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Uu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,h=e[g>>2]|0,y=t+36|0,K=e[y>>2]|0,u0=EC(o,K)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,h1=J0+(u0<<2)|0,u1=e[h1>>2]|0,m=(u1|0)<0,m){I=u1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=u1&32767,b=B-S|0,m1=b,d1=E;break}return v=u1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,CC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,d1=0;while(!1);if(T=EC(o,h)|0,N=(T|0)<0,G=(h|0)>1,V=N&G,V)for(j0=h;;)if(e0=j0+-1|0,a0=EC(o,e0)|0,W=(a0|0)<0,r0=(e0|0)>1,s0=W&r0,s0)j0=e0;else{$=W,a1=a0,$1=e0;break}else $=N,a1=T,$1=h;if($)return a=-1,a|0;if(J=a1>>>16,o0=a1<<16,H=J|o0,d0=H>>>8,i0=d0&16711935,X=H<<8,c0=X&-16711936,$0=i0|c0,l0=$0>>>4,Z=l0&252645135,I0=$0<<4,g0=I0&-252645136,f0=Z|g0,n0=f0>>>2,h0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=h0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-d1|0,K0=(_0|0)>1,K0)for(M0=t+20|0,T0=e[M0>>2]|0,U0=_0,f1=m1,g1=d1;;)if(N0=U0>>1,O0=N0+g1|0,k0=T0+(O0<<2)|0,V0=e[k0>>2]|0,F0=V0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+g1|0,z0=F0?N0:0,q0=f1-z0|0,Z0=q0-G0|0,P0=(Z0|0)>1,P0)U0=Z0,f1=q0,g1=G0;else{A1=G0;break}else A1=d1;return H0=t+28|0,s1=e[H0>>2]|0,Y0=s1+A1|0,i1=f[Y0>>0]|0,x0=i1<<24>>24,o1=(x0|0)>($1|0),o1?(CC(o,$1),a=-1,a|0):(CC(o,x0),a=A1,a|0)}function WS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0;for(h1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,J=e[F>>2]|0,I0=t+4|0,e[I0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,q0=t+12|0,e[q0>>2]=J0,e[t>>2]=J,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=ce(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,yC(x,128),M=e[y>>2]|0,Y0=0;L=+(Y0|0),R=L*.024736950028266088,T=+Hn(+R),N=T,G=M+(Y0<<2)|0,V=N*N,s[G>>2]=V,e0=Y0+1|0,s1=(e0|0)==128,!s1;)Y0=e0;for(K=t+40|0,e[K>>2]=2,a0=t+44|0,e[a0>>2]=4,W=t+56|0,e[W>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,H=t+88|0,e[H>>2]=9,d0=t+92|0,e[d0>>2]=8,i0=t+104|0,e[i0>>2]=13,X=t+108|0,e[X>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(Z=g0<<2,f0=R9(Z)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,h0=(g0|0)>0,h0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Hn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,K0=M0+B0,v0=i1+1|0,P0=(v0|0)==(g0|0),P0){a=K0;break}else M0=K0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,U0=x0+1|0,H0=(U0|0)==7,H0)break;$=((t+40|0)+(U0<<4)|0)+4|0,h=e[$>>2]|0,g0=h,x0=U0}O0=J*7|0,V0=ce(O0,144)|0,F0=t+152|0,e[F0>>2]=V0,L0=e[Z0>>2]|0,G0=ce(L0,4)|0,z0=t+160|0,e[z0>>2]=G0}function ZS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;N=C,o=t+16|0,wC(o),a=t+48|0,v=e[a>>2]|0,E2(v),D=t+64|0,y=e[D>>2]|0,E2(y),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,R=e[L>>2]|0,E2(R),F=t+112|0,$=e[F>>2]|0,E2($),g=t+128|0,h=e[g>>2]|0,E2(h),m=t+144|0,I=e[m>>2]|0,E2(I),E=t+36|0,Q=e[E>>2]|0,E2(Q),B=t+152|0,S=e[B>>2]|0,E2(S),b=t+160|0,w=e[b>>2]|0,E2(w),u4(t|0,0,180)|0}function jS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,h=t+4|0,m=e[h>>2]|0,R=m+28|0,s0=e[R>>2]|0,Z=s0+2868|0,E0=t+104|0,O0=e[E0>>2]|0,H0=e[O0>>2]|0,A1=H0+168|0,v1=e[A1>>2]|0,I=H0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=H0+164|0,F=e[L>>2]|0,T=(M|0)>(F|0),T&&(e[L>>2]=M,N=H0+160|0,G=e[N>>2]|0,V=M<<2,e0=K7(G,V)|0,e[N>>2]=e0),K=(o|0)<(y|0),K)for(a0=H0+156|0,W=H0+160|0,r0=t+8|0,J=H0+40|0,o0=H0+152|0,x1=o;;){if(H=e[a0>>2]|0,d0=H+1|0,i0=(H|0)>23,$=i0?24:d0,e[a0>>2]=$,X=e[H0>>2]|0,u0=(X|0)>0,u0){for(G1=0,Y1=0;;)if(I0=e[r0>>2]|0,g0=I0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,h0=o5(n0,x1)|0,p0=f0+(h0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=tb(H0,Z,p0,J,Q0)|0,y0=b0|Y1,w0=G1+1|0,B0=e[H0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,Y1=y0;else{g=y0;break}K0=x1+2|0,M0=e[W>>2]|0,v0=M0+(K0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(U0=M0+(x1<<2)|0,e[U0>>2]=1,k0=x1+1|0,V0=M0+(k0<<2)|0,e[V0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,z0=(x1|0)>0,z0&&(J0=x1+-1|0,q0=M0+(J0<<2)|0,e[q0>>2]=1)),Z0=g&4,P0=(Z0|0)==0,P0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[W>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(s1=x1+1|0,Z1=(s1|0)==(y|0),Z1)break;x1=s1}if(Y0=e[I>>2]|0,i1=o5(Y0,y)|0,e[A1>>2]=i1,x0=t+48|0,o1=e[x0>>2]|0,h1=t+40|0,u1=e[h1>>2]|0,m1=s0+(u1<<2)|0,f1=e[m1>>2]|0,d1=(f1|0)/4&-1,g1=d1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,j0=($1|0)/2&-1,E1=g1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=H0+176|0,w1=e[B1>>2]|0,k1=i1-Y0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=H0+160|0,z1=w1;;){if(R1=(z1|0)<(p1|0),!R1){a=1,V1=22;break}if(e[B1>>2]=z1,F1=(z1|0)/(Y0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,Q=(z1|0)>(o1|0),H1=Q&E,b1=Y0+z1|0,H1){q1=z1,V1=21;break}if(_1=(b1|0)<(k1|0),_1)z1=b1;else{a=-1,V1=22;break}}return(V1|0)==21?(B=H0+172|0,e[B>>2]=q1,a=0,a|0):(V1|0)==22?a|0:0}function XS(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,h=e[g>>2]|0,y=e[h>>2]|0,K=t+4|0,u0=e[K>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,h0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=h0-Q|0,S=Q+h0|0,b=(m|0)==0,b?(G=e[f0>>2]|0,V=(G|0)/4&-1,a=V,$=V):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,T=e[F>>2]|0,N=(T|0)/4&-1,a=N,$=M),C0=B-$|0,S0=S+a|0,e0=y+172|0,a0=e[e0>>2]|0,W=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=W&r0,b0)return o=1,o|0;if(s0=y+8|0,J=e[s0>>2]|0,o0=(C0|0)/(J|0)&-1,H=(S0|0)/(J|0)&-1,d0=(o0|0)<(H|0),!d0)return o=0,o|0;for(i0=y+160|0,X=e[i0>>2]|0,Q0=o0;;){if(l0=X+(Q0<<2)|0,Z=e[l0>>2]|0,I0=(Z|0)==0,c0=Q0+1|0,!I0){o=1,E0=9;break}if($0=(c0|0)<(H|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,T=F+(L<<2)|0,g=M-L|0,h=g<<2,oA(F|0,T|0,h|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function tb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0;if(m3=C,K=t+4|0,a0=e[K>>2]|0,c2=t+12|0,N2=+s[c2>>2],H2=a0<<2,x=H2,b2=C,C=C+((1*x|0)+15&-16)|0,M5=t+156|0,u2=e[M5>>2]|0,F2=(u2|0)>5,G5=(u2|0)/2&-1,h=F2?G5:2,W=o+60|0,$0=+s[W>>2],Q0=G5+-2|0,N0=+(Q0|0),Z0=$0-N0,f1=Z0<0,E6=f1?0:Z0,B1=E6>$0,k3=B1?$0:E6,D1=(a0|0)>0,D1)for(n2=t+36|0,l2=e[n2>>2]|0,V5=0;r2=a+(V5<<2)|0,A2=+s[r2>>2],e2=l2+(V5<<2)|0,o2=+s[e2>>2],m2=o2*A2,t2=b2+(V5<<2)|0,s[t2>>2]=m2,k2=V5+1|0,Q3=(k2|0)==(a0|0),!Q3;)V5=k2;D2=t+16|0,pQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,U2=b2+4|0,p2=+s[U2>>2],W2=p2,P2=W2*W2,V2=P2*.7,G2=V2+L2,q2=b2+8|0,Z2=+s[q2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,T5=G2+t5,i5=T5,x5=g+140|0,j2=e[x5>>2]|0,I5=(j2|0)==0,I5?(b5=g+136|0,Y5=+s[b5>>2],g5=Y5+i5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=i5,T=B5,Y2=g5):(s5=g+132|0,R2=+s[s5>>2],M2=R2+i5,s[s5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],N5=Q5+i5,s[y2>>2]=N5,T=s5,Y2=M2),m5=(g+72|0)+(j2<<2)|0,L5=+s[m5>>2],q5=Y2-L5,s[T>>2]=q5,s[m5>>2]=i5,p5=e[x5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[x5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=Y2*.0625,d5=(s[w2>>2]=D5,e[w2>>2]|0),l5=d5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,h5=a5*.5,z2=h5+-15,f5=z2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,U0=S5|1,O0=b2+(U0<<2)|0,k0=+s[O0>>2],V0=k0*k0,F0=V0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,z0=+(G0>>>0),J0=z0*35885571492144663e-23,q0=J0+-382.30810546875,P0=q0>1,Y0=b2+(s1<<2)|0,s[Y0>>2]=e0,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;o1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=o1,T0=F,S5=i1}while(!1);if(n5=(h|0)>0,n5)l3=0,V3=0;else{for(n3=0,i6=0;;){if(h1=($+(n3<<4)|0)+4|0,u1=e[h1>>2]|0,m1=(u1|0)>0,m1)for(d1=$+(n3<<4)|0,A1=e[d1>>2]|0,g1=($+(n3<<4)|0)+8|0,a1=e[g1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=a1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(u1|0),k1)c3=w1,Y3=v1;else{T3=w1;break}else T3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*T3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=b1P1,S=x1?P1:b1,z1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,Y1=e[_1>>2]|0,V1=Y1+1|0,X1=(Y1|0)>15,D=X1?0:V1,e[_1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],g2=O1+k3,W1=q1>g2,h2=i6|5,Z5=W1?h2:i6,s2=(o+32|0)+(n3<<2)|0,C2=+s[s2>>2],a2=C2-k3,K1=z1>2]|0,c5=(e5|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,U5=0;;)if(u0=c0+U5|0,l0=b2+(u0<<2)|0,Z=+s[l0>>2],I0=g0+(U5<<2)|0,f0=+s[I0>>2],n0=f0*Z,h0=n0+g3,p0=U5+1|0,C0=(p0|0)<(e5|0),C0)g3=h0,U5=p0;else{H3=h0;break}else H3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],h3=y0*H3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],K0=h3<_0,i3=K0?_0:h3,M0=h3>_0,b=M0?_0:h3,$6=0,N3=E,_3=-99999,S3=99999;;)if(s0=(N3|0)<1,w=s0?16:-1,v=w+N3|0,J=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[J>>2],H=_3o0,N=i0?o0:S3,X=$6+1|0,z5=(X|0)==(h|0),z5){L=d0,G=N;break}else $6=X,N3=v,_3=d0,S3=N;if(v5=b-G,J5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=h3,K5=e[r3>>2]|0,a3=K5+1|0,B3=(K5|0)>15,y=B3?0:a3,e[r3>>2]=y,W5=(o+4|0)+(l3<<2)|0,D3=+s[W5>>2],f3=D3+k3,y3=J5>f3,X3=V3|5,x3=y3?X3:V3,q3=(o+32|0)+(l3<<2)|0,X5=+s[q3>>2],b3=X5-k3,t3=v5>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,U3=o+1284|0,y6=e[U3>>2]|0,v9=(y6|0)>0,v9){for(mt=0;o4=be+(mt<<2)|0,e[o4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(y6|0),!S4;)mt=k4;if(v9){for(W3=0;Be=me+(W3<<2)|0,e[Be>>2]=-200,r0=W3+1|0,Ie=(r0|0)==(y6|0),!Ie;)W3=r0;if(v9){for(l0=y6<<2,u4(Pt|0,0,l0|0)|0,x9=0;b0=F4+(x9<<2)|0,e[b0>>2]=1,U0=x9+1|0,J4=(U0|0)==(y6|0),!J4;)x9=U0;if(v9){if(d1=y6<<2,u4(t8|0,-1,d1|0)|0,w1=(y6|0)>1,!w1)return $4=0,C=ae,$4|0;for(P1=r6+-1|0,j1=W+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ke=F,b9=0,b4=0;;){Fe=b9+1|0,Te=o+(Fe<<2)|0,Ge=e[Te>>2]|0,He=z6+(b9*56|0)|0,O4=He,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[He>>2]=ke,Ye=(z6+(b9*56|0)|0)+4|0,e[Ye>>2]=Ge,J9=(Ge|0)<(r6|0),s8=J9?Ge:P1,Ve=(s8|0)<(ke|0),Ve)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,Z9=0,jt=0,Tt=0,K8=0,W8=0;else for(xe=ke,pt=0,z4=0,We=0,oe=0,D4=0,gt=0,E3=0,T9=0,dt=0,D9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,V=+s[he>>2],Ue=V*7.314285755157471,Ce=Ue+1023.5,v4=~~Ce,W9=(v4|0)>1023,k9=(v4|0)<0,m=k9?0:v4,S=W9?1023:m,Y4=(S|0)==0;do if(Y4)zt=pt,at=z4,$t=We,Bt=oe,W4=D4,De=gt,wt=E3,Wt=T9,je=dt,et=D9,g4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Je=+s[nt>>2],V4=+s[j1>>2],ze=V4+Je,s4=!(ze>=V),s4){h4=xe+gt|0,ne=S+Nt|0,f4=o5(xe,xe)|0,I4=f4+oe|0,Se=o5(S,S)|0,s0=Se+D9|0,J=o5(S,xe)|0,o0=J+T9|0,H=z4+1|0,zt=pt,at=H,$t=We,Bt=I4,W4=D4,De=h4,wt=E3,Wt=o0,je=dt,et=s0,g4=u8,Xt=ne;break}else{R4=xe+D4|0,ot=S+u8|0,re=o5(xe,xe)|0,d4=re+We|0,N6=o5(S,S)|0,Ke=N6+dt|0,P9=o5(S,xe)|0,fe=P9+E3|0,Ne=pt+1|0,zt=Ne,at=z4,$t=d4,Bt=oe,W4=R4,De=gt,wt=fe,Wt=T9,je=Ke,et=D9,g4=ot,Xt=Nt;break}while(!1);if(d0=xe+1|0,i0=(xe|0)<(s8|0),i0)xe=d0,pt=zt,z4=at,We=$t,oe=Bt,D4=W4,gt=De,E3=wt,T9=Wt,dt=je,D9=et,u8=g4,Nt=Xt;else{_t=zt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=De,a8=wt,Z9=Wt,jt=je,Tt=et,K8=g4,W8=Xt;break}}if(X=(z6+(b9*56|0)|0)+8|0,e[X>>2]=Qt,u0=(z6+(b9*56|0)|0)+12|0,e[u0>>2]=K8,c0=(z6+(b9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(b9*56|0)|0)+20|0,e[$0>>2]=jt,Z=(z6+(b9*56|0)|0)+24|0,e[Z>>2]=a8,I0=(z6+(b9*56|0)|0)+28|0,e[I0>>2]=_t,g0=(z6+(b9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(z6+(b9*56|0)|0)+36|0,e[f0>>2]=W8,n0=(z6+(b9*56|0)|0)+40|0,e[n0>>2]=Rt,h0=(z6+(b9*56|0)|0)+44|0,e[h0>>2]=Tt,p0=(z6+(b9*56|0)|0)+48|0,e[p0>>2]=Z9,C0=(z6+(b9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+b4|0,f6=(Fe|0)==(i2|0),f6){E8=S0;break}else ke=Ge,b9=Fe,b4=S0}}else B4=9}else B4=9}else B4=9}else B4=9;if((B4|0)==9){if(P0=(y6|0)==0,!P0)return $4=0,C=ae,$4|0;N2=z6+4|0,O4=z6,N8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(N8|0));if(e[N2>>2]=r6,H2=(r6|0)<1,H2)Vt=0,r8=0,Kt=0,Ct=0,ct=0,se=0,yt=0,l4=0,l8=0,c8=0,H8=0,Y8=0;else for(b2=W+1112|0,pe=0,xt=0,Et=0,At=0,p4=0,E4=0,C4=0,Ze=0,c4=0,ut=0,X4=0,R8=0,ht=0;;){M5=$+(pe<<2)|0,G=+s[M5>>2],u2=G*7.314285755157471,F2=u2+1023.5,G5=~~F2,T3=(G5|0)>1023,U5=(G5|0)<0,h=U5?0:G5,B=T3?1023:h,V3=(B|0)==0;do if(V3)Jt=xt,G4=Et,U4=At,lt=p4,K4=E4,_4=C4,Z4=Ze,j4=c4,Ft=ut,g8=X4,F8=R8,T8=ht;else if(h6=a+(pe<<2)|0,K3=+s[h6>>2],A6=+s[b2>>2],c9=A6+K3,P6=!(c9>=G),P6){B9=pe+C4|0,Q9=B+ht|0,y9=o5(pe,pe)|0,h9=y9+p4|0,f9=o5(B,B)|0,H9=f9+X4|0,H6=o5(B,pe)|0,A9=H6+c4|0,Y9=Et+1|0,Jt=xt,G4=Y9,U4=At,lt=h9,K4=E4,_4=B9,Z4=Ze,j4=A9,Ft=ut,g8=H9,F8=R8,T8=Q9;break}else{J6=pe+E4|0,T6=B+R8|0,i9=o5(pe,pe)|0,_6=i9+At|0,O6=o5(B,B)|0,q6=O6+ut|0,a9=o5(B,pe)|0,d9=a9+Ze|0,o9=xt+1|0,Jt=o9,G4=Et,U4=_6,lt=p4,K4=J6,_4=C4,Z4=d9,j4=c4,Ft=q6,g8=X4,F8=T6,T8=ht;break}while(!1);if(w9=pe+1|0,S9=(w9|0)==(r6|0),S9){Vt=Jt,r8=G4,Kt=U4,Ct=lt,ct=K4,se=_4,yt=Z4,l4=j4,l8=Ft,c8=g8,H8=F8,Y8=T8;break}else pe=w9,xt=Jt,Et=G4,At=U4,p4=lt,E4=K4,C4=_4,Ze=Z4,c4=j4,ut=Ft,X4=g8,R8=F8,ht=T8}we=z6+8|0,e[we>>2]=ct,ue=z6+12|0,e[ue>>2]=H8,Ee=z6+16|0,e[Ee>>2]=Kt,V9=z6+20|0,e[V9>>2]=l8,ie=z6+24|0,e[ie>>2]=yt,F9=z6+28|0,e[F9>>2]=Vt,W6=z6+32|0,e[W6>>2]=se,$9=z6+36|0,e[$9>>2]=Y8,ve=z6+40|0,e[ve>>2]=Ct,Re=z6+44|0,e[Re>>2]=c8,de=z6+48|0,e[de>>2]=l4,_9=z6+52|0,e[_9>>2]=r8,E8=Vt}if(Q0=(E8|0)==0,Q0)return $4=0,C=ae,$4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,BC(z6,E0,$8,Zt,W)|0,y0=e[$8>>2]|0,e[be>>2]=y0,e[me>>2]=y0,w0=e[Zt>>2]|0,B0=me+4|0,e[B0>>2]=w0,_0=be+4|0,e[_0>>2]=w0,K0=(y6|0)>2;do if(K0){M0=W+1112|0,v0=W+1096|0,T0=W+1100|0,N0=W+1104|0,Oe=2;e:for(;;){O0=(o+520|0)+(Oe<<2)|0,k0=e[O0>>2]|0,V0=Pt+(k0<<2)|0,F0=e[V0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,z0=t8+(F0<<2)|0,J0=e[z0>>2]|0,q0=(J0|0)==(G0|0);t:do if(!q0){if(Z0=(o+520|0)+(F0<<2)|0,H0=e[Z0>>2]|0,s1=(o+520|0)+(G0<<2)|0,Y0=e[s1>>2]|0,e[z0>>2]=G0,i1=(W+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,o1=(W+836|0)+(G0<<2)|0,h1=e[o1>>2]|0,u1=be+(F0<<2)|0,m1=e[u1>>2]|0,f1=(m1|0)<0,A1=me+(F0<<2)|0,g1=e[A1>>2]|0,f1?w=g1:(a1=(g1|0)<0,a1?w=m1:($1=g1+m1|0,j0=$1>>1,w=j0)),E1=be+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=me+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,b1=(y|0)==-1,L8=M1|b1,L8){B4=38;break e}_1=y-w|0,R1=h1-x0|0,N4=(_1|0)>-1,L9=0-_1|0,F1=N4?_1:L9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,Z1=D1|1,G1=$+(x0<<2)|0,K=+s[G1>>2],x1=K*7.314285755157471,z1=x1+1023.5,q1=~~z1,H1=(q1|0)>1023,Y1=(q1|0)<0,I=Y1?0:q1,b=H1?1023:I,V1=o5(U1,R1)|0,f8=(V1|0)>-1,p8=0-V1|0,X1=f8?V1:p8,n2=F1-X1|0,O1=w-b|0,g2=o5(O1,O1)|0,W1=a+(x0<<2)|0,h2=+s[W1>>2],s2=+s[M0>>2],C2=s2+h2,a2=!(C2>=K),a2?B4=42:(K1=+(w|0),d2=+s[v0>>2],l2=d2+K1,c2=+(b|0),r2=l2>2],e2=K1-A2,o2=e2>c2,o2||(B4=42)));i:do if((B4|0)==42){if(B4=0,m2=x0+1|0,t2=(m2|0)<(h1|0),t2)for(p2=m2,a4=0,x8=g2,Yt=1,C8=w;;){if(k2=a4+n2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Pe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,U2=$+(p2<<2)|0,e0=+s[U2>>2],W2=e0*7.314285755157471,P2=W2+1023.5,V2=~~P2,G2=(V2|0)>1023,q2=(V2|0)<0,E=q2?0:V2,D=G2?1023:E,Z2=A8-D|0,A5=o5(Z2,Z2)|0,N1=A5+x8|0,t5=Yt+1|0,T5=a+(p2<<2)|0,i5=+s[T5>>2],x5=i5+s2,j2=x5>=e0,I5=(D|0)!=0,o8=j2&I5,o8&&(b5=+(A8|0),Y5=+s[v0>>2],g5=Y5+b5,B5=+(D|0),s5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=p2+1|0,N5=(Q5|0)<(h1|0),N5)p2=Q5,a4=Pe,x8=N1,Yt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=g2,Ht=1;if(m5=+s[v0>>2],L5=m5*m5,q5=+(Ht|0),Y2=L5/q5,p5=+s[N0>>2],$5=Y2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(d5=(i8|0)/(Ht|0)&-1,l5=+(d5|0),X2=l5>p5,X2)))break;g3=be+(Oe<<2)|0,e[g3>>2]=-200,u3=me+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(H0*56|0)|0,r5=k0-H0|0,a5=BC(w5,r5,Ot,qt,W)|0,h5=z6+(k0*56|0)|0,z2=Y0-k0|0,f5=BC(h5,z2,T4,st,W)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=w,R5=e[T4>>2]|0,e[qt>>2]=R5),e5=(f5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,n5)){v5=be+(Oe<<2)|0,e[v5>>2]=-200,J5=me+(Oe<<2)|0,e[J5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[be>>2]=i3),I3=e[qt>>2]|0,h3=be+(Oe<<2)|0,e[h3>>2]=I3,K5=e[T4>>2]|0,r3=me+(Oe<<2)|0,e[r3>>2]=K5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),W5=K5&I3,D3=(W5|0)>-1,D3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(_8=e8+-1|0,X3=F4+(_8<<2)|0,q3=e[X3>>2]|0,X5=(q3|0)==(G0|0),!X5)break i;if(e[X3>>2]=Oe,b3=(e8|0)>1,b3)e8=_8;else break}while(!1);if(m8=k0+1|0,y3=(m8|0)<(y6|0),y3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,H3=(s6|0)==(F0|0),!H3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,z5=(Q3|0)<(y6|0),z5)Oe=Q3;else{B4=68;break}}if((B4|0)==38)QS(1);else if((B4|0)==68){T=e[be>>2]|0,N=e[me>>2]|0,S5=T,$6=N;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,V5=z8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,N3=l3>>1,v=N3)),e[V5>>2]=v,E6=e[_0>>2]|0,k3=(E6|0)<0,_3=e[B0>>2]|0,k3?M=_3:(S3=(_3|0)<0,S3?M=E6:(a6=_3+E6|0,i6=a6>>1,M=i6)),Z5=V5+4|0,e[Z5>>2]=M,K0)A4=2;else return $4=V5,C=ae,$4|0;for(;;)if(x3=A4+-2|0,d3=(o+1032|0)+(x3<<2)|0,J3=e[d3>>2]|0,d6=(o+780|0)+(x3<<2)|0,m3=e[d6>>2]|0,L6=(W+836|0)+(J3<<2)|0,M6=e[L6>>2]|0,R6=(W+836|0)+(m3<<2)|0,S6=e[R6>>2]|0,b6=V5+(J3<<2)|0,G6=e[b6>>2]|0,X6=V5+(m3<<2)|0,v6=e[X6>>2]|0,L3=(W+836|0)+(A4<<2)|0,n6=e[L3>>2]|0,o6=G6&32767,C6=v6&32767,z3=C6-o6|0,M3=S6-M6|0,h8=(z3|0)>-1,Lt=0-z3|0,e6=h8?z3:Lt,F6=n6-M6|0,l6=o5(e6,F6)|0,o3=(l6|0)/(M3|0)&-1,K6=(z3|0)<0,A3=0-o3|0,L=K6?A3:o3,x=L+o6|0,c6=be+(A4<<2)|0,B6=e[c6>>2]|0,R3=(B6|0)<0,Y6=me+(A4<<2)|0,D6=e[Y6>>2]|0,R3?Q=D6:(U6=(D6|0)<0,U6?Q=B6:(t9=D6+B6|0,Q6=t9>>1,Q=Q6)),e9=(Q|0)<0,G3=(x|0)==(Q|0),M8=e9|G3,n9=x|32768,g=M8?n9:Q,V6=V5+(A4<<2)|0,e[V6>>2]=g,s9=A4+1|0,m4=(s9|0)==(y6|0),m4){$4=V5;break}else A4=s9;return C=ae,$4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0;if(u0=C,h=o+1284|0,m=e[h>>2]|0,x=(a|0)!=0,e0=($|0)!=0,d0=x&e0,!d0)return i0=0,i0|0;if(K=m<<2,a0=z8(t,K)|0,W=(m|0)>0,!W)return i0=a0,i0|0;for(r0=65536-g|0,H=0;;)if(s0=a+(H<<2)|0,J=e[s0>>2]|0,I=J&32767,E=o5(I,r0)|0,Q=$+(H<<2)|0,B=e[Q>>2]|0,S=B&32767,b=o5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(H<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,T=F&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),V=H+1|0,o0=(V|0)==(m|0),o0){i0=a0;break}else H=V;return i0|0}function ib(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;if(q6=C,C=C+336|0,P6=q6+64|0,d3=q6+32|0,G3=q6,D=a+1296|0,y=e[D>>2]|0,d2=a+1284|0,R2=e[d2>>2]|0,$5=o+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return O2(t,0,1),T5=o+36|0,i5=e[T5>>2]|0,x5=(i5|0)/2&-1,j2=x5<<2,u4(g|0,0,j2|0)|0,m=0,C=q6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;q0=$+(C6<<2)|0,m1=e[q0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(Z2=p1>>>4,J6=Z2):(U1|0)==1?(X1=p1>>>2,J6=X1):(U1|0)==2?(l2=p1>>>3,J6=l2):(U1|0)==3?(S2=(p1>>>0)/12&-1,J6=S2):J6=p1,I5=m1&32768,b5=I5|J6,e[q0>>2]=b5,Y5=C6+1|0,v6=(Y5|0)==(R2|0),!v6;)C6=Y5;if(g5=e[$>>2]|0,e[P6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,s5=P6+4|0,e[s5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(z3=2;;){if(Q5=z3+-2|0,N5=(a+1032|0)+(Q5<<2)|0,m5=e[N5>>2]|0,L5=(a+780|0)+(Q5<<2)|0,q5=e[L5>>2]|0,M5=(y+836|0)+(m5<<2)|0,Y2=e[M5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,d5=e[D5>>2]|0,l5=(y+836|0)+(z3<<2)|0,X2=e[l5>>2]|0,u2=T1&32767,w5=d5&32767,r5=w5-u2|0,h5=u5-Y2|0,K3=(r5|0)>-1,n9=0-r5|0,z2=K3?r5:n9,f5=X2-Y2|0,n5=o5(z2,f5)|0,R5=(n5|0)/(h5|0)&-1,e5=(r5|0)<0,c5=0-R5|0,E=e5?c5:R5,I=E+u2|0,F2=$+(z3<<2)|0,v5=e[F2>>2]|0,J5=v5&32768,E5=(J5|0)!=0,I3=(v5|0)==(I|0),c9=E5|I3,c9)h3=I|32768,e[F2>>2]=h3,K5=P6+(z3<<2)|0,e[K5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),h=B3?a3:I,G5=v5-I|0,W5=(G5|0)<0;do if(W5)if(D3=0-h|0,y3=(G5|0)<(D3|0),y3){X3=G5^-1,q3=h+X3|0,T6=q3;break}else{X5=G5<<1,b3=X5^-1,T6=b3;break}else if(t3=(h|0)>(G5|0),t3){T3=G5<<1,T6=T3;break}else{s6=h+G5|0,T6=s6;break}while(!1);H3=P6+(z3<<2)|0,e[H3>>2]=T6,e[y5>>2]=u2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=z3+1|0,X6=(Q3|0)==(R2|0),X6)break;z3=Q3}S=e[P6>>2]|0,b=e[s5>>2]|0,a6=S,x3=b}else a6=g5,x3=B5;if(O2(t,1,1),z5=a+1308|0,H5=e[z5>>2]|0,V5=H5+1|0,e[z5>>2]=V5,S5=e[y2>>2]|0,Y3=S5+-1|0,U5=q8(Y3)|0,$6=U5<<1,n3=a+1304|0,N3=e[n3>>2]|0,E6=N3+$6|0,e[n3>>2]=E6,k3=e[y2>>2]|0,_3=k3+-1|0,S3=q8(_3)|0,O2(t,a6,S3),i6=e[y2>>2]|0,V3=i6+-1|0,Z5=q8(V3)|0,O2(t,x3,Z5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,M3=0,l6=2;;){if(F=(y+4|0)+(M3<<2)|0,T=e[F>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,V=(y+192|0)+(T<<2)|0,e0=e[V>>2]|0,K=1<>2]=0,e[d3+4>>2]=0,e[d3+8>>2]=0,e[d3+12>>2]=0,e[d3+16>>2]=0,e[d3+20>>2]=0,e[d3+24>>2]=0,e[d3+28>>2]=0,W=(e0|0)==0,!W){if(e[G3>>2]=0,e[G3+4>>2]=0,e[G3+8>>2]=0,e[G3+12>>2]=0,e[G3+16>>2]=0,e[G3+20>>2]=0,e[G3+24>>2]=0,e[G3+28>>2]=0,r0=(e0|0)==31,!r0)for(A3=0;h0=((y+320|0)+(T<<5)|0)+(A3<<2)|0,p0=e[h0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=G3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(K|0),_0;)A3=B0;s0=(G|0)>0;e:do if(s0){if(r0)for(J3=0,L6=0,c6=0;;)if(K0=d3+(c6<<2)|0,M0=e[K0>>2]|0,v0=M0<>2]|0,Y6=0;;){if(J=G3+(Y6<<2)|0,o0=e[J>>2]|0,d0=(H|0)<(o0|0),d0){A6=Y6,U3=31;break}if(i0=Y6+1|0,X=(i0|0)<(K|0),X)Y6=i0;else{U3=33;break}}if((U3|0)==31?(U3=0,u0=d3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(U3|0)==33&&(U3=0,Q=d3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(V0*56|0)|0,L0=Gu(F0,m3,t)|0,G0=e[R>>2]|0,z0=G0+L0|0,e[R>>2]=z0}if(J0=(G|0)>0,J0)for(R3=0;Z0=d3+(R3<<2)|0,P0=e[Z0>>2]|0,H0=((y+320|0)+(T<<5)|0)+(P0<<2)|0,s1=e[H0>>2]|0,Y0=(s1|0)>-1,Y0&&(i1=R3+l6|0,x0=P6+(i1<<2)|0,o1=e[x0>>2]|0,h1=(a0+(s1*56|0)|0)+4|0,u1=e[h1>>2]|0,f1=(o1|0)<(u1|0),f1&&(d1=a0+(s1*56|0)|0,A1=Gu(d1,o1,t)|0,g1=e[n3>>2]|0,a1=g1+A1|0,e[n3>>2]=a1)),$1=R3+1|0,b6=($1|0)==(G|0),!b6;)R3=$1;if(j0=G+l6|0,E1=M3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)M3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=o5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[d2>>2]|0,D1=(F1|0)>1,D1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(z1=(a+260|0)+(o3<<2)|0,q1=e[z1>>2]|0,H1=$+(q1<<2)|0,Y1=e[H1>>2]|0,V1=Y1&32767,n2=(V1|0)==(Y1|0),n2)if(j1=e[w1>>2]|0,O1=o5(j1,Y1)|0,g2=(y+836|0)+(q1<<2)|0,W1=e[g2>>2]|0,h2=O1-Q6|0,s2=W1-D6|0,e6=(h2|0)>-1,V6=0-h2|0,C2=e6?h2:V6,a2=(h2|0)/(s2|0)&-1,K1=h2>>31,i2=K1|1,c2=o5(a2,s2)|0,F6=(c2|0)>-1,s9=0-c2|0,r2=F6?c2:s9,A2=C2-r2|0,e2=(R1|0)>(W1|0),i9=e2?W1:R1,o2=(i9|0)>(D6|0),o2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(i9|0),k2)for(p2=t2,R6=0,_6=Q6;;)if(D2=R6+A2|0,Q2=(D2|0)<(s2|0),N2=Q2?0:i2,L2=Q2?0:s2,S6=D2-L2|0,B=_6+a2|0,O6=B+N2|0,U2=g+(p2<<2)|0,e[U2>>2]=O6,W2=p2+1|0,h6=(W2|0)==(i9|0),h6){o6=W1,U6=W1,e9=O1;break}else p2=W2,R6=S6,_6=O6;else o6=W1,U6=W1,e9=O1;else o6=n6,U6=D6,e9=Q6;if(P2=o3+1|0,V2=e[d2>>2]|0,G2=(P2|0)<(V2|0),G2)n6=o6,o3=P2,D6=U6,Q6=e9;else{L3=o6,t9=e9;break}}else L3=0,t9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(L3|0)<(G1|0),x1)K6=L3;else return m=1,C=q6,m|0;for(;;)if(q2=g+(K6<<2)|0,e[q2>>2]=t9,A5=K6+1|0,H2=e[P1>>2]|0,N1=(H2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{m=1;break}return C=q6,m|0}function BC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,f1=+s[Z0>>2],i2=0,e2=0,m2=0,S2=0,U2=0,V2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,D1=e[B1>>2]|0,n2=(t+(e2*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+D1|0,J=+(T|0),o0=J*f1,H=S+1|0,d0=+(H|0),i0=o0/d0,X=i0,u0=X+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,Z=+(l0|0),I0=(t+(e2*56|0)|0)+8|0,g0=e[I0>>2]|0,f0=+(g0|0),n0=f0*u0,h0=Z+S2,p0=h0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+V2,K0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),U0=(t+(e2*56|0)|0)+16|0,O0=e[U0>>2]|0,k0=+(O0|0),V0=k0*u0,F0=T0+m2,L0=F0+V0,G0=(t+(e2*56|0)|0)+48|0,z0=e[G0>>2]|0,J0=+(z0|0),q0=(t+(e2*56|0)|0)+24|0,P0=e[q0>>2]|0,H0=+(P0|0),s1=H0*u0,Y0=J0+U2,i1=Y0+s1,x0=+(D1|0),o1=+(S|0),h1=u0*o1,u1=x0+i2,m1=u1+h1,d1=e2+1|0,A2=(d1|0)==(o|0),A2){l2=m1,o2=L0,D2=p0,L2=i1,P2=K0;break}else i2=m1,e2=d1,m2=L0,S2=p0,U2=i1,V2=K0;else l2=0,o2=0,D2=0,L2=0,P2=0;return A1=e[a>>2]|0,g1=(A1|0)>-1,g1?(a1=+(Q|0),$1=D2+a1,j0=+(A1|0),E1=j0+P2,I1=o5(Q,Q)|0,Q1=+(I1|0),p1=o2+Q1,w1=o5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=l2+1,c2=L1,t2=p1,Q2=$1,p2=k1,G2=E1):(c2=l2,t2=o2,Q2=D2,p2=L2,G2=P2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(Q0|0),R1=Q2+_1,F1=+(M1|0),U1=F1+G2,P1=o5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=o5(M1,Q0)|0,z1=+(x1|0),q1=z1+p2,H1=c2+1,r2=H1,k2=G1,N2=R1,W2=q1,q2=U1):(r2=c2,k2=t2,N2=Q2,W2=p2,q2=G2),Y1=k2*r2,V1=N2*N2,X1=Y1-V1,j1=X1>0,j1?(O1=q2*k2,g2=N2*W2,W1=O1-g2,h2=W1/X1,s2=W2*r2,C2=N2*q2,a2=s2-C2,K1=a2/X1,d2=+(Q|0),b=K1*d2,v=b+h2,w=+z7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+h2,L=+z7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,N=(F|0)>1023,N?(e[a>>2]=1023,m=e[$>>2]|0,G=m,r0=1023):(G=R,r0=F),V=(G|0)>1023,V?(e[$>>2]=1023,I=e[a>>2]|0,e0=I,s0=1023):(e0=r0,s0=G),K=(e0|0)<0,K?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,W=(a0|0)<0,W?(e[$>>2]=0,h=0,h|0):(h=0,h|0)):(e[a>>2]=0,e[$>>2]=0,h=1,h|0)}function rb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,W=e[t>>2]|0,O2(o,W,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,z0=0,Y0=-1;;)if(B=N0+(z0<<2)|0,S=e[B>>2]|0,O2(o,S,4),b=e[B>>2]|0,v=(Y0|0)<(b|0),a=v?b:Y0,w=z0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)z0=w,Y0=a;else{$=a;break}if(O0=($|0)>-1,O0)for(k0=t+128|0,V0=t+192|0,E=t+256|0,Q=t+320|0,J0=0;;){if(x=k0+(J0<<2)|0,L=e[x>>2]|0,R=L+-1|0,O2(o,R,3),F=V0+(J0<<2)|0,T=e[F>>2]|0,O2(o,T,2),N=e[F>>2]|0,G=(N|0)==0,G?(Z0=0,i1=8):(V=E+(J0<<2)|0,e0=e[V>>2]|0,O2(o,e0,8),g=e[F>>2]|0,K=(g|0)==31,K||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(J0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,O2(o,s0,8),J=Z0+1|0,o0=e[F>>2]|0,H=1<>2]|0,c0=u0+-1|0,O2(o,c0,2),l0=M+-1|0,Z=q8(l0)|0,O2(o,Z,4),I0=q8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,h0=t+128|0,U0=g0,F0=0,q0=0,P0=0;;){if(p0=n0+(q0<<2)|0,C0=e[p0>>2]|0,S0=h0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(P0|0)<(E0|0),y0){for(s1=P0;w0=s1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,O2(o,_0,I0),K0=s1+1|0,L0=(K0|0)==(E0|0),!L0;)s1=K0;h=e[t>>2]|0,T0=h,H0=E0}else T0=U0,H0=P0;if(M0=q0+1|0,v0=(M0|0)<(T0|0),v0)U0=T0,F0=E0,q0=M0,P0=H0;else break}}function nb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,K=ce(1,1120)|0,u0=n4(o,5)|0,e[K>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=K+4|0,Z1=0,n2=-1;;){if(L=n4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(T=(n2|0)<(L|0),g=T?L:n2,N=Z1+1|0,G=e[K>>2]|0,V=(N|0)<(G|0),V)Z1=N,n2=g;else{h=g;break}}if(J0=(h|0)>-1,J0)for(u1=K+128|0,Q1=K+192|0,F1=K+256|0,x=y+24|0,M=K+320|0,G1=0;;){if(e0=n4(o,3)|0,a0=e0+1|0,W=u1+(G1<<2)|0,e[W>>2]=a0,r0=n4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,J=(r0|0)<0,J||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,i0=I):(H=n4(o,8)|0,d0=F1+(G1<<2)|0,e[d0>>2]=H,i0=H),X=(i0|0)<0,X)||(c0=e[x>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,Z=(l0|0)==31,!Z)for(H1=0;;){if(h0=n4(o,8)|0,p0=h0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(h0|0)<0,Q0||(b0=e[x>>2]|0,E0=(h0|0)>(b0|0),f0=H1+1|0,E0))break e;if(I0=e[s0>>2]|0,g0=1<>2]=_0,M0=n4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[K>>2]|0,U0=(N0|0)>0,U0)for(O0=K+4|0,k0=K+128|0,V0=K+836|0,F0=1<>2]|0,z0=k0+(G0<<2)|0,q0=e[z0>>2]|0,Z0=q0+P1|0,P0=(Z0|0)>63,P0)break e;if(H0=(Y1|0)<(Z0|0),H0){for(X1=Y1;;){if(s1=n4(o,M0)|0,Y0=X1+2|0,i1=V0+(Y0<<2)|0,e[i1>>2]=s1,x0=(s1|0)>-1,o1=(s1|0)<(F0|0),j1=x0&o1,!j1)break e;if(h1=X1+1|0,m1=(h1|0)<(Z0|0),m1)X1=h1;else{$=h1;break}}B=e[K>>2]|0,A1=B,V1=$}else A1=U1,V1=Y1;if(f1=x1+1|0,d1=(f1|0)<(A1|0),d1)U1=A1,P1=Z0,x1=f1,Y1=V1;else{E=V0,Q=F0,D1=Z0;break}}else v=K+836|0,w=1<>2]=0,g1=K+840|0,e[g1>>2]=Q,a1=D1+2|0,$1=(D1|0)>-2,$1)for(z1=0;j0=E+(z1<<2)|0,E1=O1+(z1<<2)|0,e[E1>>2]=j0,I1=z1+1|0,p1=(I1|0)<(a1|0),p1;)z1=I1;Pu(O1,a1,4,8),B1=(a1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,b1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),w1=q1+1|0,!_1;)if(v1=(w1|0)<(a1|0),v1)b1=M1,q1=w1;else break t;if(R1=(K|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=K,C=W1,a|0}while(!1);return E2(K),a=0,C=W1,a|0}function ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=ce(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,e0=o+840|0,X=e[e0>>2]|0,p0=$+1288|0,e[p0>>2]=X,M0=e[o>>2]|0,z0=(M0|0)>0,z0){for(Y0=o+4|0,h=o+128|0,f1=0,k1=0;;)if(m=Y0+(f1<<2)|0,I=e[m>>2]|0,E=h+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=f1+1|0,b=(S|0)<(M0|0),b)f1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,_1=7):(Pu(b1,v,4,8),w1=a)}else s1=$+1284|0,e[s1>>2]=2,F=2,v1=0,_1=7;if((_1|0)==7){for(d1=0;x=D+(d1<<2)|0,M=b1+(d1<<2)|0,e[M>>2]=x,L=d1+1|0,R=(L|0)<(F|0),R;)d1=L;for(Pu(b1,F,4,8),T=D,N=$+260|0,A1=0;K=b1+(A1<<2)|0,a0=e[K>>2]|0,W=a0,r0=W-T|0,s0=r0>>2,J=N+(A1<<2)|0,e[J>>2]=s0,o0=A1+1|0,H=(o0|0)<(F|0),H;)A1=o0;for(G=$+260|0,V=$+520|0,g1=0;i0=G+(g1<<2)|0,u0=e[i0>>2]|0,c0=V+(u0<<2)|0,e[c0>>2]=g1,$0=g1+1|0,l0=($0|0)<(F|0),l0;)g1=$0;for(d0=$+260|0,a1=0;;)if(Z=d0+(a1<<2)|0,I0=e[Z>>2]|0,g0=D+(I0<<2)|0,f0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=f0,h0=a1+1|0,C0=(h0|0)<(F|0),C0)a1=h0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,K0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,U0=e[p0>>2]|0,x0=1,u1=U0,j0=0,E1=0,p1=0;;)if(O0=D+(j0<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=V0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(u1|0),G0=(k0|0)>(N0|0),M1=L0&G0,o1=M1?j0:x0,m1=M1?k0:u1,J0=j0+1|0,q0=(J0|0)<(v0|0),q0)x0=o1,u1=m1,j0=J0,E1=I1,p1=B1;else{h1=o1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,P0=K0+($1<<2)|0,e[P0>>2]=h1,H0=$1+1|0,i1=(H0|0)==(w1|0),i1)break;$1=H0}return C=R1,$|0}function sb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function ab(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Ab(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,h=o+1296|0,m=e[h>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,U0=b0+4|0,P0=e[U0>>2]|0,d1=P0+28|0,w1=e[d1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=n4(I,1)|0,W=(M|0)==1,!W)return a=0,a|0;H=o+1284|0,d0=e[H>>2]|0,i0=d0<<2,X=z8(t,i0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,Z=q8($0)|0,I0=n4(I,Z)|0,e[X>>2]=I0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=q8(f0)|0,h0=n4(I,n0)|0,p0=X+4|0,e[p0>>2]=h0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,o2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,K0=(m+128|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(V0*56|0)|0,L0=sE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(z0=(M0|0)>0,z0)for(J0=N0+-1|0,c2=i2,m2=0;;){if(q0=c2&J0,Z0=((m+320|0)+(_0<<5)|0)+(q0<<2)|0,H0=e[Z0>>2]|0,s1=c2>>T0,Y0=(H0|0)>-1,Y0){if(i1=j1+(H0*56|0)|0,x0=sE(i1,I)|0,o1=m2+o2|0,h1=X+(o1<<2)|0,e[h1>>2]=x0,u1=(x0|0)==-1,u1){a=0,D2=25;break t}}else m1=m2+o2|0,f1=X+(m1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,g1=(A1|0)<(M0|0),g1)c2=s1,m2=A1;else break}if(a1=M0+o2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,o2=a1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[H>>2]|0,E0=(Q0|0)>2,!E0)return a=X,a|0;for(y0=o+1032|0,w0=o+780|0,A2=2;;){if(I1=A2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=X+(p1<<2)|0,R1=e[_1>>2]|0,F1=X+(L1<<2)|0,U1=e[F1>>2]|0,D1=(m+836|0)+(A2<<2)|0,Z1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,z1=x1-G1|0,q1=b1-v1|0,e2=(z1|0)>-1,t2=0-z1|0,H1=e2?z1:t2,Y1=Z1-v1|0,V1=o5(H1,Y1)|0,X1=(V1|0)/(q1|0)&-1,n2=(z1|0)<0,O1=0-X1|0,g=n2?O1:X1,$=g+G1|0,g2=e[u0>>2]|0,W1=g2-$|0,h2=X+(A2<<2)|0,s2=e[h2>>2]|0,C2=(s2|0)==0,C2)r0=$|32768,e[h2>>2]=r0;else{a2=(W1|0)<($|0),K1=a2?W1:$,d2=K1<<1,l2=(s2|0)<(d2|0);do if(l2)if(b=s2&1,v=(b|0)==0,v){x=s2>>1,k2=x;break}else{w=s2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=s2-$|0,k2=Q;break}else{B=s2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[h2>>2]=R,F=e[Q1>>2]|0,T=X+(F<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,V=e[k1>>2]|0,e0=X+(V<<2)|0,K=e[e0>>2]|0,a0=K&32767,e[e0>>2]=a0}if(s0=A2+1|0,J=e[H>>2]|0,o0=(s0|0)<(J|0),o0)A2=s0;else{a=X;break}}return a|0}function $b(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,W=e[M>>2]|0,$0=W+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,u1=t+28|0,m1=e[u1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return h1=B<<2,u4($|0,0,h1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=o5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,T=e[F>>2]|0,N=(T|0)>1,N)for(G=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=G+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,J=e[s0>>2]|0,o0=J&32767,H=(o0|0)==(J|0),H)if(d0=(I+836|0)+(r0<<2)|0,i0=e[d0>>2]|0,X=o5(w,J)|0,u0=(X|0)<0,c0=(X|0)>255,l0=c0?255:X,Z=u0?0:l0,I0=Z-k1|0,g0=i0-B1|0,E1=(I0|0)>-1,M1=0-I0|0,f0=E1?I0:M1,n0=(I0|0)/(g0|0)&-1,h0=I0>>31,p0=h0|1,C0=o5(n0,g0)|0,I1=(C0|0)>-1,b1=0-C0|0,S0=I1?C0:b1,b0=f0-S0|0,E0=(B|0)>(i0|0),_1=E0?i0:B,y0=(_1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,K0=+s[_0>>2],M0=K0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(_1|0),T0)for(z0=v0,f1=0,R1=k1;;)if(U0=f1+b0|0,O0=(U0|0)<(g0|0),k0=O0?0:p0,V0=O0?0:g0,d1=U0-V0|0,h=R1+n0|0,F1=h+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(z0<<2)|0,J0=+s[G0>>2],q0=J0*L0,s[G0>>2]=q0,P0=z0+1|0,g1=(P0|0)==(_1|0),g1){j0=i0,w1=i0,L1=Z;break}else z0=P0,f1=d1,R1=F1;else j0=i0,w1=i0,L1=Z;else j0=$1,w1=B1,L1=k1;if(H0=Q1+1|0,s1=(H0|0)<(T|0),s1)$1=j0,Q1=H0,B1=w1,k1=L1;else{a1=j0,v1=L1;break}}else a1=0,v1=R;if(V=(a1|0)<(B|0),!V)return g=1,g|0;for(e0=1768+(v1<<2)|0,K=+s[e0>>2],p1=a1;;)if(Y0=$+(p1<<2)|0,i1=+s[Y0>>2],x0=i1*K,s[Y0>>2]=x0,o1=p1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else p1=o1;return g|0}function lb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$-h|0,m|0}function cb(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function gb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0;u0=C,g=nl(o|0)|0,h=nl(a|0)|0,y=g+2|0,K=y+h|0,$=K,W=C,C=C+((1*$|0)+15&-16)|0,kC(W|0,o|0)|0,i0=nl(W|0)|0,d0=W+i0|0,f[d0>>0]=61,f[d0+1>>0]=0,NQ(W|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,J=e[s0>>2]|0,o0=J<<2,H=o0+8|0,m=K7(r0,H)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=K7(E,S)|0,e[I>>2]=b,v=nl(W|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=R9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,T=F+(w<<2)|0,N=e[T>>2]|0,kC(N|0,W|0)|0,G=e[s0>>2]|0,V=G+1|0,e[s0>>2]=V,e0=e[t>>2]|0,a0=e0+(V<<2)|0,e[a0>>2]=0,C=u0}function ub(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0;if(K=C,g=(t|0)==0,!g){if(h=e[t>>2]|0,y=(h|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,T=h,V=0;F=T+(V<<2)|0,N=e[F>>2]|0,G=(N|0)==0,G?E=x:(E2(N),a=e[M>>2]|0,E=a),m=V+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,T=o,V=m;$=e[t>>2]|0,Q=$}else Q=h;E2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||E2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function db(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=ce(1,3664)|0,a=t+28|0,e[a>>2]=o}function QC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,h=t+28|0,m=e[h>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(f1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?S=f1:(E2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)f1=S,$1=Q;if(T0=m+12|0,q0=e[T0>>2]|0,m1=(q0|0)>0,m1)for(d1=q0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?K=d1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,T=e[F>>2]|0,N=T+8|0,G=e[N>>2]|0,ss[G&7](y),a=e[T0>>2]|0,K=a),V=j0+1|0,e0=(V|0)<(K|0),e0;)d1=K,j0=V;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;J=(m+1056|0)+(E1<<2)|0,o0=e[J>>2]|0,H=(o0|0)==0,H?g0=A1:(d0=(m+800|0)+(E1<<2)|0,i0=e[d0>>2]|0,X=25640+(i0<<2)|0,u0=e[X>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,ss[l0&7](o0),$=e[b>>2]|0,g0=$),Z=E1+1|0,I0=(Z|0)<(g0|0),I0;)A1=g0,E1=Z;if(W=m+20|0,r0=e[W>>2]|0,s0=(r0|0)>0,s0)for(g1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=g1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,K0=e[_0>>2]|0,ss[K0&7](Q0),g=e[W>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)g1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,h0=(n0|0)>0,p0=m+2848|0,h0)for(Q1=0;U0=(m+1824|0)+(Q1<<2)|0,O0=e[U0>>2]|0,k0=(O0|0)==0,k0||vC(O0),V0=e[p0>>2]|0,F0=(V0|0)==0,F0||(L0=V0+(Q1*56|0)|0,Vb(L0)),G0=Q1+1|0,z0=e[f0>>2]|0,J0=(G0|0)<(z0|0),J0;)Q1=G0;if(Z0=e[p0>>2]|0,P0=(Z0|0)==0,P0||E2(Z0),H0=m+28|0,s1=e[H0>>2]|0,Y0=(s1|0)>0,Y0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,wb(x0),o1=p1+1|0,h1=e[H0>>2]|0,u1=(o1|0)<(h1|0),u1;)p1=o1;E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function hb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,Q=e[E>>2]|0,g1=t+104|0,k1=e[g1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,h=-129,C=X2,h|0;if(g2=Q+4|0,r2=e[g2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(mC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,J=(F|0)<64,J)D5=-130,l5=27;else if(I0=B5+4|0,y0=e[I0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{O2(T1,1,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),O2(T1,0,32),s1=e[g2>>2]|0,O2(T1,s1,8),f1=Q+8|0,d1=e[f1>>2]|0,O2(T1,d1,32),A1=Q+12|0,a1=e[A1>>2]|0,O2(T1,a1,32),$1=Q+16|0,j0=e[$1>>2]|0,O2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,O2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=q8(p1)|0,O2(T1,B1,4),w1=e[I0>>2]|0,v1=w1+-1|0,L1=q8(v1)|0,O2(T1,L1,4),O2(T1,1,1),M1=k1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=D8(T1)|0,F1=R9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=D8(T1)|0,ge(F1|0,D1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=D8(T1)|0,z1=a+4|0,e[z1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,Ii(T1),fb(T1,o),Y1=k1+68|0,V1=e[Y1>>2]|0,X1=(V1|0)==0,X1||E2(V1),n2=D8(T1)|0,j1=R9(n2)|0,e[Y1>>2]=j1,O1=e[U1>>2]|0,W1=D8(T1)|0,ge(j1|0,O1|0,W1|0)|0,h2=e[Y1>>2]|0,e[$>>2]=h2,s2=D8(T1)|0,C2=$+4|0,e[C2>>2]=s2,a2=$+8|0,K1=$+24|0,e[a2>>2]=0,e[a2+4>>2]=0,e[a2+8>>2]=0,e[a2+12>>2]=0,d2=K1,l2=d2,e[l2>>2]=1,i2=d2+4|0,c2=i2,e[c2>>2]=0,Ii(T1),A2=e[N1>>2]|0,e2=(A2|0)==0;e:do if(!e2){if(O2(T1,5,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),o2=A2+24|0,m2=e[o2>>2]|0,t2=m2+-1|0,O2(T1,t2,8),k2=e[o2>>2]|0,D2=(k2|0)>0,D2)for(Y2=0;;){if(U2=(A2+1824|0)+(Y2<<2)|0,p2=e[U2>>2]|0,W2=VS(p2,T1)|0,P2=(W2|0)==0,Q2=Y2+1|0,!P2)break e;if(S2=e[o2>>2]|0,N2=(Q2|0)<(S2|0),N2)Y2=Q2;else break}if(O2(T1,0,6),O2(T1,0,16),V2=A2+16|0,G2=e[V2>>2]|0,q2=G2+-1|0,O2(T1,q2,6),Z2=e[V2>>2]|0,A5=(Z2|0)>0,A5)for(p5=0;;){if(H2=(A2+800|0)+(p5<<2)|0,t5=e[H2>>2]|0,O2(T1,t5,16),T5=e[H2>>2]|0,i5=25640+(T5<<2)|0,x5=e[i5>>2]|0,j2=e[x5>>2]|0,I5=(j2|0)==0,I5)break e;if(b5=(A2+1056|0)+(p5<<2)|0,Y5=e[b5>>2]|0,_C[j2&3](Y5,T1),g5=p5+1|0,b2=e[V2>>2]|0,s5=(g5|0)<(b2|0),s5)p5=g5;else break}if(R2=A2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,O2(T1,y2,6),Q5=e[R2>>2]|0,N5=(Q5|0)>0,N5)for($5=0;m5=(A2+1312|0)+($5<<2)|0,L5=e[m5>>2]|0,O2(T1,L5,16),q5=e[m5>>2]|0,M5=25648+(q5<<2)|0,S=e[M5>>2]|0,b=e[S>>2]|0,v=(A2+1568|0)+($5<<2)|0,w=e[v>>2]|0,_C[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=A2+12|0,L=e[M>>2]|0,R=L+-1|0,O2(T1,R,6),T=e[M>>2]|0,N=(T|0)>0,N)for(u5=0;G=(A2+288|0)+(u5<<2)|0,V=e[G>>2]|0,O2(T1,V,16),e0=e[G>>2]|0,K=25664+(e0<<2)|0,a0=e[K>>2]|0,W=e[a0>>2]|0,r0=(A2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,HQ[W&1](Q,s0,T1),o0=u5+1|0,H=e[M>>2]|0,d0=(o0|0)<(H|0),d0;)u5=o0;if(i0=A2+8|0,X=e[i0>>2]|0,u0=X+-1|0,O2(T1,u0,6),c0=e[i0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=(A2+32|0)+(y5<<2)|0,Z=e[l0>>2]|0,g0=e[Z>>2]|0,O2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,h0=e[n0>>2]|0,O2(T1,h0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,O2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,O2(T1,E0,8),w0=y5+1|0,B0=e[i0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return O2(T1,1,1),K0=k1+72|0,M0=e[K0>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=D8(T1)|0,N0=R9(T0)|0,e[K0>>2]=N0,U0=e[U1>>2]|0,O0=D8(T1)|0,ge(N0|0,U0|0,O0|0)|0,V0=e[K0>>2]|0,e[g>>2]=V0,F0=D8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,z0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,J0=z0,q0=J0,e[q0>>2]=2,Z0=J0+4|0,P0=Z0,e[P0>>2]=0,pC(T1),h=0,C=X2,h|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,d5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,d5=D5),pC(T1),H0=e[I>>2]|0,Y0=(H0|0)==0,Y0||E2(H0),i1=k1+68|0,x0=e[i1>>2]|0,o1=(x0|0)==0,o1||E2(x0),h1=k1+72|0,u1=e[h1>>2]|0,m1=(u1|0)==0,m1||E2(u1),e[I>>2]=0,e[i1>>2]=0,e[h1>>2]=0,h=d5,C=X2,h|0}function fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0;for($0=C,O2(t,3,8),O2(t,118,8),O2(t,111,8),O2(t,114,8),O2(t,98,8),O2(t,105,8),O2(t,115,8),O2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,W=M<<24>>24,O2(t,W,8),J=(m|0)==0,!J;)a=I,g=m;if(o0=o+8|0,H=e[o0>>2]|0,O2(t,H,32),d0=e[o0>>2]|0,i0=(d0|0)>0,!i0){O2(t,1,1);return}for(X=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)O2(t,0,32);else if(b=e[X>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,O2(t,w,32),D=e[X>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,T=e[F>>2]|0,$=T,h=x;N=h+-1|0,G=$+1|0,V=f[$>>0]|0,e0=V<<24>>24,O2(t,e0,8),K=(N|0)==0,!K;)$=G,h=N;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}O2(t,1,1)}function IQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0;if(V1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,h=s0,Z=C,C=C+((1*h|0)+15&-16)|0,E0=(E|0)==0,E0)N=0;else{for(O0=$;;){if(H0=(O0|0)<(a|0),H0)for(Q1=0,R1=O0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-O0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(O0<<3)|0,l1[M>>3]=I1,L=O0+-1|0,F=(O0|0)==0,F)break;O0=L}I=+l1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,V=G+1e-10,e0=($|0)>0,e0)B1=T,F1=0;else return k1=T,j0=k1,C=V1,+j0;for(;;){if(D1=F1+1|0,K=B1>3],H=-o0,d0=(F1|0)>0,d0){for(P1=0,q1=H;;)if(u0=Z+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,I0=+l1[l0>>3],g0=I0*c0,f0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=f0;break}else P1=n0,q1=f0;if(h0=m/B1,p0=Z+(F1<<3)|0,l1[p0>>3]=h0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=Z+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=Z+(B0<<3)|0,K0=+l1[_0>>3],M0=K0*h0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*h0,N0=+l1[_0>>3],U0=N0+T0,l1[_0>>3]=U0,k0=G1+1|0,V0=(k0|0)<(C0|0),V0;)G1=k0;H1=b0?C0:1,q0=h0,Z1=H1}else q0=h0,Z1=0}else i0=H/B1,X=Z+(F1<<3)|0,l1[X>>3]=i0,q0=i0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=Z+(Z1<<3)|0,z0=+l1[G0>>3],J0=z0*q0,Z0=J0+z0,l1[G0>>3]=Z0),P0=q0*q0,s1=1-P0,Y0=s1*B1,i1=(D1|0)<($|0),i1)B1=Y0,F1=D1;else{v1=Y0;break}}if((Y1|0)==8&&(a0=Z+(U1<<3)|0,W=$-U1|0,r0=W<<3,u4(a0|0,0,r0|0)|0,v1=w1),e0)p1=.99,x1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;x0=Z+(x1<<3)|0,o1=+l1[x0>>3],h1=o1*p1,l1[x0>>3]=h1,u1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=u1,x1=m1;if(e0)z1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;;)if(f1=Z+(z1<<3)|0,d1=+l1[f1>>3],g1=d1,a1=o+(z1<<2)|0,s[a1>>2]=g1,$1=z1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else z1=$1;return j0=k1,C=V1,+j0}function mQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0;if(X=C,I=g+a|0,E=I<<2,h=E,L=C,C=C+((1*h|0)+15&-16)|0,F=(o|0)==0,T=(a|0)>0,F?T&&(G=a<<2,u4(L|0,0,G|0)|0):T&&(N=a<<2,ge(L|0,o|0,N|0)|0),V=(g|0)>0,!V){C=X;return}if(e0=(a|0)>0,e0)r0=0,s0=a;else{K=g<<2,u4(L|0,0,K|0)|0,u4($|0,0,K|0)|0,C=X;return}for(;;){for(o0=r0,H=a,d0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=H+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=d0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,H=D,d0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,J=s0+1|0,W=(S|0)==(g|0),W)break;r0=S,s0=J}C=X}function Ib(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,h=(g|0)>1,h?(O2(a,1,1),y=e[o>>2]|0,K=y+-1|0,O2(a,K,4)):O2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(O2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,O2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=q8(v)|0,O2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=q8(L)|0,O2(a,x,R),F=E0+1|0,T=e[u0>>2]|0,N=(F|0)<(T|0),N;)E0=F}else O2(a,0,1);if(O2(a,0,2),G=e[o>>2]|0,V=(G|0)>1,V){if(e0=t+4|0,a0=e[e0>>2]|0,W=(a0|0)>0,W){for(r0=o+4|0,y0=0;d0=r0+(y0<<2)|0,i0=e[d0>>2]|0,O2(a,i0,4),X=y0+1|0,c0=e[e0>>2]|0,$0=(X|0)<(c0|0),$0;)y0=X;$=e[o>>2]|0,s0=$,B0=13}}else s0=G,B0=13;if(!((B0|0)==13&&(J=(s0|0)>0,!J)))for(o0=o+1028|0,H=o+1092|0,w0=0;O2(a,0,8),l0=o0+(w0<<2)|0,Z=e[l0>>2]|0,O2(a,Z,8),I0=H+(w0<<2)|0,g0=e[I0>>2]|0,O2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,h0=(f0|0)<(n0|0),h0;)w0=f0}function mb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0;a1=C,g=ce(1,3208)|0,h=t+28|0,y=e[h>>2]|0,u4(g|0,0,3208)|0,K=t+4|0,u0=e[K>>2]|0,C0=(u0|0)<1;e:do if(C0)g1=24;else if(v0=n4(o,1)|0,J0=(v0|0)<0,J0)g1=24;else{if(Y0=(v0|0)==0,Y0)e[g>>2]=1;else if(i1=n4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=n4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=n4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[K>>2]|0,T=$,x0=0;;){if(F=T+-1|0,N=q8(F)|0,G=n4(o,N)|0,V=D+(x0<<2)|0,e[V>>2]=G,e0=e[K>>2]|0,a0=e0+-1|0,W=q8(a0)|0,r0=n4(o,W)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,J=r0|G,o0=(J|0)<0,H=(G|0)==(r0|0),u1=H|o0,u1||(d0=e[K>>2]|0,i0=(G|0)<(d0|0),X=(r0|0)<(d0|0),m1=i0&X,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)T=d0,x0=L;else break}}if(c0=n4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,Z=(l0|0)>1,Z){if(I0=e[K>>2]|0,g0=(I0|0)>0,g0)for(f0=g+4|0,o1=0;;){if(B0=n4(o,4)|0,_0=f0+(o1<<2)|0,e[_0>>2]=B0,K0=e[g>>2]|0,M0=(B0|0)>=(K0|0),T0=(B0|0)<0,f1=T0|M0,y0=o1+1|0,f1)break e;if(E0=e[K>>2]|0,w0=(y0|0)<(E0|0),w0)o1=y0;else{n0=K0,g1=17;break}}}else n0=l0,g1=17;if((g1|0)==17&&(h0=(n0|0)>0,!h0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,h1=0;;){if(n4(o,8)|0,k0=n4(o,8)|0,V0=p0+(h1<<2)|0,e[V0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,d1=G0|L0,d1||(z0=n4(o,8)|0,q0=Q0+(h1<<2)|0,e[q0>>2]=z0,Z0=e[b0>>2]|0,P0=(z0|0)>=(Z0|0),H0=(z0|0)<0,A1=H0|P0,U0=h1+1|0,A1))break e;if(N0=e[g>>2]|0,O0=(U0|0)<(N0|0),O0)h1=U0;else{a=g;break}}return a|0}}}while(!1);return(g1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function pb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Eb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,ds=0,Kn=0,hs=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,or=0,Ts=0,$o=0,dn=0,lo=0,hn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,sr=0,br=0,W7=0,Dr=0,Io=0,Z7=0,S7=0,b7=0,t7=0,D7=0,_r=0,ar=0,Ar=0,xr=0,p7=0,Ps=0,hi=0,sl=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,V3=e[i2>>2]|0,Ne=V3+28|0,je=e[Ne>>2]|0,Cs=M+104|0,I7=e[Cs>>2]|0,Ls=t+104|0,dn=e[Ls>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=V3+4|0,b0=e[l0>>2]|0,U0=b0<<2,$=U0,P0=C,C=C+((1*$|0)+15&-16)|0,d1=z8(t,U0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=z8(t,P1)|0,c2=e[l0>>2]|0,N2=c2<<2,H2=z8(t,N2)|0,b2=dn+4|0,M5=+s[b2>>2],u2=e[l0>>2]|0,F2=u2<<2,g=F2,G5=C,C=C+((1*g|0)+15&-16)|0,T3=dn+8|0,U5=e[T3>>2]|0,Z5=t+28|0,h6=e[Z5>>2]|0,K3=(je+544|0)+(h6<<2)|0,A6=e[K3>>2]|0,P6=I7+56|0,B9=e[P6>>2]|0,we=(h6|0)!=0,de=we?2:0,D=de+U5|0,he=B9+(D*52|0)|0,ze=t+40|0,e[ze>>2]=h6,h4=(u2|0)>0,h4)for(Ie=+(r0|0),W3=4/Ie,m8=(s[w2>>2]=W3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),De=ct*7177114298428933e-22,j4=De+-764.6162109375,c8=j4,g4=c8+.345,Ai=g4,$i=I7+4|0,zi=t+24|0,h7=t+32|0,J8=Ai+-764.6162109375,nn=r0+-1|0,gs=(nn|0)>1,Xn=Ai+-382.30810546875,Dr=M5,Z7=0;;){if(Bs=e[t>>2]|0,ln=Bs+(Z7<<2)|0,f7=e[ln>>2]|0,io=z8(t,Lt)|0,Qs=j1+(Z7<<2)|0,e[Qs>>2]=io,ys=z8(t,Lt)|0,ro=d1+(Z7<<2)|0,e[ro>>2]=ys,no=e[zi>>2]|0,oo=e[Z5>>2]|0,ws=e[h7>>2]|0,eD(f7,$i,je,no,oo,ws),cn=e[Z5>>2]|0,vs=(I7+12|0)+(cn<<2)|0,so=e[vs>>2]|0,ks=e[so>>2]|0,Ss=e[ro>>2]|0,pQ(ks,f7,Ss),bs=e[Z5>>2]|0,ao=(I7+20|0)+(bs*12|0)|0,Kb(ao,f7),Ds=e[f7>>2]|0,_s=Ds&2147483647,xs=+(_s>>>0),Ao=xs*7177114298428933e-22,Ms=J8+Ao,Rs=Ms,gn=Rs+.345,vr=gn,s[f7>>2]=vr,un=G5+(Z7<<2)|0,s[un>>2]=vr,gs)for(V=vr,_r=1;;)if(Fs=f7+(_r<<2)|0,or=+s[Fs>>2],Ts=or*or,$o=_r+1|0,lo=f7+($o<<2)|0,hn=+s[lo>>2],Ns=hn*hn,co=Ns+Ts,go=(s[w2>>2]=co,e[w2>>2]|0),Gs=go&2147483647,uo=+(Gs>>>0),ho=uo*35885571492144663e-23,Us=Xn+ho,kr=Us,R=kr+.345,F=R,T=$o>>1,N=f7+(T<<2)|0,s[N>>2]=F,G=F>V,G?(s[un>>2]=F,wr=F):wr=V,e0=_r+2|0,K=(e0|0)<(nn|0),K)V=wr,_r=e0;else{W=wr;break}else W=vr;if(a0=W>0,a0?(s[un>>2]=0,J=0):J=W,s0=J>Dr,Io=s0?J:Dr,o0=Z7+1|0,H=e[l0>>2]|0,d0=(o0|0)<(H|0),d0)Dr=Io,Z7=o0;else{Q=Lt,S=_t,W7=Io;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,W7=M5;i0=z8(t,Q)|0,X=z8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,Z=I7+48|0,$0)b7=0;else{for(S7=0;;){o6=(A6+4|0)+(S7<<2)|0,C6=e[o6>>2]|0,z3=d1+(S7<<2)|0,M3=e[z3>>2]|0,e6=e[t>>2]|0,F6=e6+(S7<<2)|0,l6=e[F6>>2]|0,o3=l6+(S<<2)|0,e[ze>>2]=h6,K6=z8(t,60)|0,A3=H2+(S7<<2)|0,e[A3>>2]=K6,hi=K6,mn=hi+60|0;do e[hi>>2]=0,hi=hi+4|0;while((hi|0)<(mn|0));if(QQ(he,o3,i0),c6=G5+(S7<<2)|0,B6=+s[c6>>2],yQ(he,l6,X,W7,B6),rl(he,i0,X,1,l6,M3,o3),R3=(A6+1028|0)+(C6<<2)|0,Y6=e[R3>>2]|0,D6=(je+800|0)+(Y6<<2)|0,U6=e[D6>>2]|0,t9=(U6|0)==1,!t9){a=-1;break}if(Q6=e[Z>>2]|0,e9=Q6+(Y6<<2)|0,G3=e[e9>>2]|0,n9=il(t,G3,o3,l6)|0,V6=e[A3>>2]|0,s9=V6+28|0,e[s9>>2]=n9,c9=Nu(t)|0,J6=(c9|0)==0,J6||(T6=e[A3>>2]|0,i9=T6+28|0,_6=e[i9>>2]|0,O6=(_6|0)==0,O6||(rl(he,i0,X,2,l6,M3,o3),U3=e[R3>>2]|0,q6=e[Z>>2]|0,a9=q6+(U3<<2)|0,d9=e[a9>>2]|0,o9=il(t,d9,o3,l6)|0,Q9=e[A3>>2]|0,y9=Q9+56|0,e[y9>>2]=o9,rl(he,i0,X,0,l6,M3,o3),h9=e[R3>>2]|0,f9=e[Z>>2]|0,H9=f9+(h9<<2)|0,y6=e[H9>>2]|0,H6=il(t,y6,o3,l6)|0,A9=e[A3>>2]|0,e[A9>>2]=H6,Y9=e[R3>>2]|0,w9=e[Z>>2]|0,ue=w9+(Y9<<2)|0,Ee=e[ue>>2]|0,V9=e[A3>>2]|0,ie=e[V9>>2]|0,F9=V9+28|0,v9=e[F9>>2]|0,W6=Gt(t,Ee,ie,v9,9362)|0,$9=e[A3>>2]|0,ve=$9+4|0,e[ve>>2]=W6,Re=e[R3>>2]|0,_9=e[Z>>2]|0,Fe=_9+(Re<<2)|0,Te=e[Fe>>2]|0,Ge=e[A3>>2]|0,He=e[Ge>>2]|0,o4=Ge+28|0,ke=e[o4>>2]|0,Ye=Gt(t,Te,He,ke,18724)|0,J9=e[A3>>2]|0,Ve=J9+8|0,e[Ve>>2]=Ye,Ue=e[R3>>2]|0,Ce=e[Z>>2]|0,v4=Ce+(Ue<<2)|0,W9=e[v4>>2]|0,k9=e[A3>>2]|0,k4=e[k9>>2]|0,Y4=k9+28|0,nt=e[Y4>>2]|0,Je=Gt(t,W9,k4,nt,28086)|0,V4=e[A3>>2]|0,s4=V4+12|0,e[s4>>2]=Je,R4=e[R3>>2]|0,ot=e[Z>>2]|0,re=ot+(R4<<2)|0,d4=e[re>>2]|0,Be=e[A3>>2]|0,N6=e[Be>>2]|0,Ke=Be+28|0,P9=e[Ke>>2]|0,fe=Gt(t,d4,N6,P9,37449)|0,ne=e[A3>>2]|0,f4=ne+16|0,e[f4>>2]=fe,I4=e[R3>>2]|0,Se=e[Z>>2]|0,a4=Se+(I4<<2)|0,Pe=e[a4>>2]|0,m4=e[A3>>2]|0,S9=e[m4>>2]|0,f6=m4+28|0,J4=e[f6>>2]|0,S4=Gt(t,Pe,S9,J4,46811)|0,be=e[A3>>2]|0,me=be+20|0,e[me>>2]=S4,z6=e[R3>>2]|0,F4=e[Z>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,pe=e[A3>>2]|0,xe=e[pe>>2]|0,mt=pe+28|0,x9=e[mt>>2]|0,b9=Gt(t,st,xe,x9,56173)|0,Oe=e[A3>>2]|0,A4=Oe+24|0,e[A4>>2]=b9,h8=e[R3>>2]|0,N4=e[Z>>2]|0,f8=N4+(h8<<2)|0,_8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,_8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,x8=e[R3>>2]|0,Ht=e[Z>>2]|0,Yt=Ht+(x8<<2)|0,Vt=e[Yt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,Jt=e[pt>>2]|0,zt=xt+56|0,r8=e[zt>>2]|0,n8=Gt(t,Vt,Jt,r8,18724)|0,Et=e[A3>>2]|0,z4=Et+36|0,e[z4>>2]=n8,G4=e[R3>>2]|0,at=e[Z>>2]|0,L9=at+(G4<<2)|0,p8=e[L9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,L8=e[E8>>2]|0,o8=b4+56|0,M8=e[o8>>2]|0,$4=Gt(t,p8,L8,M8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=$4,At=e[R3>>2]|0,We=e[Z>>2]|0,U4=We+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,p4=e[Rt>>2]|0,oe=Ct+56|0,lt=e[oe>>2]|0,Bt=Gt(t,$t,p4,lt,37449)|0,Qt=e[A3>>2]|0,E4=Qt+44|0,e[E4>>2]=Bt,D4=e[R3>>2]|0,K4=e[Z>>2]|0,W4=K4+(D4<<2)|0,se=e[W4>>2]|0,P4=e[A3>>2]|0,C4=P4+28|0,gt=e[C4>>2]|0,_4=P4+56|0,yt=e[_4>>2]|0,a8=Gt(t,se,gt,yt,46811)|0,Ze=e[A3>>2]|0,E3=Ze+48|0,e[E3>>2]=a8,Z4=e[R3>>2]|0,wt=e[Z>>2]|0,l4=wt+(Z4<<2)|0,Z9=e[l4>>2]|0,c4=e[A3>>2]|0,T9=c4+28|0,Wt=e[T9>>2]|0,C8=c4+56|0,A8=e[C8>>2]|0,$8=Gt(t,Z9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=S7+1|0,ut=e[l0>>2]|0,dt=(jt|0)<(ut|0),dt)S7=jt;else{B=Z,Tt=ut;break e}}return C=In,a|0}for(;;){G6=(A6+4|0)+(b7<<2)|0,C0=e[G6>>2]|0,X6=d1+(b7<<2)|0,h0=e[X6>>2]|0,v6=e[t>>2]|0,L3=v6+(b7<<2)|0,n0=e[L3>>2]|0,I0=n0+(S<<2)|0,e[ze>>2]=h6,n6=z8(t,60)|0,v0=H2+(b7<<2)|0,e[v0>>2]=n6,hi=n6,mn=hi+60|0;do e[hi>>2]=0,hi=hi+4|0;while((hi|0)<(mn|0));for(ar=0;i6=h0+(ar<<2)|0,x3=e[i6>>2]|0,d3=x3&2147483647,J3=+(d3>>>0),d6=J3*7177114298428933e-22,m3=d6+-764.6162109375,L6=m3,M6=L6+.345,R6=M6,y=ar+S|0,S6=n0+(y<<2)|0,s[S6>>2]=R6,r6=ar+1|0,b6=(r6|0)<(S|0),b6;)ar=r6;if(QQ(he,I0,i0),g0=G5+(b7<<2)|0,f0=+s[g0>>2],yQ(he,n0,X,W7,f0),rl(he,i0,X,1,n0,h0,I0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(je+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[Z>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,K0=il(t,_0,I0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=K0,N0=Nu(t)|0,O0=(N0|0)==0,O0||(k0=e[v0>>2]|0,V0=k0+28|0,F0=e[V0>>2]|0,L0=(F0|0)==0,L0||(rl(he,i0,X,2,n0,h0,I0),G0=e[p0>>2]|0,z0=e[Z>>2]|0,J0=z0+(G0<<2)|0,q0=e[J0>>2]|0,Z0=il(t,q0,I0,n0)|0,H0=e[v0>>2]|0,s1=H0+56|0,e[s1>>2]=Z0,rl(he,i0,X,0,n0,h0,I0),Y0=e[p0>>2]|0,i1=e[Z>>2]|0,x0=i1+(Y0<<2)|0,o1=e[x0>>2]|0,h1=il(t,o1,I0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=h1,m1=e[p0>>2]|0,f1=e[Z>>2]|0,A1=f1+(m1<<2)|0,g1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,j0=a1+28|0,E1=e[j0>>2]|0,I1=Gt(t,g1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[Z>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,Z1=e[p0>>2]|0,G1=e[Z>>2]|0,x1=G1+(Z1<<2)|0,z1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,Y1=q1+28|0,V1=e[Y1>>2]|0,X1=Gt(t,z1,H1,V1,28086)|0,n2=e[v0>>2]|0,O1=n2+12|0,e[O1>>2]=X1,g2=e[p0>>2]|0,W1=e[Z>>2]|0,h2=W1+(g2<<2)|0,s2=e[h2>>2]|0,C2=e[v0>>2]|0,a2=e[C2>>2]|0,K1=C2+28|0,d2=e[K1>>2]|0,l2=Gt(t,s2,a2,d2,37449)|0,r2=e[v0>>2]|0,A2=r2+16|0,e[A2>>2]=l2,e2=e[p0>>2]|0,o2=e[Z>>2]|0,m2=o2+(e2<<2)|0,t2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,U2=e[v0>>2]|0,p2=U2+20|0,e[p2>>2]=L2,W2=e[p0>>2]|0,P2=e[Z>>2]|0,V2=P2+(W2<<2)|0,G2=e[V2>>2]|0,q2=e[v0>>2]|0,Z2=e[q2>>2]|0,A5=q2+28|0,N1=e[A5>>2]|0,t5=Gt(t,G2,Z2,N1,56173)|0,T5=e[v0>>2]|0,i5=T5+24|0,e[i5>>2]=t5,x5=e[p0>>2]|0,j2=e[Z>>2]|0,I5=j2+(x5<<2)|0,b5=e[I5>>2]|0,Y5=e[v0>>2]|0,g5=Y5+28|0,B5=e[g5>>2]|0,s5=Y5+56|0,R2=e[s5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,N5=e[p0>>2]|0,m5=e[Z>>2]|0,L5=m5+(N5<<2)|0,q5=e[L5>>2]|0,Y2=e[v0>>2]|0,p5=Y2+28|0,$5=e[p5>>2]|0,u5=Y2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,d5=D5+36|0,e[d5>>2]=T1,l5=e[p0>>2]|0,X2=e[Z>>2]|0,w5=X2+(l5<<2)|0,r5=e[w5>>2]|0,a5=e[v0>>2]|0,h5=a5+28|0,z2=e[h5>>2]|0,f5=a5+56|0,n5=e[f5>>2]|0,R5=Gt(t,r5,z2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=R5,v5=e[p0>>2]|0,J5=e[Z>>2]|0,i3=J5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,h3=I3+28|0,K5=e[h3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,K5,a3,37449)|0,W5=e[v0>>2]|0,D3=W5+44|0,e[D3>>2]=B3,f3=e[p0>>2]|0,y3=e[Z>>2]|0,X3=y3+(f3<<2)|0,q3=e[X3>>2]|0,X5=e[v0>>2]|0,b3=X5+28|0,t3=e[b3>>2]|0,s6=X5+56|0,H3=e[s6>>2]|0,c3=Gt(t,q3,t3,H3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,z5=e[Z>>2]|0,H5=z5+(Q3<<2)|0,V5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,N3=Gt(t,V5,$6,l3,56173)|0,E6=e[v0>>2]|0,k3=E6+52|0,e[k3>>2]=N3)),_3=b7+1|0,S3=e[l0>>2]|0,a6=(_3|0)<(S3|0),a6)b7=_3;else{B=Z,Tt=S3;break e}}return C=In,a|0}else w=I7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=W7,Ft=Tt<<2,h=Ft,X4=C,C=C+((1*h|0)+15&-16)|0,m=Ft,D9=C,C=C+((1*m|0)+15&-16)|0,g8=Nu(t)|0,et=(g8|0)!=0,H8=et?0:7,K8=I7+44|0,R8=t+24|0,u8=t+32|0,F8=je+2868|0,Y8=I7+52|0,p7=H8;;){if(W8=(dn+12|0)+(p7<<2)|0,ht=e[W8>>2]|0,O2(ht,0,1),Nt=e[K8>>2]|0,O2(ht,h6,Nt),T8=e[Z5>>2]|0,Xt=(T8|0)==0,Xt||(O4=e[R8>>2]|0,O2(ht,O4,1),B4=e[u8>>2]|0,O2(ht,B4,1)),ae=e[l0>>2]|0,N8=(ae|0)>0,N8)for(t7=0;;)if(Oi=(A6+4|0)+(t7<<2)|0,qi=e[Oi>>2]|0,Hi=j1+(t7<<2)|0,pi=e[Hi>>2]|0,Z8=(A6+1028|0)+(qi<<2)|0,Ei=e[Z8>>2]|0,j8=e[B>>2]|0,Ci=j8+(Ei<<2)|0,X8=e[Ci>>2]|0,Bi=H2+(t7<<2)|0,c7=e[Bi>>2]|0,Yi=c7+(p7<<2)|0,Qi=e[Yi>>2]|0,yi=ib(ht,t,X8,Qi,pi)|0,g7=P0+(t7<<2)|0,e[g7>>2]=yi,wi=t7+1|0,li=e[l0>>2]|0,u7=(wi|0)<(li|0),u7)t7=wi;else{I=li;break}else I=ae;if(Vi=e[Z5>>2]|0,Ji=((je+3240|0)+(Vi*60|0)|0)+(p7<<2)|0,Ki=e[Ji>>2]|0,Sb(p7,F8,he,A6,d1,j1,P0,Ki,I),ci=e[A6>>2]|0,vi=(ci|0)>0,vi)for(D7=0;;){if(Wi=(A6+1092|0)+(D7<<2)|0,ei=e[Wi>>2]|0,gi=e[l0>>2]|0,V8=(gi|0)>0,V8)for($n=gi,m7=0,Ar=0;;)if(ti=(A6+4|0)+(Ar<<2)|0,d7=e[ti>>2]|0,Zi=(d7|0)==(D7|0),Zi?(ki=D9+(m7<<2)|0,ji=P0+(Ar<<2)|0,Si=e[ji>>2]|0,Ps=(Si|0)!=0,o=Ps&1,e[ki>>2]=o,bi=j1+(Ar<<2)|0,Xi=e[bi>>2]|0,Di=m7+1|0,ii=X4+(m7<<2)|0,e[ii>>2]=Xi,E=e[l0>>2]|0,ui=E,fn=Di):(ui=$n,fn=m7),_i=Ar+1|0,e7=(_i|0)<(ui|0),e7)$n=ui,m7=fn,Ar=_i;else{fo=fn;break}else fo=0;if(xi=(je+1312|0)+(ei<<2)|0,x4=e[xi>>2]|0,Li=25648+(x4<<2)|0,G8=e[Li>>2]|0,di=G8+20|0,l9=e[di>>2]|0,B8=e[Y8>>2]|0,vt=B8+(ei<<2)|0,Q8=e[vt>>2]|0,U8=xC[l9&7](t,Q8,X4,D9,fo)|0,yr=e[l0>>2]|0,as=(yr|0)>0,as)for(sr=0,xr=0;;)if(Vn=(A6+4|0)+(xr<<2)|0,As=e[Vn>>2]|0,Jn=(As|0)==(D7|0),Jn?($s=j1+(xr<<2)|0,ls=e[$s>>2]|0,zn=sr+1|0,cs=X4+(sr<<2)|0,e[cs>>2]=ls,br=zn):br=sr,on=xr+1|0,us=(on|0)<(yr|0),us)sr=br,xr=on;else{Sr=br;break}else Sr=0;if(ds=e[xi>>2]|0,Kn=25648+(ds<<2)|0,hs=e[Kn>>2]|0,Wn=hs+24|0,Zn=e[Wn>>2]|0,fs=e[Y8>>2]|0,sn=fs+(ei<<2)|0,jn=e[sn>>2]|0,YQ[Zn&3](ht,t,jn,X4,D9,Sr,U8,D7)|0,an=D7+1|0,eo=e[A6>>2]|0,Is=(an|0)<(eo|0),Is)D7=an;else break}if(ms=p7+1|0,ps=Nu(t)|0,An=(ps|0)!=0,to=An?14:7,Es=(p7|0)<(to|0),Es)p7=ms;else{a=0;break}}return C=In,a|0}function Cb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,V1=F1+28|0,K1=e[V1>>2]|0,k2=v+104|0,G2=e[k2>>2]|0,I5=t+28|0,N5=e[I5>>2]|0,w=K1+(N5<<2)|0,V=e[w>>2]|0,i0=t+36|0,e[i0>>2]=V,h0=F1+4|0,K0=e[h0>>2]|0,G0=K0<<2,g=G0,o1=C,C=C+((1*g|0)+15&-16)|0,h=G0,j0=C,C=C+((1*h|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[h0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=G2+48|0,L1=V<<1,M1=L1&2147483646,X2=0;;)if(P1=w1+(X2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,z1=(K1+800|0)+(x1<<2)|0,q1=e[z1>>2]|0,H1=25640+(q1<<2)|0,Y1=e[H1>>2]|0,X1=Y1+20|0,n2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,g2=e[O1>>2]|0,W1=mi[n2&15](t,g2)|0,h2=I1+(X2<<2)|0,e[h2>>2]=W1,s2=E1+(X2<<2)|0,e5=(W1|0)!=0,a=e5&1,e[s2>>2]=a,C2=e[t>>2]|0,a2=C2+(X2<<2)|0,d2=e[a2>>2]|0,u4(d2|0,0,M1|0)|0,l2=X2+1|0,i2=e[h0>>2]|0,c2=(l2|0)<(i2|0),c2)X2=l2;else{a1=i2;break}else a1=p1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,u2=0;t2=U1+(u2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,N2=(Q2|0)==0,L2=D1+(u2<<2)|0,U2=e[L2>>2]|0,N2?(p2=E1+(U2<<2)|0,W2=e[p2>>2]|0,P2=(W2|0)==0,P2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,V2=E1+(U2<<2)|0,e[V2>>2]=1),q2=u2+1|0,Z2=(q2|0)<(_1|0),Z2;)u2=q2;if(r2=e[o>>2]|0,A2=(r2|0)>0,A2){for(e2=o+1092|0,o2=G2+52|0,m2=o+4|0,A5=a1,w5=0;;){if(H2=(A5|0)>0,H2)for($1=A5,d5=0,f5=0;;)if(N1=m2+(f5<<2)|0,t5=e[N1>>2]|0,T5=(t5|0)==(w5|0),T5?(i5=E1+(f5<<2)|0,x5=e[i5>>2]|0,j2=j0+(d5<<2)|0,R5=(x5|0)!=0,$=R5&1,e[j2>>2]=$,b5=e[t>>2]|0,Y5=b5+(f5<<2)|0,g5=e[Y5>>2]|0,b2=d5+1|0,B5=o1+(d5<<2)|0,e[B5>>2]=g5,B=e[h0>>2]|0,M2=B,l5=b2):(M2=$1,l5=d5),s5=f5+1|0,R2=(s5|0)<(M2|0),R2)$1=M2,d5=l5,f5=s5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,L5=e[m5>>2]|0,q5=25648+(L5<<2)|0,M5=e[q5>>2]|0,Y2=M5+28|0,p5=e[Y2>>2]|0,$5=e[o2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,xC[p5&7](t,y5,o1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[h0>>2]|0,A5=Q,w5=T1}S=e[b1>>2]|0,x=S}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,T=(V|0)/2&-1,N=(V|0)>1,a5=x;;){if(r5=a5+-1|0,s0=L+(r5<<2)|0,J=e[s0>>2]|0,o0=R+(J<<2)|0,H=e[o0>>2]|0,d0=F+(r5<<2)|0,X=e[d0>>2]|0,u0=R+(X<<2)|0,c0=e[u0>>2]|0,N)for(n5=0;;){$0=H+(n5<<2)|0,l0=+s[$0>>2],Z=c0+(n5<<2)|0,I0=+s[Z>>2],g0=l0>0,f0=I0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-I0,s[Z>>2]=n0;break}else{s[Z>>2]=l0,p0=I0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=I0+l0,s[Z>>2]=C0;break}else{s[Z>>2]=l0,S0=l0-I0,s[$0>>2]=S0;break}while(!1);if(Q0=n5+1|0,b0=(Q0|0)<(T|0),b0)n5=Q0;else break}if(G=(a5|0)>1,G)a5=r5;else break}if(e0=e[h0>>2]|0,K=(e0|0)>0,!K)return C=F2,0;for(a0=o+4|0,W=o+1028|0,r0=G2+48|0,h5=0;;)if(y0=e[t>>2]|0,w0=y0+(h5<<2)|0,B0=e[w0>>2]|0,_0=a0+(h5<<2)|0,M0=e[_0>>2]|0,v0=W+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,U0=e[N0>>2]|0,O0=25640+(U0<<2)|0,k0=e[O0>>2]|0,V0=k0+24|0,F0=e[V0>>2]|0,L0=e[r0>>2]|0,z0=L0+(T0<<2)|0,J0=e[z0>>2]|0,q0=I1+(h5<<2)|0,Z0=e[q0>>2]|0,DC[F0&3](t,J0,Z0,B0)|0,P0=h5+1|0,H0=e[h0>>2]|0,s1=(P0|0)<(H0|0),s1)h5=P0;else{E=H0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(z2=0;Y0=e[t>>2]|0,i1=Y0+(z2<<2)|0,x0=e[i1>>2]|0,h1=e[I5>>2]|0,u1=(G2+12|0)+(h1<<2)|0,m1=e[u1>>2]|0,f1=e[m1>>2]|0,Bb(f1,x0,x0),d1=z2+1|0,A1=e[h0>>2]|0,g1=(d1|0)<(A1|0),g1;)z2=d1;return C=F2,0}function yC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=R9($)|0,V=a+o|0,i0=V<<2,h0=R9(i0)|0,K0=o>>1,G0=+(o|0),o1=G0,E1=+tn(+o1),g=E1*1.4426950408889634,h=+z7(g),m=~~h,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=h0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,T=+(F|0),N=b*T,G=+rA(+N),e0=G,K=w1<<1,a0=h0+(K<<2)|0,s[a0>>2]=e0,W=+Hn(+N),r0=W,s0=-r0,J=K|1,o0=h0+(J<<2)|0,s[o0>>2]=s0,H=+(J|0),d0=y*H,X=+rA(+d0),u0=X,c0=K+K0|0,$0=h0+(c0<<2)|0,s[$0>>2]=u0,l0=+Hn(+d0),Z=l0,I0=c0+1|0,g0=h0+(I0<<2)|0,s[g0>>2]=Z,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+rA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=h0+(B0<<2)|0,s[_0>>2]=y0,M0=+Hn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,U0=h0+(N0<<2)|0,s[U0>>2]=T0,O0=v1+1|0,k0=(O0|0)<(x|0),k0;)v1=O0;if(V0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=J0,Q1=0,L1=0;;)if(q0=Z0&k1,P0=(q0|0)==0,H0=1<>Y0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=Y0;if(h1=B1^-1,u1=L0&h1,m1=u1+-1|0,f1=k1<<1,d1=w+(f1<<2)|0,e[d1>>2]=m1,A1=f1|1,g1=w+(A1<<2)|0,e[g1>>2]=B1,a1=k1+1|0,$1=(a1|0)<(x|0),$1)k1=a1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function wC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),h=t+12|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function Bb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,W2=o+($<<2)|0,g=I+j1|0,i5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,h5=u5+(j1<<2)|0,u3=h5,H5=W2,_3=i5;E5=_3+-16|0,y3=H5+8|0,E=+s[y3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,U0=+s[H5>>2],P0=u3+8|0,d1=+s[P0>>2],w1=d1*U0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],c2=+s[L>>2],k2=c2*O1,D2=+s[y3>>2],S2=+s[P0>>2],Q2=S2*D2,N2=k2-Q2,L2=_3+-12|0,s[L2>>2]=N2,U2=H5+24|0,p2=+s[U2>>2],P2=u3+4|0,V2=+s[P2>>2],G2=p2*V2,q2=-G2,Z2=H5+16|0,A5=+s[Z2>>2],H2=+s[u3>>2],N1=H2*A5,t5=q2-N1,T5=_3+-8|0,s[T5>>2]=t5,x5=+s[Z2>>2],j2=+s[P2>>2],I5=j2*x5,b5=+s[U2>>2],Y5=+s[u3>>2],g5=Y5*b5,b2=I5-g5,B5=_3+-4|0,s[B5>>2]=b2,s5=H5+-32|0,R2=u3+16|0,y2=s5>>>0>>0,!y2;)u3=R2,H5=s5,_3=E5;for(Q5=a+(I<<2)|0,h=I+-8|0,N5=o+(h<<2)|0,Q3=h5,V5=N5,S3=i5;m5=Q3+-16|0,L5=V5+16|0,q5=+s[L5>>2],M5=Q3+-4|0,Y2=+s[M5>>2],p5=Y2*q5,$5=V5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],d5=D5*y5,l5=d5+p5,s[S3>>2]=l5,X2=+s[L5>>2],u2=+s[T1>>2],w5=u2*X2,r5=+s[$5>>2],a5=+s[M5>>2],z2=a5*r5,f5=w5-z2,n5=S3+4|0,s[n5>>2]=f5,R5=+s[V5>>2],e5=Q3+-12|0,c5=+s[e5>>2],F2=c5*R5,v5=V5+8|0,J5=+s[v5>>2],i3=+s[m5>>2],I3=i3*J5,h3=I3+F2,K5=S3+8|0,s[K5>>2]=h3,r3=+s[V5>>2],a3=+s[m5>>2],B3=a3*r3,G5=+s[v5>>2],W5=+s[e5>>2],D3=W5*G5,f3=B3-D3,X3=S3+12|0,s[X3>>2]=f3,q3=V5+-32|0,X5=S3+16|0,b3=q3>>>0>>0,!b3;)Q3=m5,V5=q3,S3=X5;for($6=t+4|0,n3=e[$6>>2]|0,EQ(n3,u5,Q5,I),l3=e[t>>2]|0,N3=e[M2>>2]|0,E6=t+12|0,k3=e[E6>>2]|0,CQ(l3,N3,k3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,z5=s6,S5=a,a6=i5,Z5=i5;T3=a6+-16|0,H3=+s[S5>>2],c3=z5+4|0,g3=+s[c3>>2],Q=g3*H3,B=S5+4|0,S=+s[B>>2],b=+s[z5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[z5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],T=F*R,N=M+T,G=-N,s[Z5>>2]=G,V=S5+8|0,e0=+s[V>>2],K=z5+12|0,a0=+s[K>>2],W=a0*e0,s0=S5+12|0,J=+s[s0>>2],o0=z5+8|0,H=+s[o0>>2],d0=H*J,i0=W-d0,X=a6+-8|0,s[X>>2]=i0,u0=+s[V>>2],c0=+s[o0>>2],$0=c0*u0,Z=+s[s0>>2],I0=+s[K>>2],g0=I0*Z,f0=$0+g0,n0=-f0,h0=Z5+4|0,s[h0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=z5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=z5+16|0,_0=+s[B0>>2],K0=_0*w0,M0=E0-K0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],O0=N0*T0,k0=+s[y0>>2],V0=+s[S0>>2],F0=V0*k0,L0=O0+F0,G0=-L0,z0=Z5+8|0,s[z0>>2]=G0,J0=S5+24|0,q0=+s[J0>>2],Z0=z5+28|0,H0=+s[Z0>>2],s1=H0*q0,Y0=S5+28|0,i1=+s[Y0>>2],x0=z5+24|0,o1=+s[x0>>2],h1=o1*i1,u1=s1-h1,s[T3>>2]=u1,m1=+s[J0>>2],f1=+s[x0>>2],A1=f1*m1,g1=+s[Y0>>2],a1=+s[Z0>>2],$1=a1*g1,j0=A1+$1,E1=-j0,I1=Z5+12|0,s[I1>>2]=E1,Q1=Z5+16|0,p1=S5+32|0,B1=z5+32|0,v1=p1>>>0>>0,v1;)z5=B1,S5=p1,a6=T3,Z5=Q1;for(k1=a+(j1<<2)|0,Y3=i5,i6=k1,x3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=i6+-4|0,s[R1>>2]=_1,F1=-_1,s[x3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=D1,G1=-D1,x1=x3+4|0,s[x1>>2]=G1,z1=Y3+-12|0,q1=+s[z1>>2],H1=i6+-12|0,s[H1>>2]=q1,Y1=-q1,V1=x3+8|0,s[V1>>2]=Y1,X1=+s[M1>>2],s[L1>>2]=X1,n2=-X1,g2=x3+12|0,s[g2>>2]=n2,W1=x3+16|0,h2=W1>>>0>>0,h2)Y3=M1,i6=L1,x3=W1;else{U5=i5,V3=i5;break}for(;s2=V3+-16|0,C2=U5+12|0,a2=e[C2>>2]|0,e[s2>>2]=a2,K1=U5+8|0,d2=e[K1>>2]|0,l2=V3+-12|0,e[l2>>2]=d2,i2=U5+4|0,r2=e[i2>>2]|0,A2=V3+-8|0,e[A2>>2]=r2,e2=e[U5>>2]|0,o2=V3+-4|0,e[o2>>2]=e2,m2=U5+16|0,t2=s2>>>0>Q5>>>0,t2;)U5=m2,V3=s2}function pQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,v=e[t>>2]|0,w=v>>1,s1=v>>2,g1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,g2=G1+(w<<2)|0,g=w+s1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,e0=(g1|0)>0,e0){for(h=g+1|0,X=o+(h<<2)|0,p0=g1+-1|0,M0=p0>>>1,z0=M0<<1,q0=w+-2|0,Z0=q0-z0|0,P0=g+-4|0,H0=M0<<2,Y0=P0-H0|0,s5=D,L5=0,h5=r2,R5=X;i1=h5+-16|0,x0=s5+-8|0,o1=h5+-8|0,h1=+s[o1>>2],u1=+s[R5>>2],m1=u1+h1,f1=+s[i1>>2],d1=R5+8|0,A1=+s[d1>>2],a1=A1+f1,$1=s5+-4|0,j0=+s[$1>>2],E1=a1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=L5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*a1,L1=+s[$1>>2],M1=L1*m1,b1=v1-M1,_1=L5|1,b=_1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=b1,F1=R5+16|0,U1=L5+2|0,D1=(U1|0)<(g1|0),D1;)s5=x0,L5=U1,h5=i1,R5=F1;P1=z0+2|0,u2=N1+(Z0<<2)|0,w5=o+(Y0<<2)|0,H2=Z0,B5=u2,m5=P1,a5=w5}else H2=w,B5=D,m5=0,a5=r2;if(Z1=o+4|0,x1=w-g1|0,z1=(m5|0)<(x1|0),z1){for(q1=w+-1|0,H1=q1-m5|0,Y1=H1-g1|0,V1=Y1>>>1,X1=V1<<1,n2=m5+X1|0,j1=V1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,M5=m5,z2=a5,c5=Z1;h2=M2+-8|0,s2=z2+-16|0,C2=z2+-8|0,a2=+s[C2>>2],K1=+s[c5>>2],d2=a2-K1,l2=+s[s2>>2],i2=c5+8|0,c2=+s[i2>>2],A2=l2-c2,e2=M2+-4|0,o2=+s[e2>>2],m2=A2*o2,t2=+s[h2>>2],k2=t2*d2,D2=k2+m2,E=M5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[h2>>2],N2=Q2*A2,U2=+s[e2>>2],p2=U2*d2,W2=N2-p2,P2=M5|1,Q=P2+w|0,V2=G1+(Q<<2)|0,s[V2>>2]=W2,G2=c5+16|0,q2=M5+2|0,Z2=(q2|0)<(x1|0),Z2;)M2=h2,M5=q2,z2=s2,c5=G2;A5=n2+2|0,l5=o+(O1<<2)|0,B=H2+W1|0,X2=N1+(B<<2)|0,R2=X2,q5=A5,e5=l5}else R2=B5,q5=m5,e5=Z1;if(t5=(q5|0)<(w|0),t5)for(T5=o+(v<<2)|0,y2=R2,Y2=q5,f5=T5,F2=e5;i5=y2+-8|0,x5=f5+-16|0,j2=f5+-8|0,I5=+s[j2>>2],b5=-I5,Y5=+s[F2>>2],g5=b5-Y5,b2=+s[x5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],T=L*F,N=+s[i5>>2],G=N*g5,V=G+T,m=Y2+w|0,K=G1+(m<<2)|0,s[K>>2]=V,a0=+s[i5>>2],W=a0*L,r0=+s[R>>2],s0=r0*g5,J=W-s0,o0=Y2|1,I=o0+w|0,H=G1+(I<<2)|0,s[H>>2]=J,d0=F2+16|0,i0=Y2+2|0,u0=(i0|0)<(w|0),u0;)y2=i5,Y2=i0,f5=x5,F2=d0;if($5=t+4|0,u5=e[$5>>2]|0,EQ(u5,N1,g2,w),d5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,CQ(d5,y5,D5,G1),c0=(s1|0)>0,!c0){C=J5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,Z=l0+(w<<2)|0,I0=t+16|0,Q5=Z,p5=0,r5=G1,n5=$0;g0=n5+-4|0,f0=+s[r5>>2],n0=+s[Q5>>2],h0=n0*f0,C0=r5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+h0,w0=+s[I0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,K0=+s[r5>>2],v0=+s[Q0>>2],T0=v0*K0,N0=+s[C0>>2],U0=+s[Q5>>2],O0=U0*N0,k0=T0-O0,V0=+s[I0>>2],F0=k0*V0,s[g0>>2]=F0,L0=r5+8|0,G0=Q5+8|0,J0=p5+1|0,N5=(J0|0)==(s1|0),!N5;)Q5=G0,p5=J0,r5=L0,n5=g0;C=J5}function EQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0;if(yr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,Y5=a+(I<<2)|0,R3=$>>1,B=R3+-8|0,e8=a+(B<<2)|0,g=o,B8=Y5,Q8=e8;ht=B8+24|0,Hi=+s[ht>>2],Qi=Q8+24|0,vi=+s[Qi>>2],Si=Hi-vi,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,f1=+s[Z0>>2],B1=N0-f1,D1=vi+Hi,s[ht>>2]=D1,n2=+s[Z0>>2],l2=n2+N0,s[Q0>>2]=l2,S2=g+4|0,Z2=+s[S2>>2],g5=Z2*B1,q5=+s[g>>2],X2=q5*Si,c5=X2+g5,s[Qi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*Si,S6=s6-i6,s[Z0>>2]=S6,z3=B8+16|0,Y6=+s[z3>>2],c9=Q8+16|0,o9=+s[c9>>2],w9=Y6-o9,Re=B8+20|0,Ve=+s[Re>>2],V4=Q8+20|0,fe=+s[V4>>2],f6=Ve-fe,xe=o9+Y6,s[z3>>2]=xe,I8=+s[V4>>2],Vt=I8+Ve,s[Re>>2]=Vt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*f6,_4=g+16|0,T9=+s[_4>>2],Ft=T9*w9,u8=Ft+Bt,s[c9>>2]=u8,W8=+s[_4>>2],Nt=W8*f6,T8=+s[at>>2],Xt=T8*w9,O4=Nt-Xt,s[V4>>2]=O4,B4=B8+8|0,ae=+s[B4>>2],N8=Q8+8|0,Ai=+s[N8>>2],Oi=ae-Ai,qi=B8+12|0,pi=+s[qi>>2],Z8=Q8+12|0,Ei=+s[Z8>>2],j8=pi-Ei,Ci=Ai+ae,s[B4>>2]=Ci,X8=+s[Z8>>2],Bi=X8+pi,s[qi>>2]=Bi,$i=g+36|0,c7=+s[$i>>2],Yi=c7*j8,yi=g+32|0,g7=+s[yi>>2],wi=g7*Oi,li=wi+Yi,s[N8>>2]=li,u7=+s[yi>>2],Vi=u7*j8,Ji=+s[$i>>2],zi=Ji*Oi,Ki=Vi-zi,s[Z8>>2]=Ki,ci=+s[B8>>2],Wi=+s[Q8>>2],ei=ci-Wi,gi=B8+4|0,V8=+s[gi>>2],ti=Q8+4|0,d7=+s[ti>>2],Zi=V8-d7,h7=Wi+ci,s[B8>>2]=h7,ki=+s[ti>>2],ji=ki+V8,s[gi>>2]=ji,bi=g+52|0,Xi=+s[bi>>2],Di=Xi*Zi,ii=g+48|0,_i=+s[ii>>2],e7=_i*ei,ui=e7+Di,s[Q8>>2]=ui,J8=+s[ii>>2],xi=J8*Zi,x4=+s[bi>>2],b0=x4*ei,E0=xi-b0,s[ti>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(K0=(C0|0)>1,K0)for(G8=1;;){if(M0=1<>G8,U0=4<>1,S=O0+-8|0,N=U0+1|0,d0=U0<<1,$0=d0|1,I0=U0*3|0,f0=I0+1|0,h0=U0<<2,di=0;;){for(V0=o5(di,T0)|0,F0=a+(V0<<2)|0,m=E+V0|0,L0=a+(m<<2)|0,u0=S+V0|0,G0=a+(u0<<2)|0,h=o,vt=L0,U8=G0;z0=vt+24|0,J0=+s[z0>>2],q0=U8+24|0,P0=+s[q0>>2],H0=J0-P0,s1=vt+28|0,Y0=+s[s1>>2],i1=U8+28|0,x0=+s[i1>>2],o1=Y0-x0,h1=P0+J0,s[z0>>2]=h1,u1=+s[i1>>2],m1=u1+Y0,s[s1>>2]=m1,d1=h+4|0,A1=+s[d1>>2],g1=A1*o1,a1=+s[h>>2],$1=a1*H0,j0=$1+g1,s[q0>>2]=j0,E1=+s[h>>2],I1=E1*o1,Q1=+s[d1>>2],p1=Q1*H0,w1=I1-p1,s[i1>>2]=w1,v1=h+(U0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=U8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=U8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=b1+L1,s[k1>>2]=G1,x1=+s[U1>>2],z1=x1+F1,s[R1>>2]=z1,q1=h+(N<<2)|0,H1=+s[q1>>2],Y1=H1*Z1,V1=+s[v1>>2],X1=V1*_1,j1=X1+Y1,s[M1>>2]=j1,O1=+s[v1>>2],g2=O1*Z1,W1=+s[q1>>2],h2=W1*_1,s2=g2-h2,s[U1>>2]=s2,C2=h+(d0<<2)|0,a2=vt+8|0,K1=+s[a2>>2],d2=U8+8|0,i2=+s[d2>>2],c2=K1-i2,r2=vt+12|0,A2=+s[r2>>2],e2=U8+12|0,o2=+s[e2>>2],m2=A2-o2,t2=i2+K1,s[a2>>2]=t2,k2=+s[e2>>2],D2=k2+A2,s[r2>>2]=D2,Q2=h+($0<<2)|0,N2=+s[Q2>>2],L2=N2*m2,U2=+s[C2>>2],p2=U2*c2,W2=p2+L2,s[d2>>2]=W2,P2=+s[C2>>2],V2=P2*m2,G2=+s[Q2>>2],q2=G2*c2,A5=V2-q2,s[e2>>2]=A5,H2=h+(I0<<2)|0,N1=+s[vt>>2],t5=+s[U8>>2],T5=N1-t5,i5=vt+4|0,x5=+s[i5>>2],j2=U8+4|0,I5=+s[j2>>2],b5=x5-I5,b2=t5+N1,s[vt>>2]=b2,B5=+s[j2>>2],s5=B5+x5,s[i5>>2]=s5,R2=h+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[H2>>2],N5=Q5*T5,m5=N5+y2,s[U8>>2]=m5,L5=+s[H2>>2],M5=L5*b5,Y2=+s[R2>>2],p5=Y2*T5,$5=M5-p5,s[j2>>2]=$5,u5=h+(h0<<2)|0,y5=vt+-32|0,T1=U8+-32|0,D5=T1>>>0>>0,!D5;)h=u5,vt=y5,U8=T1;if(d5=di+1|0,l5=(d5|0)<(M0|0),l5)di=d5;else break}if(u2=G8+1|0,Li=(u2|0)==(C0|0),Li)break;G8=u2}if(k0=($|0)>0,k0)l9=0;else return;for(;w5=a+(l9<<2)|0,Q=l9|30,r5=a+(Q<<2)|0,a5=+s[r5>>2],T=l9|14,h5=a+(T<<2)|0,z2=+s[h5>>2],f5=a5-z2,H=l9|31,n5=a+(H<<2)|0,R5=+s[n5>>2],c0=l9|15,e5=a+(c0<<2)|0,F2=+s[e5>>2],v5=R5-F2,J5=z2+a5,s[r5>>2]=J5,i3=F2+R5,s[n5>>2]=i3,s[h5>>2]=f5,s[e5>>2]=v5,l0=l9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],Z=l9|12,h3=a+(Z<<2)|0,K5=+s[h3>>2],r3=I3-K5,g0=l9|29,a3=a+(g0<<2)|0,G5=+s[a3>>2],n0=l9|13,W5=a+(n0<<2)|0,D3=+s[W5>>2],f3=G5-D3,y3=K5+I3,s[E5>>2]=y3,X3=D3+G5,s[a3>>2]=X3,q3=r3*.9238795042037964,X5=f3*.3826834261417389,b3=q3-X5,s[h3>>2]=b3,t3=r3*.3826834261417389,T3=f3*.9238795042037964,H3=T3+t3,s[W5>>2]=H3,p0=l9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=l9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],z5=g3-Q3,v=l9|27,H5=a+(v<<2)|0,V5=+s[H5>>2],w=l9|11,S5=a+(w<<2)|0,U5=+s[S5>>2],$6=V5-U5,n3=Q3+g3,s[c3>>2]=n3,l3=U5+V5,s[H5>>2]=l3,N3=z5-$6,E6=N3*.7071067690849304,s[u3>>2]=E6,k3=$6+z5,_3=k3*.7071067690849304,s[S5>>2]=_3,D=l9|24,S3=a+(D<<2)|0,a6=+s[S3>>2],y=l9|8,V3=a+(y<<2)|0,Z5=+s[V3>>2],x3=a6-Z5,x=l9|25,d3=a+(x<<2)|0,J3=+s[d3>>2],M=l9|9,d6=a+(M<<2)|0,m3=+s[d6>>2],L6=J3-m3,M6=Z5+a6,s[S3>>2]=M6,R6=m3+J3,s[d3>>2]=R6,r6=x3*.3826834261417389,h6=L6*.9238795042037964,b6=r6-h6,G6=L6*.3826834261417389,X6=x3*.9238795042037964,v6=G6+X6,L=l9|22,L3=a+(L<<2)|0,n6=+s[L3>>2],R=l9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],M3=n6-C6,F=l9|7,K3=a+(F<<2)|0,e6=+s[K3>>2],G=l9|23,F6=a+(G<<2)|0,l6=+s[F6>>2],o3=e6-l6,K6=C6+n6,s[L3>>2]=K6,A3=l6+e6,s[F6>>2]=A3,s[o6>>2]=o3,s[K3>>2]=M3,V=l9|4,c6=a+(V<<2)|0,B6=+s[c6>>2],e0=l9|20,A6=a+(e0<<2)|0,D6=+s[A6>>2],U6=B6-D6,K=l9|5,t9=a+(K<<2)|0,Q6=+s[t9>>2],a0=l9|21,e9=a+(a0<<2)|0,G3=+s[e9>>2],n9=Q6-G3,V6=D6+B6,s[A6>>2]=V6,s9=G3+Q6,s[e9>>2]=s9,P6=n9*.9238795042037964,J6=U6*.3826834261417389,T6=P6+J6,i9=n9*.3826834261417389,_6=U6*.9238795042037964,O6=i9-_6,W=l9|2,U3=a+(W<<2)|0,q6=+s[U3>>2],r0=l9|18,a9=a+(r0<<2)|0,d9=+s[a9>>2],B9=q6-d9,s0=l9|3,Q9=a+(s0<<2)|0,y9=+s[Q9>>2],J=l9|19,h9=a+(J<<2)|0,f9=+s[h9>>2],H9=y9-f9,y6=d9+q6,s[a9>>2]=y6,H6=f9+y9,s[h9>>2]=H6,A9=H9+B9,Y9=A9*.7071067690849304,we=H9-B9,ue=we*.7071067690849304,Ee=+s[w5>>2],o0=l9|16,V9=a+(o0<<2)|0,ie=+s[V9>>2],F9=Ee-ie,i0=l9|1,v9=a+(i0<<2)|0,W6=+s[v9>>2],X=l9|17,$9=a+(X<<2)|0,ve=+s[$9>>2],de=W6-ve,_9=ie+Ee,s[V9>>2]=_9,Fe=ve+W6,s[$9>>2]=Fe,Te=de*.3826834261417389,Ge=F9*.9238795042037964,He=Te+Ge,o4=de*.9238795042037964,ke=F9*.3826834261417389,Ye=o4-ke,J9=Ye-v6,he=He-b6,Ue=He+b6,Ce=Ye+v6,v4=he+J9,W9=J9-he,k9=+s[S5>>2],k4=ue-k9,Y4=+s[u3>>2],nt=Y4-Y9,Je=Y4+Y9,ze=k9+ue,s4=+s[h3>>2],R4=s4-T6,ot=+s[W5>>2],re=ot-O6,d4=s4+T6,Be=ot+O6,N6=R4-re,Ke=re+R4,P9=+s[h5>>2],Ne=P9-o3,h4=+s[e5>>2],ne=h4-M3,f4=o3+P9,I4=M3+h4,Se=Ne+k4,a4=Ne-k4,Pe=N6+v4,m4=Pe*.7071067690849304,S9=N6-v4,J4=S9*.7071067690849304,Ie=m4+Se,s[o6>>2]=Ie,S4=Se-m4,s[c6>>2]=S4,be=Ke-W9,me=be*.7071067690849304,z6=ne-nt,F4=me+a4,s[w5>>2]=F4,T4=a4-me,s[U3>>2]=T4,st=Ke+W9,pe=st*.7071067690849304,mt=ne+nt,W3=z6+J4,s[Q9>>2]=W3,x9=z6-J4,s[v9>>2]=x9,b9=mt+pe,s[K3>>2]=b9,Oe=mt-pe,s[t9>>2]=Oe,A4=f4+Je,h8=f4-Je,N4=Ue+d4,f8=d4-Ue,_8=A4+N4,s[h5>>2]=_8,m8=A4-N4,s[h3>>2]=m8,Ut=Be-Ce,Pt=I4-ze,Ot=h8+Ut,s[V3>>2]=Ot,qt=h8-Ut,s[u3>>2]=qt,t8=Be+Ce,i8=I4+ze,x8=Pt+f8,s[S5>>2]=x8,Ht=Pt-f8,s[d6>>2]=Ht,Yt=i8+t8,s[e5>>2]=Yt,_t=i8-t8,s[W5>>2]=_t,xt=+s[d3>>2],pt=Fe-xt,Jt=+s[S3>>2],zt=_9-Jt,r8=Jt+_9,n8=xt+Fe,Et=zt+pt,z4=pt-zt,G4=+s[h9>>2],Lt=+s[H5>>2],L9=G4-Lt,p8=+s[c3>>2],b4=+s[a9>>2],E8=p8-b4,L8=b4+p8,o8=Lt+G4,M8=+s[E5>>2],$4=+s[A6>>2],s8=M8-$4,Mt=+s[a3>>2],At=+s[e9>>2],We=Mt-At,U4=$4+M8,$t=At+Mt,Ct=s8-We,Rt=We+s8,p4=+s[r5>>2],oe=+s[L3>>2],lt=p4-oe,ct=+s[n5>>2],Qt=+s[F6>>2],E4=ct-Qt,D4=oe+p4,K4=Qt+ct,W4=lt+L9,se=lt-L9,P4=Ct+Et,C4=P4*.7071067690849304,gt=Ct-Et,De=gt*.7071067690849304,yt=C4+W4,s[L3>>2]=yt,a8=W4-C4,s[A6>>2]=a8,Ze=Rt-z4,E3=Ze*.7071067690849304,Z4=E4-E8,wt=E3+se,s[V9>>2]=wt,l4=se-E3,s[a9>>2]=l4,Z9=Rt+z4,c4=Z9*.7071067690849304,j4=E4+E8,Wt=Z4+De,s[h9>>2]=Wt,C8=Z4-De,s[$9>>2]=C8,A8=j4+c4,s[F6>>2]=A8,$8=j4-c4,s[e9>>2]=$8,Zt=D4+L8,l8=D4-L8,jt=U4+r8,ut=U4-r8,dt=Zt+jt,s[r5>>2]=dt,je=Zt-jt,s[E5>>2]=je,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[S3>>2]=X4,D9=l8-c8,s[c3>>2]=D9,g8=$t+n8,et=K4+o8,H8=Tt+ut,s[H5>>2]=H8,K8=Tt-ut,s[d3>>2]=K8,R8=et+g8,s[n5>>2]=R8,F8=et-g8,s[a3>>2]=F8,g4=l9+32|0,Y8=(g4|0)<($|0),Y8;)l9=g4}function CQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,G=o+(t<<2)|0,a1=G,$1=a,j0=$,E1=v;d0=e[$1>>2]|0,g=d0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,h=L0+b|0,x0=$+(h<<2)|0,m=g+1|0,A1=$+(m<<2)|0,g1=+s[A1>>2],I=h+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=g1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[a1>>2],F=L*R,T=a1+4|0,N=+s[T>>2],V=N*y,e0=V+F,K=N*L,a0=R*y,W=K-a0,r0=E1+-16|0,s0=D+g1,J=s0*.5,o0=x-M,H=o0*.5,i0=e0+J,s[j0>>2]=i0,X=J-e0,u0=E1+-8|0,s[u0>>2]=X,c0=W+H,$0=j0+4|0,s[$0>>2]=c0,l0=W-H,Z=E1+-4|0,s[Z>>2]=l0,I0=$1+8|0,g0=e[I0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,h0=$1+12|0,p0=e[h0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],K0=B0+w0,M0=a1+8|0,v0=+s[M0>>2],T0=K0*v0,N0=a1+12|0,U0=+s[N0>>2],O0=U0*y0,k0=O0+T0,V0=U0*K0,F0=v0*y0,G0=V0-F0,z0=E0+Q0,J0=z0*.5,q0=w0-B0,Z0=q0*.5,P0=k0+J0,H0=j0+8|0,s[H0>>2]=P0,s1=J0-k0,s[r0>>2]=s1,Y0=G0+Z0,i1=j0+12|0,s[i1>>2]=Y0,o1=G0-Z0,h1=E1+-12|0,s[h1>>2]=o1,u1=a1+16|0,m1=$1+16|0,f1=j0+16|0,d1=f1>>>0>>0,d1;)a1=u1,$1=m1,j0=f1,E1=r0}function Qb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=ce(1,36)|0,h=t+4|0,m=e[h>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function yb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function wb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function vb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0;A9=C,y6=t,Y9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,d3=+z7(l3),G6=d3+-1,F6=~~G6,L=t+32|0,e[L>>2]=F6,r0=+(g|0),l0=r0*.25,b0=l0,U0=b0*.5,P0=+($|0),d1=U0/P0,w1=+tn(+d1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,c2=F6+1|0,N2=1<>2]=c5,v5=+($|0),J5=v5+.25,E5=J5*r0,I3=E5,h3=I3*.5,K5=h3/P0,r3=+tn(+K5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,G5=H2*B3,W5=G5+.5,D3=~~W5,y3=1-c5|0,X3=y3+D3|0,q3=t+40|0,e[q3>>2]=X3,X5=$<<2,b3=R9(X5)|0,t3=t+16|0,e[t3>>2]=b3,s6=R9(X5)|0,T3=t+20|0,e[T3>>2]=s6,H3=R9(X5)|0,c3=t+24|0,e[c3>>2]=H3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,z5=t+48|0,s[z5>>2]=1,H5=(g|0)<26e3;do if(H5)s[z5>>2]=0;else{if(V5=(g|0)<38e3,V5){s[z5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[z5>>2]=1.274999976158142)}while(!1);Y3=P0*2,U5=+(g|0),$6=($|0)>0,k3=$6,i9=0,o9=0;e:for(;;){for(Q=k3^1,_6=i9;;){if(S3=_6+1|0,a6=+(S3|0),i6=a6*.08664337545633316,V3=i6+2.7488713472395148,Z5=+Yn(+V3),x3=Y3*Z5,J3=x3/U5,d6=+z7(J3),m3=~~d6,E=(m3|0)<=(o9|0),t9=E|Q,!t9){m=S3,I=m3,O6=_6;break}if(L6=(S3|0)<87,L6)_6=S3;else{d9=o9;break e}}for(M6=1272+(O6<<2)|0,R6=+s[M6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],h6=r6-R6,b6=I-o9|0,X6=+(b6|0),v6=h6/X6,L3=o9-I|0,n6=o9-$|0,o6=L3>>>0>n6>>>0,H9=o6?L3:n6,n3=o9-H9|0,U6=R6,B9=o9;C6=U6+100,z3=b3+(B9<<2)|0,s[z3>>2]=C6,M3=U6+v6,K3=B9+1|0,V6=(K3|0)==(n3|0),!V6;)U6=M3,B9=K3;if(N3=(n3|0)<($|0),E6=(m|0)<87,E6)k3=N3,i9=m,o9=n3;else{d9=n3;break}}if(_3=(d9|0)<($|0),_3)for(Q9=d9;Y6=Q9+-1|0,A6=b3+(Y6<<2)|0,D6=e[A6>>2]|0,R=b3+(Q9<<2)|0,e[R>>2]=D6,F=Q9+1|0,n9=(F|0)==($|0),!n9;)Q9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,K6=o+120|0,A3=e[K6>>2]|0,c6=o+124|0,B6=o+116|0,R3=o+112|0,P6=1,U3=0,y9=-99;;){K=o5(o3,U3)|0,a0=+(K|0),W=a0*.0007399999885819852,s0=W,J=+ts(+s0),o0=J*13.100000381469727,H=o5(K,K)|0,d0=+(H|0),i0=d0*18499999754340024e-24,X=i0,u0=+ts(+X),c0=u0*2.240000009536743,$0=c0+o0,Z=a0*9999999747378752e-20,I0=Z,g0=$0+I0,f0=g0,n0=A3+y9|0,h0=(n0|0)<(U3|0);e:do if(h0)for(p0=+s[R3>>2],C0=f0-p0,S0=C0,f9=y9;;){if(Q0=o5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+ts(+w0),_0=B0*13.100000381469727,K0=o5(Q0,Q0)|0,M0=+(K0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+ts(+T0),O0=N0*2.240000009536743,k0=E0*9999999747378752e-20,V0=k0,F0=_0+V0,L0=F0+O0,G0=L0($|0);e:do if(z0)J6=P6;else for(J0=e[c6>>2]|0,q0=J0+U3|0,T6=P6;;){if(Y0=(T6|0)<(q0|0),!Y0&&(i1=o5(T6,o3)|0,x0=+(i1|0),o1=x0*.0007399999885819852,h1=o1,u1=+ts(+h1),m1=u1*13.100000381469727,f1=o5(i1,i1)|0,A1=+(f1|0),g1=A1*18499999754340024e-24,a1=g1,$1=+ts(+a1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,D1=U3+1|0,G3=(D1|0)==($|0),G3)break;P6=J6,U3=D1,y9=h9}if(e6)for(T=U5*.5,N=e[L>>2]|0,G=N+1|0,V=1<>2]=O1,W1=q6+1|0,e9=(W1|0)==($|0),e9){v=T;break}else q6=W1;else H6=19}else H6=19;if((H6|0)==19&&(y=U5*.5,v=y),h2=o+36|0,s2=v/P0,C2=s2,a2=o+24|0,K1=+s[a2>>2],d2=o+28|0,l2=+s[d2>>2],r2=bb(h2,C2,$,K1,l2)|0,A2=t+8|0,e[A2>>2]=r2,e2=R9(12)|0,o2=t+12|0,e[o2>>2]=e2,m2=R9(X5)|0,e[e2>>2]=m2,t2=R9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=R9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,a9=0;L2=+(a9|0),U2=L2+.5,p2=U2*U5,W2=p2/Y3,P2=+tn(+W2),V2=P2*2.885390043258667,G2=V2+-11.931568145751953,q2=G2,Z2=q2<0,s9=Z2?0:q2,h=s9>=16,c9=h?16:s9,A5=~~c9,N1=+(A5|0),t5=c9-N1,T5=t5,i5=1-T5,x5=A5+1|0,j2=(Q2+132|0)+(A5<<2)|0,I5=+s[j2>>2],b5=I5,Y5=b5*i5,g5=(Q2+132|0)+(x5<<2)|0,B5=+s[g5>>2],s5=B5*t5,R2=s5,M2=R2+Y5,y2=M2,Q5=b+(a9<<2)|0,s[Q5>>2]=y2,N5=(Q2+200|0)+(A5<<2)|0,m5=+s[N5>>2],L5=m5,q5=L5*i5,Y2=(Q2+200|0)+(x5<<2)|0,p5=+s[Y2>>2],$5=p5*t5,u5=$5,y5=u5+q5,T1=y5,D5=w+(a9<<2)|0,s[D5>>2]=T1,d5=(Q2+268|0)+(A5<<2)|0,l5=+s[d5>>2],X2=l5,w5=X2*i5,r5=(Q2+268|0)+(x5<<2)|0,a5=+s[r5>>2],h5=a5*t5,z2=h5,f5=z2+w5,n5=f5,R5=D+(a9<<2)|0,s[R5>>2]=n5,e5=a9+1|0,Q6=(e5|0)==($|0),!Q6;)a9=e5}function BQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;if(P0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,V=(w|0)==0,V||E2(w),i0=t+20|0,h0=e[i0>>2]|0,K0=(h0|0)==0,K0||E2(h0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||E2(L0),g=t+8|0,h=e[g>>2]|0,m=(h|0)==0,!m){for(E=h,J0=0;I=E+(J0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,E2(B),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,E2(y),x=e[g>>2]|0,M=x+(J0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,E2(F),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,e0=G+12|0,K=e[e0>>2]|0,E2(K),a0=e[g>>2]|0,W=a0+(J0<<2)|0,r0=e[W>>2]|0,s0=r0+16|0,J=e[s0>>2]|0,E2(J),o0=e[g>>2]|0,H=o0+(J0<<2)|0,d0=e[H>>2]|0,X=d0+20|0,u0=e[X>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,Z=l0+24|0,I0=e[Z>>2]|0,E2(I0),g0=e[g>>2]|0,f0=g0+(J0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,Q0=S0+(J0<<2)|0,b0=e[Q0>>2]|0,E2(b0),E0=J0+1|0,z0=(E0|0)==17,!z0;)o=e[g>>2]|0,E=o,J0=E0;y0=e[g>>2]|0,E2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,E2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,E2(N0),U0=e[w0>>2]|0,O0=U0+8|0,k0=e[O0>>2]|0,E2(k0),V0=e[w0>>2]|0,E2(V0)),q0=t,H0=q0+52|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0))}}function QQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,h=I,M=C,C=C+((1*h|0)+15&-16)|0,W=t+24|0,u0=e[W>>2]|0,wQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(h0=0;$0=o+(h0<<2)|0,l0=+s[$0>>2],Z=a+(h0<<2)|0,I0=+s[Z>>2],E=l0-I0,Q=M+(h0<<2)|0,s[Q>>2]=E,B=h0+1|0,f0=(B|0)==(m|0),!f0;)h0=B;if(S=e[W>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,wQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],T=L-F,s[R>>2]=T,N=p0+1|0,n0=(N|0)==(m|0),!n0;)p0=N;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;G=a+(C0<<2)|0,V=+s[G>>2],e0=V,K=e0+.5,a0=~~K,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,J=M+(C0<<2)|0,o0=+s[J>>2],H=(y+336|0)+(g<<2)|0,d0=+s[H>>2],i0=d0+o0,s[G>>2]=i0,X=C0+1|0,g0=(X|0)==(m|0),!g0;)C0=X;C=Q0}function yQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,T=t+40|0,d1=e[T>>2]|0,w1=d1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,N=(d1|0)>0,N)for($5=0;H=P1+($5<<2)|0,s[H>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(d1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],h1=g50,u1){for(m1=t+16|0,f1=e[m1>>2]|0,d5=0;A1=f1+(d5<<2)|0,g1=+s[A1>>2],a1=g1+q5,$1=a+(d5<<2)|0,s[$1>>2]=a1,j0=d5+1|0,Y2=(j0|0)==(F|0),!Y2;)d5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,u1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,u5=0;;){_1=o+(u5<<2)|0,R1=+s[_1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,a5=R1;e:for(;;)for(y5=D5;;){if(D1=y5+1|0,Z1=(D1|0)<(F|0),!Z1){S=0,v=D1,T1=y5,h5=a5;break e}if(G1=k1+(D1<<2)|0,x1=e[G1>>2]|0,z1=(x1|0)==(U1|0),!z1){S=1,v=D1,T1=y5,h5=a5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],Y1=H1>a5,Y1){D5=D1,a5=H1;continue e}else y5=D1}if(V1=h5+6,X1=a+(T1<<2)|0,n2=+s[X1>>2],O1=V1>n2,O1&&(g2=e[L1>>2]|0,W1=U1>>g2,h2=(W1|0)>16,m=h2?16:W1,s2=(m|0)<0,h=s2?0:m,C2=I1+(h<<2)|0,a2=e[C2>>2]|0,K1=e[M1>>2]|0,d2=B1+h5,l2=d2,c2=l2+-30,r2=c2*.10000000149011612,A2=~~r2,e2=(A2|0)<0,o2=e2?0:A2,m2=(o2|0)>7,t2=m2?7:o2,k2=a2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,N2=+s[S2>>2],L2=~~N2,U2=+s[D2>>2],p2=~~U2,W2=(p2|0)<(L2|0),W2))for(P2=k1+(T1<<2)|0,V2=e[P2>>2]|0,G2=e[b1>>2]|0,q2=V2-G2|0,Z2=+(q2|0),H2=K1>>1,N1=+(H2|0),t5=U2+-16,T5=+(K1|0),i5=t5*T5,x5=i5-N1,j2=x5+Z2,I5=~~j2,p5=p2,J5=I5;b5=(J5|0)>0,b5&&(R=p5+2|0,Y5=D2+(R<<2)|0,b2=+s[Y5>>2],B5=b2+h5,s5=P1+(J5<<2)|0,R2=+s[s5>>2],M2=R2>2]=B5)),y2=J5+K1|0,Q5=(y2|0)<(d1|0),N5=p5+1|0,m5=(N5|0)<(L2|0),c5=m5&Q5,c5;)p5=N5,J5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),L5=e[M>>2]|0,Db(P1,L5,d1),G=e[t>>2]|0,V=(G|0)>1;e:do if(V)for(e0=t+20|0,K=t+28|0,a0=e[e0>>2]|0,W=e[a0>>2]|0,r0=L5>>1,s0=W-r0|0,J=e[K>>2]|0,o0=s0-J|0,d0=e[j1>>2]|0,i0=d0+32|0,Z=1,n0=W,X2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(Z<<2)|0,I0=e[l0>>2]|0,g0=I0+n0|0,h0=g0>>1,p0=h0-J|0,C0=+s[i0>>2],S0=$0>C0,z2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,n5=z2;;){for(b0=n5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(K0=w0=(G|0),U0=(n0|0)>(T0|0),R5=N0|U0;t:do if(R5)u2=X2;else for(w5=X2;;){if(O0=a+(w5<<2)|0,k0=+s[O0>>2],V0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(G|0),!G0){u2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,z0=(L|0)>(T0|0),z0){u2=L0;break}else w5=L0}while(!1);if(X=u2+1|0,u0=(X|0)<(G|0),!u0){l5=u2;break e}w=a0+(u2<<2)|0,x=e[w>>2]|0,Z=X,n0=x,X2=u2,F2=v5}else l5=0;while(!1);if(J0=e[T>>2]|0,q0=J0+-1|0,Z0=P1+(q0<<2)|0,P0=+s[Z0>>2],H0=(l5|0)<(G|0),H0)r5=l5;else{C=E5;return}for(;s1=a+(r5<<2)|0,Y0=+s[s1>>2],x0=Y0>2]=P0),o1=r5+1|0,M5=(o1|0)==(G|0),!M5;)r5=o1;C=E5}function rl(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,Z=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],T=F+M,N=+s[b>>2],G=T>N,_0=G?N:T,V=a+(B0<<2)|0,e0=+s[V>>2],K=e0+Z,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,J=+s[r0>>2],o0=_0-J,H=o0>-17.200000762939453,d0=o0+17.200000762939453,i0=d0,H?(X=D*i0,u0=1-X,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*i0,I0=1-l0,g0=I0,y0=g0),f0=h+(B0<<2)|0,n0=+s[f0>>2],h0=n0*y0,s[f0>>2]=h0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function kb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;return N=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),h=g+8|0,m=e[h>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function Sb(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0;if(Ve=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?W5=16:(d6=A5+508|0,v6=e[d6>>2]|0,W5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,U0=e[b0>>2]|0,P0=1624+(U0<<3)|0,d1=+l1[P0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,H2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,M5=C,C=C+((1*M|0)+15&-16)|0,u2=$+1156|0,F2=(c0|0)>1e3,Ye=F2?1696:1624,He=Ye+(P1<<3)|0,Ge=+l1[He>>3],G5=o5(j1,W5)|0,L=G5,D3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=D3,v=G5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=G5,y3=C,C=C+((1*w|0)+15&-16)|0,e[H2>>2]=y3,D=G5,q3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=q3,X5=(E|0)>1,X5&&(b3=D3+(W5<<2)|0,t3=i2+4|0,e[t3>>2]=b3,s6=f3+(W5<<2)|0,T3=Q2+4|0,e[T3>>2]=s6,H3=y3+(W5<<2)|0,c3=H2+4|0,e[c3>>2]=H3,g3=q3+(W5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,B9=(E|0)==2,!B9))for(S5=2;F=e[i2>>2]|0,G=e[Q2>>2]|0,V=e[H2>>2]|0,e0=e[b2>>2]|0,V5=o5(S5,W5)|0,Y3=F+(V5<<2)|0,U5=i2+(S5<<2)|0,e[U5>>2]=Y3,$6=G+(V5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=V+(V5<<2)|0,N3=H2+(S5<<2)|0,e[N3>>2]=l3,k3=e0+(V5<<2)|0,_3=b2+(S5<<2)|0,e[_3>>2]=k3,S3=S5+1|0,o9=(S3|0)==(E|0),!o9;)S5=S3;if(z5=e[u2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,V3=c0^-1,Z5=W5^-1,H6=0,w9=V3;;){if(J3=(w9|0)>(Z5|0),o4=J3?w9:Z5,m3=o4^-1,L6=c0-H6|0,M6=(W5|0)>(L6|0),Q=M6?L6:W5,ge(M5|0,m|0,j1|0)|0,u4(a6|0,0,G5|0)|0,i6)for(R6=(Q|0)>0,S6=l0-H6|0,$9=0;;){if(L3=h+($9<<2)|0,n6=e[L3>>2]|0,o6=n6+(H6<<2)|0,C6=M5+($9<<2)|0,z3=e[C6>>2]|0,M3=(z3|0)==0,M3){if(R6)for(F6=H2+($9<<2)|0,l6=e[F6>>2]|0,K6=i2+($9<<2)|0,A3=e[K6>>2]|0,c6=Q2+($9<<2)|0,B6=e[c6>>2]|0,R3=b2+($9<<2)|0,Y6=e[R3>>2]|0,v9=0;G0=l6+(v9<<2)|0,s[G0>>2]=1000000013351432e-25,z0=A3+(v9<<2)|0,s[z0>>2]=0,J0=B6+(v9<<2)|0,s[J0>>2]=0,q0=Y6+(v9<<2)|0,e[q0>>2]=0,H=v9+H6|0,Z0=n6+(H<<2)|0,e[Z0>>2]=0,H0=v9+1|0,q6=(H0|0)==(m3|0),!q6;)v9=H0}else{if(K3=H2+($9<<2)|0,e6=e[K3>>2]|0,R6){for(ie=0;d0=ie+H6|0,A6=n6+(d0<<2)|0,D6=e[A6>>2]|0,U6=1768+(D6<<2)|0,t9=e[U6>>2]|0,e9=e6+(ie<<2)|0,e[e9>>2]=t9,G3=ie+1|0,_6=(G3|0)==(m3|0),!_6;)ie=G3;if(n9=g+($9<<2)|0,V6=e[n9>>2]|0,s9=b2+($9<<2)|0,c9=e[s9>>2]|0,R6){for(V9=0;P6=(V9|0)>=(S6|0),u0=P6?Ge:d1,J6=u0,i0=V9+H6|0,T6=V6+(i0<<2)|0,i9=+s[T6>>2],y9=+rr(+i9),Z=e6+(V9<<2)|0,I0=+s[Z>>2],g0=y9/I0,f0=c9+(V9<<2)|0,_9=!(g0>2]=B,n0=V9+1|0,O6=(n0|0)==(Q|0),!O6;)V9=n0;if(R6)for(h0=i2+($9<<2)|0,p0=e[h0>>2]|0,C0=Q2+($9<<2)|0,S0=e[C0>>2]|0,F9=0;;)if(Q0=F9+H6|0,E0=V6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(F9<<2)|0,s[B0>>2]=w0,_0=S0+(F9<<2)|0,s[_0>>2]=w0,K0=+s[E0>>2],M0=K0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(F9<<2)|0,O0=+s[N0>>2],k0=O0*O0,s[N0>>2]=k0,V0=F9+1|0,U3=(V0|0)==(m3|0),U3){T=C0,L0=p0;break}else F9=V0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,R=i2+($9<<2)|0,K=e[R>>2]|0,J=Q2+($9<<2)|0,T=J,L0=K),F0=e[T>>2]|0,Fe=e[$0>>2]|0,+vQ(Fe,l0,L0,F0,e6,0,H6,Q,o6)}if(s1=$9+1|0,a9=(s1|0)==(E|0),a9)break;$9=s1}if(r6=e[u2>>2]|0,h6=(r6|0)>0,h6)for(b6=(Q|0)>0,G6=I-H6|0,X6=l0-H6|0,B3=r6,ke=0;;){if(Y0=($+1160|0)+(ke<<2)|0,i1=e[Y0>>2]|0,x0=($+2184|0)+(ke<<2)|0,o1=e[x0>>2]|0,h1=h+(i1<<2)|0,u1=e[h1>>2]|0,m1=u1+(H6<<2)|0,f1=h+(o1<<2)|0,A1=e[f1>>2]|0,g1=i2+(i1<<2)|0,a1=e[g1>>2]|0,$1=i2+(o1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(o1<<2)|0,p1=e[Q1>>2]|0,B1=H2+(i1<<2)|0,v1=e[B1>>2]|0,k1=H2+(o1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=M5+(i1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,Z1=M5+(o1<<2)|0,D1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?X2=B3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(W6=0;;){z1=(W6|0)<(G6|0);do if(z1){if(q1=b1+(W6<<2)|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,V1=R1+(W6<<2)|0,Y1&&(X1=e[V1>>2]|0,n2=(X1|0)==0,n2)){i5=(W6|0)<(X6|0);do if(i5)x5=j0+(W6<<2)|0,j2=+s[x5>>2],I5=a1+(W6<<2)|0,b5=+s[I5>>2],Y5=b5+j2,s[I5>>2]=Y5,f9=+rr(+Y5),g5=I1+(W6<<2)|0,s[g5>>2]=f9,N=x5;else if(B5=a1+(W6<<2)|0,s5=+s[B5>>2],R2=j0+(W6<<2)|0,M2=+s[R2>>2],y2=M2+s5,Q5=y2<0,Q9=+rr(+s5),h9=+rr(+M2),N5=h9+Q9,m5=I1+(W6<<2)|0,s[m5>>2]=N5,Q5){L5=-N5,s[B5>>2]=L5,N=R2;break}else{s[B5>>2]=N5,N=R2;break}while(!1);q5=p1+(W6<<2)|0,s[q5>>2]=0,s[N>>2]=0,e[V1>>2]=1,o0=W6+H6|0,Y2=A1+(o0<<2)|0,e[Y2>>2]=0;break}O1=a1+(W6<<2)|0,g2=+s[O1>>2],H9=+rr(+g2),W1=j0+(W6<<2)|0,h2=+s[W1>>2],y6=+rr(+h2),s2=y6+H9,s[O1>>2]=s2,C2=I1+(W6<<2)|0,a2=+s[C2>>2],K1=p1+(W6<<2)|0,d2=+s[K1>>2],l2=d2+a2,s[C2>>2]=l2,e[V1>>2]=1,e[q1>>2]=1,X=W6+H6|0,c2=u1+(X<<2)|0,r2=e[c2>>2]|0,A2=A1+(X<<2)|0,e2=e[A2>>2]|0,we=(r2|0)>-1,ve=0-r2|0,o2=we?r2:ve,ue=(e2|0)>-1,de=0-e2|0,m2=ue?e2:de,t2=(o2|0)>(m2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,N2=k2?D2:S2,e[A2>>2]=N2,W=e[c2>>2]|0,P2=W,q2=N2):(L2=(e2|0)>0,U2=r2-e2|0,p2=e2-r2|0,W2=L2?U2:p2,e[A2>>2]=W2,e[c2>>2]=e2,a0=e[A2>>2]|0,P2=e2,q2=a0),Ee=(P2|0)>-1,Re=0-P2|0,V2=Ee?P2:Re,G2=V2<<1,Z2=(q2|0)<(G2|0),Z2||(N1=0-q2|0,e[A2>>2]=N1,t5=e[c2>>2]|0,T5=0-t5|0,e[c2>>2]=T5)}while(!1);if(p5=v1+(W6<<2)|0,$5=+s[p5>>2],u5=L1+(W6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=W6+1|0,d9=(D5|0)==(m3|0),d9)break;W6=D5}Te=e[$0>>2]|0,+vQ(Te,l0,a1,I1,v1,b1,H6,Q,m1),r0=e[u2>>2]|0,X2=r0}if(d5=ke+1|0,l5=(d5|0)<(X2|0),l5)B3=X2,ke=d5;else{a3=X2;break}}else a3=r6;if(w5=H6+W5|0,r5=(c0|0)>(w5|0),Y9=w9+W5|0,r5)H6=w5,w9=Y9;else{x3=a3;break}}else x3=z5;if(d3=(x3|0)>0,d3)r3=x3,A9=0;else{C=Ve;return}for(;a5=($+1160|0)+(A9<<2)|0,h5=e[a5>>2]|0,z2=m+(h5<<2)|0,f5=e[z2>>2]|0,n5=(f5|0)==0,R5=($+2184|0)+(A9<<2)|0,n5?(e5=e[R5>>2]|0,c5=m+(e5<<2)|0,v5=e[c5>>2]|0,J5=(v5|0)==0,J5?K5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[z2>>2]=1,i3=e[R5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[u2>>2]|0,K5=s0),I3=A9+1|0,h3=(I3|0)<(K5|0),h3;)r3=K5,A9=I3;C=Ve}function bb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0;for(et=C,C=C+32480|0,W3=et+32256|0,D9=et+1792|0,x9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=R9(68)|0,u4(D9|0,0,30464)|0,x3=$>0,ue=$<0,L9=0;;){for(h4=L9<<2,$4=0;s5=$4+h4|0,p5=(s5|0)<88,p5?(r5=1272+(s5<<2)|0,J5=+s[r5>>2],Z9=J5):Z9=-30,D3=s5+1|0,c3=(D3|0)<88,c3?(P6=1272+(D3<<2)|0,J6=+s[P6>>2],i9=Z9>J6,i9?c4=J6:c4=Z9):(c9=Z9>-30,c9?c4=-30:c4=Z9),_6=s5+2|0,O6=(_6|0)<88,O6?(q6=1272+(_6<<2)|0,a9=+s[q6>>2],d9=c4>a9,d9?T9=a9:T9=c4):(U3=c4>-30,U3?T9=-30:T9=c4),o9=s5+3|0,B9=(o9|0)<88,B9?(h9=1272+(o9<<2)|0,f9=+s[h9>>2],H9=T9>f9,H9?j4=f9:j4=T9):(Q9=T9>-30,Q9?j4=-30:j4=T9),y6=W3+($4<<2)|0,s[y6>>2]=j4,H6=$4+1|0,Ot=(H6|0)==56,!Ot;)$4=H6;if(Ie=(D9+(L9*1792|0)|0)+448|0,F=2792+(L9*1344|0)|0,ge(Ie|0,F|0,224)|0,J=(D9+(L9*1792|0)|0)+672|0,I0=(2792+(L9*1344|0)|0)+224|0,ge(J|0,I0|0,224)|0,y0=(D9+(L9*1792|0)|0)+896|0,k0=(2792+(L9*1344|0)|0)+448|0,ge(y0|0,k0|0,224)|0,s1=(D9+(L9*1792|0)|0)+1120|0,g1=(2792+(L9*1344|0)|0)+672|0,ge(s1|0,g1|0,224)|0,k1=(D9+(L9*1792|0)|0)+1344|0,G1=(2792+(L9*1344|0)|0)+896|0,ge(k1|0,G1|0,224)|0,g2=(D9+(L9*1792|0)|0)+1568|0,A2=(2792+(L9*1344|0)|0)+1120|0,ge(g2|0,A2|0,224)|0,U2=D9+(L9*1792|0)|0,ge(U2|0,F|0,224)|0,t5=(D9+(L9*1792|0)|0)+224|0,ge(t5|0,F|0,224)|0,x3)for(At=0;;){if(ue)for(Bt=0;Ee=16-Bt|0,L8=(Ee|0)>-1,$8=0-Ee|0,V9=L8?Ee:$8,ie=+(V9|0),F9=ie*g,v9=F9+$,W6=v9<0,I=W6?0:v9,$9=I>0,h=$9?0:I,ve=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Re=+s[ve>>2],de=Re+h,s[ve>>2]=de,Fe=Bt+1|0,Vt=(Fe|0)==56,!Vt;)Bt=Fe;else for(ct=0;d3=16-ct|0,o8=(d3|0)>-1,Zt=0-d3|0,G6=o8?d3:Zt,F6=+(G6|0),U6=F6*g,T6=U6+$,y9=T6<0,E=y9?0:T6,A9=((D9+(L9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[A9>>2],w9=Y9+E,s[A9>>2]=w9,we=ct+1|0,Yt=(we|0)==56,!Yt;)ct=we;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ue)for(Qt=0;o4=16-Qt|0,M8=(o4|0)>-1,l8=0-o4|0,ke=M8?o4:l8,Ye=+(ke|0),J9=Ye*g,Ve=J9+$,he=Ve>0,m=he?0:Ve,Ce=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,v4=+s[Ce>>2],W9=v4+m,s[Ce>>2]=W9,k9=Qt+1|0,t8=(k9|0)==56,!t8;)Qt=k9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,Y4=E8?k4:A8,nt=+(Y4|0),Je=nt*g,V4=Je+$,ze=((D9+(L9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[ze>>2],ot=R4+V4,s[ze>>2]=ot,re=lt+1|0,qt=(re|0)==56,!qt;)lt=re;if(d4=Mt+1|0,i8=(d4|0)==8,i8)break;Mt=d4}for(Te=t+(L9<<2)|0,Ge=+s[Te>>2],He=Ge,We=0;;){for(Be=(We|0)<2,N6=+(We|0),v=N6*10,w=70-v,Ke=Be?50:w,P9=Ke+He,fe=P9,Et=0;Ne=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(Et<<2)|0,ne=+s[Ne>>2],f4=ne+fe,s[Ne>>2]=f4,I4=Et+1|0,Oe=(I4|0)==56,!Oe;)Et=I4;for(Se=x9+(We*224|0)|0,ge(Se|0,W3|0,224)|0,a4=+(We|0),Pe=a4*10,m4=70-Pe,Lt=0;;)if(S9=(x9+(We*224|0)|0)+(Lt<<2)|0,f6=+s[S9>>2],J4=m4+f6,s[S9>>2]=J4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;be=((D9+(L9*1792|0)|0)+(We*224|0)|0)+(at<<2)|0,me=+s[be>>2],z6=(x9+(We*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=me>F4,T4&&(s[z6>>2]=me),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(pe=We+1|0,x8=(pe|0)==8,x8){U4=1;break}else We=pe}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(x9+(xe*224|0)|0)+(G4<<2)|0,T=+s[mt>>2],N=(x9+(U4*224|0)|0)+(G4<<2)|0,G=+s[N>>2],V=T>2]=T),e0=G4+1|0,h8=(e0|0)==56,h8){z4=0;break}else G4=e0;for(;K=(x9+(U4*224|0)|0)+(z4<<2)|0,a0=+s[K>>2],W=((D9+(L9*1792|0)|0)+(U4*224|0)|0)+(z4<<2)|0,r0=+s[W>>2],s0=a0>2]=a0),o0=z4+1|0,A4=(o0|0)==56,!A4;)z4=o0;if(H=U4+1|0,Ht=(H|0)==8,Ht)break;U4=H}if(d0=L9+1|0,xt=(d0|0)==17,xt)break;L9=d0}for(_9=o,Ue=(a|0)>0,s4=a^-1,b4=0;;){for(i0=R9(32)|0,X=r2+(b4<<2)|0,e[X>>2]=i0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,Z=+Yn(+l0),g0=Z/_9,f0=+iA(+g0),n0=~~f0,h0=+(n0|0),p0=h0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+IC(+E0),B0=~~w0,_0=n0+1|0,K0=+(_0|0),M0=K0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,U0=N0+-11.931568145751953,O0=+iA(+U0),V0=~~O0,F0=(B0|0)>(b4|0),p8=F0?b4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(V0|0)>16,Q=G0?16:V0,z0=(wt|0)>(Q|0),J0=b4+1|0,q0=(J0|0)<17,Z0=c0+3.9657840728759766,l4=0;;){if(P0=R9(232)|0,H0=i0+(l4<<2)|0,e[H0>>2]=P0,Ue)for($t=0;Y0=R+($t<<2)|0,s[Y0>>2]=999,i1=$t+1|0,b9=(i1|0)==(a|0),!b9;)$t=i1;if(!z0)for(E4=wt;;){for(x0=+(E4|0),o1=x0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),d1=f1*.125,A1=d1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,j0=+Yn(+$1),E1=j0/_9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Yn(+p1),w1=B1/_9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(D4|0),Ze=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(Ze|0)<(Wt|0),D1=(Ze|0)<(a|0),jt=U1&D1,jt)for(P1=((D9+(E4*1792|0)|0)+(l4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(D4|0)<(a|0),z1=x1?D4:a,q1=z1^-1,H1=(I1|0)>0,x=I1^-1,Y1=H1?x:-1,V1=(Y1|0)<(q1|0),je=V1?q1:Y1,X1=je^-1,n2=(L1|0)>0,M=L1^-1,j1=n2?M:-1,O1=(j1|0)<(s4|0),c8=O1?s4:j1,W1=c8-je|0,h2=je+a|0,s2=h2^-1,C2=W1>>>0>s2>>>0,Tt=C2?W1:s2,a2=X1-Tt|0,se=Ze;;)if(K1=R+(se<<2)|0,d2=+s[K1>>2],l2=d2>Z1,l2&&(s[K1>>2]=Z1),i2=se+1|0,pt=(i2|0)==(a2|0),pt){K4=a2;break}else se=i2;else K4=Ze;if(c2=Ct+1|0,Jt=(c2|0)==56,Jt){W4=K4;break}else Ct=c2,D4=K4}if(h1=(W4|0)<(a|0),h1)for(u1=((D9+(E4*1792|0)|0)+(l4*224|0)|0)+220|0,m1=+s[u1>>2],P4=W4;e2=R+(P4<<2)|0,o2=+s[e2>>2],m2=o2>m1,m2&&(s[e2>>2]=m1),t2=P4+1|0,zt=(t2|0)==(a|0),!zt;)P4=t2;if(k2=E4+1|0,D2=(E4|0)<(Q|0),D2)E4=k2;else break}if(q0){for(Rt=0,C4=0;;){if(P2=+(Rt|0),V2=P2*.125,G2=V2+c0,q2=G2+3.9032840728759766,Z2=q2*.6931470036506653,A5=+Yn(+Z2),H2=A5/_9,N1=~~H2,T5=G2+4.028284072875977,i5=T5*.6931470036506653,x5=+Yn(+i5),j2=x5/_9,I5=j2+1,b5=~~I5,Y5=(N1|0)<0,S=Y5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(C4|0),Z4=b2?E3:C4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((D9+(J0*1792|0)|0)+(l4*224|0)|0)+(Rt<<2)|0,N5=+s[Q5>>2],m5=(C4|0)<(a|0),L5=m5?C4:a,q5=L5^-1,M5=(N1|0)>0,D=N1^-1,Y2=M5?D:-1,$5=(Y2|0)<(q5|0),dt=$5?q5:Y2,u5=dt^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(s4|0),Ft=D5?s4:T1,d5=Ft-dt|0,l5=dt+a|0,X2=l5^-1,u2=d5>>>0>X2>>>0,X4=u2?d5:X2,w5=u5-X4|0,De=Z4;;)if(a5=R+(De<<2)|0,h5=+s[a5>>2],z2=h5>N5,z2&&(s[a5>>2]=N5),f5=De+1|0,_8=(f5|0)==(w5|0),_8){gt=w5;break}else De=f5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,C4=gt}if(L2=(_4|0)<(a|0),L2)for(p2=((D9+(J0*1792|0)|0)+(l4*224|0)|0)+220|0,W2=+s[p2>>2],yt=_4;R5=R+(yt<<2)|0,e5=+s[R5>>2],c5=e5>W2,c5&&(s[R5>>2]=W2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=i0+(l4<<2)|0,Q2=i0+(l4<<2)|0,N2=i0+(l4<<2)|0,p4=0;;){I3=+(p4|0),h3=I3*.125,K5=Z0+h3,r3=K5*.6931470036506653,a3=+Yn(+r3),B3=a3/_9,G5=~~B3,W5=(G5|0)<0;do if(W5)f3=p4+2|0,y3=e[S2>>2]|0,X3=y3+(f3<<2)|0,s[X3>>2]=-999;else if(q3=(G5|0)<(a|0),q3){s6=R+(G5<<2)|0,T3=e[s6>>2]|0,H3=p4+2|0,g3=e[Q2>>2]|0,u3=g3+(H3<<2)|0,e[u3>>2]=T3;break}else{X5=p4+2|0,b3=e[N2>>2]|0,t3=b3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=p4+1|0,m8=(Q3|0)==56,m8)break;p4=Q3}v5=P0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)oe=0;else if(z5=P0+12|0,H5=+s[z5>>2],V5=H5>-200,V5)oe=1;else if(S3=P0+16|0,a6=+s[S3>>2],i6=a6>-200,i6)oe=2;else if(V3=P0+20|0,Z5=+s[V3>>2],J3=Z5>-200,J3)oe=3;else if(d6=P0+24|0,m3=+s[d6>>2],L6=m3>-200,L6)oe=4;else if(M6=P0+28|0,R6=+s[M6>>2],S6=R6>-200,S6)oe=5;else if(r6=P0+32|0,h6=+s[r6>>2],b6=h6>-200,b6)oe=6;else if(X6=P0+36|0,v6=+s[X6>>2],L3=v6>-200,L3)oe=7;else if(n6=P0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)oe=8;else if(z3=P0+44|0,M3=+s[z3>>2],K3=M3>-200,K3)oe=9;else if(e6=P0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)oe=10;else if(K6=P0+52|0,A3=+s[K6>>2],c6=A3>-200,c6)oe=11;else if(B6=P0+56|0,R3=+s[B6>>2],Y6=R3>-200,Y6)oe=12;else if(A6=P0+60|0,D6=+s[A6>>2],t9=D6>-200,t9)oe=13;else{if(Q6=P0+64|0,e9=+s[Q6>>2],G3=e9>-200,G3){oe=14;break}if(n9=P0+68|0,V6=+s[n9>>2],s9=V6>-200,s9){oe=15;break}oe=16}while(!1);for(s[P0>>2]=oe,Kt=55;;){if(S5=Kt+2|0,Y3=P0+(S5<<2)|0,U5=+s[Y3>>2],$6=U5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,N3=(l3|0)>17,N3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),k3=P0+4|0,s[k3>>2]=E6,_3=l4+1|0,Ut=(_3|0)==8,Ut)break;l4=_3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,r2|0}function wQ(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0;if(Te=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,a2=C,C=C+((1*I|0)+15&-16)|0,E=v,e5=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,R6=a6<1,de=R6?1:a6,C6=de*de,D=C6*.5,e0=D*de,s[w>>2]=D,s[a2>>2]=D,s[e5>>2]=0,s[a3>>2]=e0,s[t3>>2]=0,X=(t|0)>1,X)for(U3=1,y6=D,H6=D,A9=0,Y9=0,w9=e0,we=1;h1=a+(U3<<2)|0,I1=+s[h1>>2],R1=I1+g,Y1=R1<1,_9=Y1?1:R1,K1=_9*_9,k2=K1+y6,G2=K1*we,I5=G2+H6,N5=G2*we,D5=N5+A9,z2=K1*_9,f5=z2+w9,n5=G2*_9,R5=n5+Y9,c5=w+(U3<<2)|0,s[c5>>2]=k2,F2=a2+(U3<<2)|0,s[F2>>2]=I5,v5=e5+(U3<<2)|0,s[v5>>2]=D5,J5=a3+(U3<<2)|0,s[J5>>2]=f5,i3=t3+(U3<<2)|0,s[i3>>2]=R5,E5=U3+1|0,I3=we+1,O6=(E5|0)==(t|0),!O6;)U3=E5,y6=k2,H6=I5,A9=D5,Y9=R5,w9=f5,we=I3;if(p0=e[o>>2]|0,M0=p0>>16,z0=(M0|0)>-1,z0)K5=p0,B6=0,D6=0,e9=1,q6=0,ue=0;else for(G5=p0,y3=M0,a9=0,Ee=0;;)if(B3=G5&65535,W5=w+(B3<<2)|0,D3=+s[W5>>2],f3=0-y3|0,X3=w+(f3<<2)|0,q3=+s[X3>>2],X5=q3+D3,b3=a2+(B3<<2)|0,s6=+s[b3>>2],T3=a2+(f3<<2)|0,H3=+s[T3>>2],c3=s6-H3,g3=e5+(B3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,z5=+s[Q3>>2],H5=z5+u3,V5=a3+(B3<<2)|0,Y3=+s[V5>>2],U5=a3+(f3<<2)|0,$6=+s[U5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,N3=+s[l3>>2],E6=t3+(f3<<2)|0,k3=+s[E6>>2],_3=N3-k3,S3=n3*H5,i6=_3*c3,V3=S3-i6,Z5=_3*X5,x3=n3*c3,d3=Z5-x3,J3=H5*X5,d6=c3*c3,m3=J3-d6,L6=d3*Ee,M6=L6+V3,S6=M6/m3,r6=S6<0,s9=r6?0:S6,h6=s9-g,b6=$+(a9<<2)|0,s[b6>>2]=h6,G6=a9+1|0,X6=Ee+1,v6=o+(G6<<2)|0,L3=e[v6>>2]|0,n6=L3>>16,o6=(n6|0)>-1,o6){K5=L3,B6=V3,D6=d3,e9=m3,q6=G6,ue=X6;break}else G5=L3,y3=n6,a9=G6,Ee=X6;if(h3=K5&65535,r3=(h3|0)<(t|0),r3)for(S=K5,e6=h3,o9=q6,ie=ue;;)if(M3=S>>16,K3=w+(e6<<2)|0,F6=+s[K3>>2],l6=w+(M3<<2)|0,o3=+s[l6>>2],K6=F6-o3,A3=a2+(e6<<2)|0,c6=+s[A3>>2],y=a2+(M3<<2)|0,x=+s[y>>2],M=c6-x,L=e5+(e6<<2)|0,R=+s[L>>2],F=e5+(M3<<2)|0,T=+s[F>>2],N=R-T,G=a3+(e6<<2)|0,V=+s[G>>2],K=a3+(M3<<2)|0,a0=+s[K>>2],W=V-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],J=t3+(M3<<2)|0,o0=+s[J>>2],H=s0-o0,d0=W*N,i0=H*M,u0=d0-i0,c0=H*K6,$0=W*M,l0=c0-$0,Z=N*K6,I0=M*M,g0=Z-I0,f0=l0*ie,n0=f0+u0,h0=n0/g0,C0=h0<0,c9=C0?0:h0,S0=c9-g,Q0=$+(o9<<2)|0,s[Q0>>2]=S0,b0=o9+1|0,E0=ie+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,o9=b0,ie=E0;else{R3=u0,U6=l0,G3=g0,d9=b0,V9=E0;break}else R3=B6,U6=D6,G3=e9,d9=q6,V9=ue;if(z3=(d9|0)<(t|0),z3)for(B9=d9,F9=V9;K0=F9*U6,v0=K0+R3,T0=v0/G3,N0=T0<0,P6=N0?0:T0,U0=P6-g,O0=$+(B9<<2)|0,s[O0>>2]=U0,k0=B9+1|0,V0=F9+1,_6=(k0|0)==(t|0),!_6;)B9=k0,F9=V0;if(F0=(h|0)<1,F0){C=Te;return}if(L0=(h|0)/2&-1,G0=L0-h|0,J0=(G0|0)>-1,J0)Y6=R3,t9=U6,n9=G3,Q9=0,v9=0;else for(q0=h-L0|0,Y0=L0,o1=G0,y9=0,W6=0;;)if(s1=w+(Y0<<2)|0,i1=+s[s1>>2],x0=0-o1|0,u1=w+(x0<<2)|0,m1=+s[u1>>2],f1=m1+i1,d1=a2+(Y0<<2)|0,A1=+s[d1>>2],g1=a2+(x0<<2)|0,a1=+s[g1>>2],$1=A1-a1,j0=e5+(Y0<<2)|0,E1=+s[j0>>2],Q1=e5+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(Y0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,b1=t3+(Y0<<2)|0,_1=+s[b1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*B1,Z1=D1*$1,G1=P1-Z1,x1=D1*f1,z1=M1*$1,q1=x1-z1,H1=B1*f1,V1=$1*$1,X1=H1-V1,n2=q1*W6,j1=n2+G1,O1=j1/X1,g2=O1-g,W1=$+(y9<<2)|0,h2=+s[W1>>2],s2=g2>2]=g2),C2=y9+1|0,d2=W6+1,l2=L0+C2|0,i2=l2-h|0,i9=(C2|0)==(q0|0),i9){Y6=G1,t9=q1,n9=X1,Q9=q0,v9=d2;break}else Y0=l2,o1=i2,y9=C2,W6=d2;if(Z0=Q9+L0|0,P0=(Z0|0)<(t|0),P0)for(H0=t-L0|0,b=Z0,f9=Q9,ve=v9;;)if(r2=b-h|0,A2=w+(b<<2)|0,e2=+s[A2>>2],o2=w+(r2<<2)|0,m2=+s[o2>>2],t2=e2-m2,D2=a2+(b<<2)|0,S2=+s[D2>>2],Q2=a2+(r2<<2)|0,N2=+s[Q2>>2],L2=S2-N2,U2=e5+(b<<2)|0,p2=+s[U2>>2],W2=e5+(r2<<2)|0,P2=+s[W2>>2],V2=p2-P2,q2=a3+(b<<2)|0,Z2=+s[q2>>2],A5=a3+(r2<<2)|0,H2=+s[A5>>2],N1=Z2-H2,t5=t3+(b<<2)|0,T5=+s[t5>>2],i5=t3+(r2<<2)|0,x5=+s[i5>>2],j2=T5-x5,b5=N1*V2,Y5=j2*L2,g5=b5-Y5,b2=j2*t2,B5=N1*L2,s5=b2-B5,R2=V2*t2,M2=L2*L2,y2=R2-M2,Q5=s5*ve,m5=Q5+g5,L5=m5/y2,q5=L5-g,M5=$+(f9<<2)|0,Y2=+s[M5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=ve+1,y5=$5+L0|0,T6=($5|0)==(H0|0),T6){A6=g5,Q6=s5,V6=y2,h9=H0,$9=u5;break}else b=y5,f9=$5,ve=u5;else A6=Y6,Q6=t9,V6=n9,h9=Q9,$9=v9;if(c2=(h9|0)<(t|0),c2)H9=h9,Re=$9;else{C=Te;return}for(;T1=Re*Q6,d5=T1+A6,l5=d5/V6,X2=l5-g,u2=$+(H9<<2)|0,w5=+s[u2>>2],r5=X2>2]=X2),a5=H9+1|0,h5=Re+1,J6=(a5|0)==(t|0),!J6;)H9=a5,Re=h5;C=Te}function Db(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0;if(h1=C,h=a<<2,$=h,m=C,C=C+((1*$|0)+15&-16)|0,g=h,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,q0=0;else{C=h1;return}for(;;){_0=(q0|0)<2;do if(_0)v0=m+(q0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(q0<<2)|0,e[Q>>2]=E,Y0=q0;else{for(K0=t+(k0<<2)|0,M0=+s[K0>>2],Z0=q0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){H0=Z0,o1=12;break}if(T=Z0+-2|0,N=x+(T<<2)|0,G=+s[N>>2],V=!(b<=G),V){H0=Z0,o1=12;break}if(e0=m+(T<<2)|0,K=e[e0>>2]|0,W=K+o|0,r0=(k0|0)<(W|0),r0)Z0=B;else{H0=Z0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(P0<<2)|0,e[w>>2]=k0,D=x+(P0<<2)|0,s[D>>2]=M0,Y0=P0;break}else if((o1|0)==12){o1=0,s0=m+(H0<<2)|0,e[s0>>2]=k0,J=x+(H0<<2)|0,s[J>>2]=M0,Y0=H0;break}}while(!1);if(s1=Y0+1|0,o0=k0+1|0,O0=(o0|0)==(a|0),O0){i1=Y0,x0=s1;break}else k0=o0,q0=s1}if(c0=(i1|0)>-1,!c0){C=h1;return}for(S0=o+1|0,V0=0,G0=0;;){if(H=(V0|0)<(i1|0),H?(d0=V0+1|0,i0=x+(d0<<2)|0,X=+s[i0>>2],u0=x+(V0<<2)|0,$0=+s[u0>>2],l0=X>$0,l0?(Z=m+(d0<<2)|0,I0=e[Z>>2]|0,T0=I0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(V0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),h0=(T0|0)>(a|0),F0=h0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(V0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,J0=G0;;)if(y0=t+(J0<<2)|0,e[y0>>2]=Q0,w0=J0+1|0,N0=(w0|0)==(E0|0),N0){z0=E0;break}else J0=w0;else z0=G0;if(B0=V0+1|0,U0=(B0|0)==(x0|0),U0)break;V0=B0,G0=z0}C=h1}function vQ(t,o,a,$,g,h,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0;if(g2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,Z=e[s0>>2]|0,E0=(Z|0)==0,E0?v1=I:(O0=t+504|0,H0=e[O0>>2]|0,A1=H0-m|0,v1=A1),F1=(v1|0)>(I|0),V1=F1?I:v1,F=(V1|0)>0,F)for(T=(h|0)==0,N=(v1|0)<(I|0),G=N?v1:I,q1=0;;){T?O1=9:(a0=h+(q1<<2)|0,W=e[a0>>2]|0,r0=(W|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,J=$+(q1<<2)|0,o0=+s[J>>2],H=g+(q1<<2)|0,d0=+s[H>>2],i0=o0/d0,X=a+(q1<<2)|0,u0=+s[X>>2],c0=u0<0,$0=i0,l0=+qn(+$0),I0=+z7(l0),c0){g0=-I0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{h0=~~I0,p0=E+(q1<<2)|0,e[p0>>2]=h0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(G|0),x1){z1=G;break}else q1=C0}else z1=0;if(V=(z1|0)<(I|0),!V)return w=0,C=g2,+w;for(e0=(h|0)!=0,K=o-m|0,Q=0,U1=0,H1=z1;;){e0?(S0=h+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],K0=w0/_0,M0=!(K0<.25),v0=(H1|0)<(K|0),X1=e0&v0,n2=M0|X1,n2){k0=a+(H1<<2)|0,V0=+s[k0>>2],F0=V0<0,L0=K0,G0=+qn(+L0),z0=+z7(G0),J0=-z0,x=F0?J0:z0,y=~~x,q0=E+(H1<<2)|0,e[q0>>2]=y,Z0=o5(y,y)|0,P0=+(Z0|0),s1=+s[B0>>2],Y0=P0*s1,s[y0>>2]=Y0,B=Q,D1=U1;break}else{T0=K0+Q,N0=U1+1|0,U0=R+(U1<<2)|0,e[U0>>2]=y0,B=T0,D1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=D1;break}else Q=B,U1=D1,H1=i1}if(x0=(P1|0)==0,x0||(Pu(R,P1,4,9),o1=(P1|0)>0,!o1))return w=S,C=g2,+w;for(h1=$,u1=t+512|0,m1=+l1[u1>>3],b=S,Y1=0;;)if(f1=R+(Y1<<2)|0,d1=e[f1>>2]|0,g1=d1,a1=g1-h1|0,$1=a1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],v=L1,M=k1,j1=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[d1>>2]=j1,R1=Y1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,Y1=R1;return C=g2,+w}function _b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,h=+s[g>>2],m=$h,Q=E&1,B=I-Q|0,B|0}function xb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Lb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,K=0;T=e[F>>2]|0,N=T+(K<<2)|0,G=e[N>>2]|0,V=(G|0)==0,V?h=L:(E2(G),o=e[$>>2]|0,h=o),e0=K+1|0,g=(e0|0)<(h|0),g;)L=h,K=e0;if(m=e[F>>2]|0,E2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,E2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,E2(M),E2(t)}}function Mb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0;if(h0=C,g=e[t>>2]|0,O2(o,g,24),h=t+4|0,y=e[h>>2]|0,O2(o,y,24),K=t+8|0,H=e[K>>2]|0,d0=H+-1|0,O2(o,d0,24),i0=t+12|0,X=e[i0>>2]|0,u0=X+-1|0,O2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,O2(o,m,8),I=e[i0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,Z=0;;){if(b=Q+(Z<<2)|0,v=e[b>>2]|0,w=q8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(O2(o,x,3),O2(o,1,1),M=e[b>>2]|0,L=M>>3,O2(o,L,5)):O2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(T=a&1,N=T+f0|0,G=a>>>1,V=(G|0)==0,V){g0=N;break}else a=G,f0=N;if(e0=g0+$0|0,a0=Z+1|0,W=e[i0>>2]|0,r0=(a0|0)<(W|0),r0)$0=e0,Z=a0;else{$=e0;break}}if(B=($|0)>0,!!B)for(S=t+280|0,I0=0;s0=S+(I0<<2)|0,J=e[s0>>2]|0,O2(o,J,8),o0=I0+1|0,l0=(o0|0)==($|0),!l0;)I0=o0}}function Rb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0;a1=C,m=ce(1,2840)|0,I=t+28|0,M=e[I>>2]|0,W=n4(o,24)|0,e[m>>2]=W,$0=n4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=n4(o,24)|0,Z0=N0+1|0,H0=m+8|0,e[H0>>2]=Z0,s1=n4(o,6)|0,E=s1+1|0,Q=m+12|0,e[Q>>2]=E,B=n4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)g1=26;else{if(v=(s1|0)>-1,v){for(w=m+24|0,i1=0,h1=0;;){if(x=n4(o,3)|0,L=n4(o,1)|0,R=(L|0)<0,R){g1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(T=n4(o,5)|0,N=(T|0)<0,N){g1=26;break e}G=T<<3,V=G|x,x0=V}if(e0=w+(h1<<2)|0,e[e0>>2]=x0,K=(x0|0)==0,K)d1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,J=(s0|0)==0,J){d1=r0;break}else $=s0,A1=r0;if(o0=d1+i1|0,H=h1+1|0,d0=e[Q>>2]|0,i0=(H|0)<(d0|0),i0)i1=o0,h1=H;else{h=o0;break}}if(D=(h|0)>0,D)for(y=m+280|0,u1=0;;){if(X=n4(o,8)|0,u0=(X|0)<0,u0)break e;if(c0=y+(u1<<2)|0,e[c0>>2]=X,l0=u1+1|0,Z=(l0|0)<(h|0),Z)u1=l0;else{P0=D,Y0=h;break}}else P0=0,Y0=h}else P0=0,Y0=0;if(I0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(I0|0)<(f0|0),n0){if(P0)for(h0=m+280|0,m1=0;;){if(S0=h0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,K0=(_0|0)==0,p0=m1+1|0,K0))break e;if(C0=(p0|0)<(Y0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(I0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,U0=e[T0>>2]|0,O0=e[v0>>2]|0,k0=(O0|0)<1,!k0){for(V0=e[Q>>2]|0,o1=O0,f1=1;;){if(G0=o5(V0,f1)|0,z0=(G0|0)>(U0|0),z0)break e;if(F0=o1+-1|0,L0=(o1|0)>1,L0)o1=F0,f1=G0;else{g=G0;break}}return J0=m+16|0,e[J0>>2]=g,a=m,a|0}}}while(!1);return(g1|0)==26&&(q0=(m|0)==0,q0)?(a=0,a|0):(E2(m),a=0,a|0)}function Fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,h=ce(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[h>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,q0=h+4|0,e[q0>>2]=T0,s1=c0+2848|0,Y0=e[s1>>2]|0,I=h+12|0,e[I>>2]=Y0,E=Y0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=h+16|0,e[b>>2]=S,v=e[S>>2]|0,w=ce(T0,4)|0,D=h+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,d1=0,I1=0;;){if(R=M+(d1<<2)|0,F=e[R>>2]|0,T=q8(F)|0,N=(T|0)==0,N)h1=i1,Q1=I1;else if(G=(T|0)>(I1|0),$=G?T:I1,V=ce(T,4)|0,e0=w+(d1<<2)|0,e[e0>>2]=V,K=(T|0)>0,K)for(W=e[R>>2]|0,r0=w+(d1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,J=W&s0,o0=(J|0)==0,o0?o1=x0:(H=e[s1>>2]|0,d0=x0+1|0,i0=L+(x0<<2)|0,X=e[i0>>2]|0,u0=H+(X*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=d0),Z=$1+1|0,m1=(Z|0)==(T|0),m1){h1=o1,Q1=$;break}else x0=o1,$1=Z;else h1=i1,Q1=$;if(I0=d1+1|0,g0=(I0|0)<(T0|0),g0)i1=h1,d1=I0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=h+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(h0=o5(p0,T0)|0,C0=A1+1|0,u1=(C0|0)==(v|0),u1){a=h0;break}else p0=h0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=h+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=R9(b0)|0,w0=h+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return h|0;if(_0=v<<2,!n0){for(g1=0;J0=R9(_0)|0,Z0=y0+(g1<<2)|0,e[Z0>>2]=J0,P0=g1+1|0,H0=(P0|0)<(E0|0),H0;)g1=P0;return h|0}for(K0=e[w0>>2]|0,a1=0;;){for(L0=R9(_0)|0,G0=y0+(a1<<2)|0,e[G0>>2]=L0,z0=K0+(a1<<2)|0,V0=e[z0>>2]|0,g=E0,j0=0,B1=a1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,U0=o5(N0,p1)|0,O0=B1-U0|0,k0=V0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,f1=(F0|0)==(v|0),!f1;)g=p1,j0=F0,B1=O0;if(M0=a1+1|0,v0=(M0|0)<(E0|0),v0)a1=M0;else break}return h|0}function Tb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||kQ(t,o,a,L,2),0}function Nb(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,E=(h|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(h|0),M){T=F;break}else L=y,R=F;return x=(T|0)==0,x||SQ(t,a,$,T,m),0}function Gb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)o1=0,I1=0;else return h=0,h|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(o1<<2)|0,b0=e[l0>>2]|0,U0=I1+1|0,z0=a+(I1<<2)|0,e[z0>>2]=b0,Q1=U0),J0=o1+1|0,H0=(J0|0)==(g|0),H0){p1=Q1;break}else o1=J0,I1=Q1;if(q0=(p1|0)==0,q0)return h=0,h|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=z8(t,R)|0,T=+(S|0),N=100/T,G=N,V=(p1|0)>0,V)for(e0=M<<2,h1=0;J=z8(t,e0)|0,o0=F+(h1<<2)|0,e[o0>>2]=J,u4(J|0,0,e0|0)|0,H=h1+1|0,x0=(H|0)==(p1|0),!x0;)h1=H;if(K=(M|0)>0,K)for(a0=(S|0)>0,W=v+-1|0,s0=(v|0)>1,u1=0;;){if(d0=o5(u1,S)|0,i0=e[Q>>2]|0,X=i0+d0|0,V)for(f1=0;;){if(a0)for(u0=a+(f1<<2)|0,c0=e[u0>>2]|0,P0=0,d1=0,$1=0;;)if($0=X+d1|0,Z=c0+($0<<2)|0,I0=e[Z>>2]|0,m1=(I0|0)>-1,j0=0-I0|0,g0=m1?I0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+P0|0,h0=d1+1|0,s1=(h0|0)==(S|0),s1){Z0=n0,a1=m;break}else P0=n0,d1=h0,$1=m;else Z0=0,a1=0;p0=+(Z0|0),C0=p0*G,S0=~~C0;e:do if(s0)for(g1=0;;){if(Q0=(Q+2328|0)+(g1<<2)|0,E0=e[Q0>>2]|0,y0=(a1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(g1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,K0=(S0|0)<(B0|0),E1=_0|K0,E1)){A1=g1;break e}if(M0=g1+1|0,v0=(M0|0)<(W|0),v0)g1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(f1<<2)|0,N0=e[T0>>2]|0,O0=N0+(u1<<2)|0,e[O0>>2]=A1,k0=f1+1|0,Y0=(k0|0)==(p1|0),Y0)break;f1=k0}if(V0=u1+1|0,i1=(V0|0)==(M|0),i1)break;u1=V0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,h=F,h|0}function Ub(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,h=(g|0)>0,h)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||kQ(t,o,a,L,3),0}function Pb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,a1=0;else return h=0,h|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,f1=(R|0)!=0,s0=f1&1,A1=s0+a1|0,Z=G0+1|0,V0=(Z|0)==(g|0),V0){g1=A1;break}else G0=Z,a1=A1;if(d1=(g1|0)==0,d1)return h=0,h|0;if(E0=e[o>>2]|0,K0=E0+8|0,M0=e[K0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=z8(t,4)|0,y=w<<2,x=z8(t,y)|0,e[D>>2]=x,u4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,T=(M0|0)>0,N=T0+-1|0,G=(T0|0)>1,V=e[D>>2]|0,e0=(g|0)>1,z0=0,Y0=F;;){if(T)for(K=e[a>>2]|0,U0=0,Z0=0,x0=Y0,h1=0;;){if(a0=K+(x0<<2)|0,W=e[a0>>2]|0,J0=(W|0)>-1,u1=0-W|0,r0=J0?W:u1,J=(r0|0)>(h1|0),I=J?r0:h1,e0)for(k0=U0,s1=1;;)if(o0=a+(s1<<2)|0,H=e[o0>>2]|0,d0=H+(x0<<2)|0,i0=e[d0>>2]|0,q0=(i0|0)>-1,m1=0-i0|0,X=q0?i0:m1,u0=(X|0)>(k0|0),m=u0?X:k0,c0=s1+1|0,F0=(c0|0)==(g|0),F0){O0=m;break}else k0=m,s1=c0;else O0=U0;if($0=x0+1|0,l0=Z0+g|0,I0=(l0|0)<(M0|0),I0)U0=O0,Z0=l0,x0=$0,h1=I;else{N0=O0,i1=$0,o1=I;break}}else N0=0,i1=Y0,o1=0;e:do if(G)for(H0=0;;){if(g0=(E0+2328|0)+(H0<<2)|0,f0=e[g0>>2]|0,n0=(o1|0)>(f0|0),!n0&&(h0=(E0+2584|0)+(H0<<2)|0,p0=e[h0>>2]|0,C0=(N0|0)>(p0|0),!C0)){P0=H0;break e}if(S0=H0+1|0,Q0=(S0|0)<(N|0),Q0)H0=S0;else{P0=S0;break}}else P0=0;while(!1);if(b0=V+(z0<<2)|0,e[b0>>2]=P0,y0=z0+1|0,L0=(y0|0)==(w|0),L0)break;z0=y0,Y0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,h=D,h|0}function Ob(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0;if(c0=C,C=C+16|0,X=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=h<<2,T=o5(F,R)|0,N=z8(o,T)|0,e[X>>2]=N,G=(h|0)>0,!G)return C=c0,0;for(V=(Q|0)>1,W=0,i0=0;;){if(e0=$+(W<<2)|0,K=e[e0>>2]|0,B=g+(W<<2)|0,S=e[B>>2]|0,J=(S|0)!=0,b=J&1,H=b+i0|0,V)for(r0=0,s0=W;v=K+(r0<<2)|0,w=e[v>>2]|0,D=N+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+h|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=W+1|0,a0=(L|0)==(h|0),a0){d0=H;break}else W=L,i0=H}return o0=(d0|0)==0,o0?(C=c0,0):(SQ(t,a,X,1,m),C=c0,0)}function qb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,U0=t+36|0,P0=e[U0>>2]|0,d1=o5(P0,g)|0,A1=d1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),h=S?B:A1,b=e[I>>2]|0,v=h-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=z8(t,R)|0,T=(g|0)>0;e:do if(T)for(a1=0;;){if(N=$+(a1<<2)|0,G=e[N>>2]|0,V=(G|0)==0,!V){g1=a1;break e}if(e0=a1+1|0,K=(e0|0)<(g|0),K)a1=e0;else{g1=e0;break}}else g1=0;while(!1);if(a0=(g1|0)==(g|0),a0||(W=o+8|0,s0=e[W>>2]|0,J=(s0|0)>0,!J))return 0;o0=(D|0)>0,H=t+4|0,d0=I+16|0,i0=o+28|0,X=(b0|0)>0,u0=o+20|0,f1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,I0=sE(Z,H)|0,g0=(I0|0)==-1,g0){v1=23;break e}if(f0=e[d0>>2]|0,n0=(I0|0)<(f0|0),!n0){v1=23;break e}if(h0=e[i0>>2]|0,p0=h0+(I0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=X&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,K0=(I+24|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,O0=N0+(_0<<2)|0,k0=e[O0>>2]|0,V0=k0+(w1<<2)|0,F0=e[V0>>2]|0,L0=(F0|0)==0,!L0&&(G0=o5(E1,L)|0,z0=e[I>>2]|0,J0=z0+G0|0,q0=KS(F0,a,J0,g,H,L)|0,Z0=(q0|0)==-1,Z0))){v1=23;break e}if(H0=I1+1|0,s1=E1+1|0,Y0=(H0|0)<(b0|0),i1=(s1|0)<(D|0),p1=Y0&i1,p1)E1=s1,I1=H0;else{j0=s1;break}}else j0=$1;if(x0=Q1+1|0,o1=(j0|0)<(D|0),o1)$1=j0,Q1=x0;else break}m=e[W>>2]|0,m1=m}else m1=f1;if(h1=w1+1|0,u1=(h1|0)<(m1|0),u1)f1=m1,w1=h1;else{v1=23;break}}return(v1|0)==23,0}function kQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,J=o+16|0,I0=e[J>>2]|0,y0=e[I0>>2]|0,k0=t+36|0,s1=e[k0>>2]|0,g1=s1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(g1|0),h=b?S:g1,v=e[Q>>2]|0,w=h-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,T=R+y|0,N=(T|0)/(y0|0)&-1,G=N<<2,U1=0;d0=z8(t,G)|0,i0=M+(U1<<2)|0,e[i0>>2]=d0,X=U1+1|0,M1=(X|0)==($|0),!M1;)U1=X;if(V=o+8|0,e0=e[V>>2]|0,K=(e0|0)>0,!K){C=X1;return}a0=(y|0)>0,W=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,H=o+20|0,E=L^1,Y1=0;e:for(;;){if(a0)for(u0=1<>2]|0,Y0=sE(H0,W)|0,i1=(Y0|0)==-1,i1){V1=25;break e}if(x0=e[r0>>2]|0,o1=(Y0|0)<(x0|0),!o1){V1=25;break e}if(h1=e[s0>>2]|0,u1=h1+(Y0<<2)|0,m1=e[u1>>2]|0,f1=M+(D1<<2)|0,d1=e[f1>>2]|0,A1=d1+(x1<<2)|0,e[A1>>2]=m1,a1=(m1|0)==0,Z0=D1+1|0,a1){V1=25;break e}if(P0=(Z0|0)<($|0),P0)D1=Z0;else break}c0=(b1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),z1=E1&I1,z1)R1=j0,Z1=$1;else{_1=j0;break t}for(;;){for(h0=o5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+h0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,K0=(_0|0)==0,!K0&&(M0=e[H>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(Y1<<2)|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0&&(V0=a+(P1<<2)|0,F0=e[V0>>2]|0,L0=F0+(n0<<2)|0,G0=DC[g&3](U0,L0,W,F)|0,z0=(G0|0)==-1,z0))){V1=25;break e}if(J0=P1+1|0,q0=(J0|0)<($|0),q0)P1=J0;else break}if($0=G1+1|0,l0=F1+1|0,Z=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=Z&g0,q1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,p1=(_1|0)<(y|0),p1)b1=_1,x1=Q1;else break}if(B1=Y1+1|0,w1=e[V>>2]|0,v1=(B1|0)<(w1|0),v1)Y1=B1;else{V1=25;break}}if((V1|0)==25){C=X1;return}}function SQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,U5=Q6+1024|0,K6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,l2=e[x>>2]|0,V2=y+12|0,j2=e[V2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,h3=y+4|0,q3=e[h3>>2]|0,M=e[y>>2]|0,W=q3-M|0,$0=(W|0)/(l2|0)&-1,u4(K6|0,0,512)|0,u4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(f1=($0|0)>0,B1=($|0)>0,D1=(f5|0)>1,n2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(f1){for(N2=(c6|0)==0,L2=1<>2]|0,q5=L5+(Z5<<2)|0,M5=e[q5>>2]|0,Y2=e[Q5>>2]|0,p5=Y2+4|0,$5=e[p5>>2]|0,u5=(M5|0)<($5|0),u5&&(y5=Gu(Y2,M5,t)|0,D5=e[n2>>2]|0,d5=D5+y5|0,e[n2>>2]=d5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(L3<<2)|0,I5=e[b2>>2]|0,B5=I5+(Z5<<2)|0,s5=e[B5>>2]|0,C6=1,A6=s5;;)if(t5=o5(A6,j2)|0,T5=C6+Z5|0,i5=(T5|0)<($0|0),i5?(x5=I5+(T5<<2)|0,b5=e[x5>>2]|0,Y5=b5+t5|0,D6=Y5):D6=t5,g5=C6+1|0,_3=(g5|0)==(f5|0),_3){U6=D6;break}else C6=g5,A6=D6;if(W2=e[Q5>>2]|0,P2=W2+4|0,G2=e[P2>>2]|0,q2=(U6|0)<(G2|0),q2&&(Z2=Gu(W2,U6,t)|0,A5=e[n2>>2]|0,H2=A5+Z2|0,e[n2>>2]=H2),N1=L3+1|0,S3=(N1|0)==($|0),S3)break;L3=N1}}while(!1);if(R2=(Z5|0)<($0|0),F6=i2&R2,F6){for(M2=Z5-$0|0,y2=M2>>>0>>0,Y6=y2?Q2:M2,N5=0-Y6|0,d6=Z5,z3=0;;){if(X2=o5(d6,l2)|0,u2=e[y>>2]|0,w5=u2+X2|0,B1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,h5=a5+(d6<<2)|0,z2=e[h5>>2]|0,N2&&(n5=A3+(z2<<2)|0,R5=e[n5>>2]|0,e5=R5+l2|0,e[n5>>2]=e5),c5=(y+24|0)+(z2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,J5=(v5|0)==0,!J5&&(i3=e[D2>>2]|0,E5=i3+(z2<<2)|0,I3=e[E5>>2]|0,K5=I3+(c6<<2)|0,r3=e[K5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,G5=e[B3>>2]|0,W5=e[r3>>2]|0,D3=(l2|0)/(W5|0)&-1,f3=(D3|0)>0,f3){for(y3=r3+48|0,X3=r3+52|0,X5=r3+44|0,b3=r3+12|0,t3=r3+4|0,L=W5,S5=0,d3=0;;){s6=o5(d3,W5)|0,b=s6+w5|0,T3=G5+(b<<2)|0,H3=e[y3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(G=g3+-1|0,m3=0,S6=0,K3=L;;)if(C0=K3+-1|0,D=b+C0|0,S0=G5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-H3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(K0=E0-u3|0,M0=K0<<1,T0=M0),v0=o5(S6,g3)|0,U0=(T0|0)<0,O0=(T0|0)>=(g3|0),k0=O0?G:T0,V0=U0?0:k0,F0=V0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,K3=C0}else{if(!R){r6=0;break}for(F=c3>>1,T=F-H3|0,N=g3+-1|0,x3=0,R6=0,M3=L;;)if(V=M3+-1|0,w=b+V|0,e0=G5+(w<<2)|0,K=e[e0>>2]|0,a0=T+K|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(J=u3-r0|0,o0=J<<1,H=o0+-1|0,u0=H):(d0=r0-u3|0,i0=d0<<1,u0=i0),X=o5(R6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),Z=l0?N:u0,I0=c0?0:Z,g0=I0+X|0,f0=o5(r0,c3)|0,n0=f0+H3|0,h0=o3+(V<<2)|0,e[h0>>2]=n0,p0=x3+1|0,V3=(p0|0)==(L|0),V3){r6=g0;break}else x3=p0,R6=g0,M3=V}while(!1);z0=e[b3>>2]|0,J0=z0+8|0,q0=e[J0>>2]|0,P0=q0+r6|0,H0=f[P0>>0]|0,s1=H0<<24>>24<1;do if(s1){if(e[U5>>2]=0,e[U5+4>>2]=0,e[U5+8>>2]=0,e[U5+12>>2]=0,e[U5+16>>2]=0,e[U5+20>>2]=0,e[U5+24>>2]=0,e[U5+28>>2]=0,Y0=g3+-1|0,i1=o5(Y0,c3)|0,x0=i1+H3|0,o1=e[t3>>2]|0,h1=(o1|0)>0,h1)z5=-1,L6=0,h6=r6;else{G6=r6;break}for(;;){u1=q0+L6|0,m1=f[u1>>0]|0,d1=m1<<24>>24>0;do if(d1){if(R)for(X6=0,R3=0;;)if(A1=U5+(X6<<2)|0,g1=e[A1>>2]|0,v=b+X6|0,a1=G5+(v<<2)|0,$1=e[a1>>2]|0,j0=g1-$1|0,E1=o5(j0,j0)|0,I1=E1+R3|0,Q1=X6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else X6=Q1,R3=I1;else B6=0;if(p1=(z5|0)==-1,w1=(B6|0)<(z5|0),e6=p1|w1,!e6){H5=z5,b6=h6;break}e[o3>>2]=e[U5>>2]|0,e[o3+4>>2]=e[U5+4>>2]|0,e[o3+8>>2]=e[U5+8>>2]|0,e[o3+12>>2]=e[U5+12>>2]|0,e[o3+16>>2]=e[U5+16>>2]|0,e[o3+20>>2]=e[U5+20>>2]|0,e[o3+24>>2]=e[U5+24>>2]|0,e[o3+28>>2]=e[U5+28>>2]|0,H5=B6,b6=L6}else H5=z5,b6=h6;while(!1);if(v1=e[U5>>2]|0,k1=(v1|0)<(x0|0),k1)m=U5,I=v1;else for(M1=U5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,b1=U5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(x0|0),R1){m=b1,I=_1;break}else M1=b1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=L6+1|0,n3=(G1|0)==(o1|0),n3){G6=b6;break}else z5=H5,L6=G1,h6=b6}}else G6=r6;while(!1);if(x1=(G6|0)>-1,l6=R&x1,l6)for(h=T3,M6=0;z1=o3+(M6<<2)|0,q1=e[z1>>2]|0,H1=h+4|0,Y1=e[h>>2]|0,V1=Y1-q1|0,e[h>>2]=V1,X1=M6+1|0,l3=(X1|0)==(L|0),!l3;)h=H1,M6=X1;if(j1=Gu(r3,G6,t)|0,O1=j1+S5|0,g2=d3+1|0,N3=(g2|0)==(D3|0),N3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,d3=g2}B=e[r5>>2]|0,C2=B,V5=E}else C2=a5,V5=0;W1=e[S2>>2]|0,h2=W1+V5|0,e[S2>>2]=h2,s2=C2+(d6<<2)|0,a2=e[s2>>2]|0,K1=K6+(a2<<2)|0,d2=e[K1>>2]|0,c2=d2+V5|0,e[K1>>2]=c2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if(A2=z3+1|0,e2=d6+1|0,k3=(A2|0)==(N5|0),k3)break;d6=e2,z3=A2}U2=Z5-Y6|0,J3=U2}else J3=Z5;if(p2=(J3|0)<($0|0),p2)Z5=J3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(o2=c6+1|0,m2=(o2|0)<(t2|0),m2)k2=t2,c6=o2;else break}C=Q6}function q8(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,h=($|0)==0,h){m=g;break}else o=$,I=g;return m|0}function bQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0;d2=C,C=C+144|0,O1=d2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=R9(R)|0,u4(O1|0,0,132)|0,Z=(o|0)>0;do if(Z){E0=O1+4|0,O0=(a|0)==0,H0=O0&1,v1=0,D1=0;e:for(;;){A1=t+D1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,g2=w|y,!g2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(J=v,o0=M,z1=B;;){if(r0=J+1|0,e[o0>>2]=r0,H=z1+-1|0,d0=(z1|0)>1,!d0)break i;if(h=O1+(H<<2)|0,I=e[h>>2]|0,i0=O1+(H<<2)|0,X=I&1,u0=(X|0)==0,u0)J=I,o0=i0,z1=H;else{g=i0,x1=H,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(x1|0)==1,N){G=e[E0>>2]|0,V=G+1|0,e[E0>>2]=V;break}else{e0=x1+-1|0,K=O1+(e0<<2)|0,a0=e[K>>2]|0,W=a0<<1,e[g>>2]=W;break}while(!1);if(V1=B+1|0,T=(V1|0)<33,T)for(R1=v,H1=B,X1=V1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,I0=(l0|0)==(R1|0),!I0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,h0=(q1|0)<33,h0)Y1=X1,R1=$0,X1=q1,H1=Y1;else{m=1;break}}else m=1}else m=H0;while(!1);if(k1=v1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,D1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return E2(s0),$=0,C=d2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,P0=e[Z0>>2]|0,s1=32-P1|0,Y0=-1>>>s1,i1=P0&Y0,x0=(i1|0)==0,J0=P1+1|0,!!x0;)if(q0=(J0|0)<33,q0)P1=J0,K1=27;else break e;return E2(s0),$=0,C=d2,$|0}while(!1);if(!Z)return $=s0,C=d2,$|0;if(E)b1=0,G1=0;else{for(M1=0,Z1=0;;){if(o1=t+Z1|0,h1=f[o1>>0]|0,u1=h1<<24>>24>0,u1)for(m1=s0+(M1<<2)|0,f1=e[m1>>2]|0,d1=h1<<24>>24,n2=0,C2=0;;)if(g1=C2<<1,a1=f1>>>n2,$1=a1&1,j0=$1|g1,E1=n2+1|0,I1=(E1|0)<(d1|0),I1)n2=E1,C2=j0;else{h2=j0;break}else h2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=h2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=d2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(z0=s0+(b1<<2)|0,U0=e[z0>>2]|0,G0=w0<<24>>24,j1=0,a2=0;;)if(T0=a2<<1,N0=U0>>>j1,k0=N0&1,V0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,a2=V0;else{s2=V0;break}else s2=0;if(_0=w0<<24>>24==0,_0?_1=b1:(K0=b1+1|0,M0=s0+(b1<<2)|0,e[M0>>2]=s2,_1=K0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=d2,$|0}function Hb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,T=+Fu(+M,+F),h=+iA(+T),m=~~h,K=m;;){for(b=K+1|0,N=1,G=1,V=0;;)if(B=o5(N,K)|0,S=o5(G,b)|0,v=V+1|0,w=(v|0)<(D|0),w)N=B,G=S,V=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),e0=I&E,e0){r0=K;break}Q=(o|0)>(g|0),W=Q?-1:1,a0=K+W|0,K=a0}return r0|0}function Yb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return h=0,h|0;if(Y0=t+16|0,a1=e[Y0>>2]|0,L1=a1&2097151,x1=+(L1|0),W1=a1>>>21,A2=W1&1023,U2=(a1|0)<0,t5=-x1,$=U2?t5:x1,S=A2+-788|0,T=+$E($,S),o0=T,g0=t+20|0,w0=e[g0>>2]|0,V0=w0&2097151,Z0=+(V0|0),P0=w0>>>21,H0=P0&1023,s1=(w0|0)<0,i1=-Z0,g=s1?i1:Z0,x0=H0+-788|0,o1=+$E(g,x0),h1=o1,u1=e[t>>2]|0,m1=o5(u1,o)|0,f1=ce(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(u1|0)>0,!k1)for(;;);for(M1=+(v1|0),b1=M1,_1=+(u1|0),R1=1/_1,F1=R1,U1=+Fu(+b1,+F1),D1=+iA(+U1),P1=~~D1,c5=P1;;){for(h2=c5+1|0,s5=1,R2=1,p5=0;;)if(O1=o5(s5,c5)|0,g2=o5(R2,h2)|0,s2=p5+1|0,m5=(s2|0)==(u1|0),m5){m=O1,I=g2;break}else s5=O1,R2=g2,p5=s2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),e5=j1?-1:1,R5=e5+c5|0,c5=R5}if(z1=(v1|0)>0,!z1)return h=f1,h|0;for(q1=(a|0)==0,H1=t+8|0,Y1=t+32|0,V1=h1,X1=o0,n2=t+28|0,M2=0,T1=0;;){if(q1)if(l2=e[Y1>>2]|0,i2=e[n2>>2]|0,c2=(i2|0)==0,r2=o5(u1,M2)|0,c2)for(y5=1,X2=0;;)if(x5=(T1|0)/(y5|0)&-1,j2=(x5|0)%(F2|0)&-1,I5=l2+(j2<<2)|0,b5=e[I5>>2]|0,Y5=+(b5|0),Y2=+rr(+Y5),g5=Y2,b2=g5*V1,B5=X1+b2,b=B5,v=r2+X2|0,w=f1+(v<<2)|0,s[w>>2]=b,D=o5(y5,F2)|0,y=X2+1|0,x=(y|0)<(u1|0),x)y5=D,X2=y;else{v5=21;break}else for($5=1,d5=0,r5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=l2+(L<<2)|0,F=e[R>>2]|0,N=+(F|0),q5=+rr(+N),G=q5,V=G*V1,e0=r5,K=e0+X1,a0=K+V,W=a0,r0=r2+d5|0,s0=f1+(r0<<2)|0,s[s0>>2]=W,J=o5($5,F2)|0,H=d5+1|0,d0=(H|0)<(u1|0),d0)$5=J,d5=H,r5=W;else{v5=21;break}else if(C2=e[H1>>2]|0,a2=C2+T1|0,K1=f[a2>>0]|0,d2=K1<<24>>24==0,d2)y2=M2;else for(e2=e[Y1>>2]|0,o2=e[n2>>2]|0,m2=(o2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=o5(k2,u1)|0,u5=1,l5=0,a5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,N2=e2+(Q2<<2)|0,L2=e[N2>>2]|0,p2=+(L2|0),M5=+rr(+p2),W2=M5,P2=W2*V1,V2=a5,G2=V2+X1,q2=G2+P2,Z2=q2,w5=m2?a5:Z2,A5=D2+l5|0,H2=f1+(A5<<2)|0,s[H2>>2]=Z2,N1=o5(u5,F2)|0,T5=l5+1|0,i5=(T5|0)<(u1|0),i5)u5=N1,l5=T5,a5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,i0=M2+1|0,y2=i0),X=T1+1|0,u0=(X|0)<(v1|0),u0)M2=y2,T1=X;else{h=f1;break}}return h|0}else if((B|0)==2){if(d1=t+4|0,A1=e[d1>>2]|0,g1=(A1|0)>0,!g1)return h=f1,h|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=h1,Q1=o0,p1=t+28|0,B1=(u1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,Z=l0<<24>>24==0,Z?N5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(I0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,h0=a+(Q5<<2)|0,p0=o5(u1,D5)|0,C0=o5(u1,Q5)|0,u2=0,z2=0;S0=p0+u2|0,Q0=I0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),L5=+rr(+E0),y0=L5,B0=y0*I1,_0=z2,K0=_0+Q1,M0=K0+B0,v0=M0,h5=n0?z2:v0,$1?(T0=e[h0>>2]|0,N0=o5(T0,u1)|0,U0=N0+u2|0,O0=f1+(U0<<2)|0,s[O0>>2]=v0):(k0=C0+u2|0,F0=f1+(k0<<2)|0,s[F0>>2]=v0),L0=u2+1|0,G0=(L0|0)<(u1|0),G0;)u2=L0,z2=h5;z0=Q5+1|0,N5=z0}if(J0=D5+1|0,q0=(J0|0)<(A1|0),q0)Q5=N5,D5=J0;else{h=f1;break}}return h|0}else return h=f1,h|0;return 0}function vC(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,h=e[g>>2]|0,m=(h|0)==0,m||E2(h),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),E2(t))}function Vb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||E2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||E2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||E2($),h=t+32|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function DQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;P0=C,q0=t,H0=q0+56|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,W=t+4|0,e[W>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,K0=e[_0>>2]|0,M0=bQ(K0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Fu(+b,+D),x=+iA(+y),L=~~x,z0=L;;){for(V=z0+1|0,T0=1,N0=1,O0=0;;)if(N=o5(T0,z0)|0,G=o5(N0,V)|0,e0=O0+1|0,U0=(e0|0)==(Q|0),U0){g=N,h=G;break}else T0=N,N0=G,O0=e0;if(R=(g|0)<=(E|0),F=(h|0)>(E|0),k0=F&R,k0){J0=z0;break}T=(g|0)>(E|0),G0=T?-1:1,L0=G0+z0|0,z0=L0}return K=t+44|0,e[K>>2]=J0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,J=+(s0|0),o0=r0>>>21,H=o0&1023,d0=(r0|0)<0,i0=-J,a=d0?i0:J,X=H+-788|0,u0=+$E(a,X),c0=u0,V0=+FQ(c0),l0=~~V0,Z=t+48|0,e[Z>>2]=l0,I0=o+20|0,g0=e[I0>>2]|0,f0=g0&2097151,n0=+(f0|0),h0=g0>>>21,p0=h0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+$E($,b0),y0=E0,F0=+FQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function Jb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;U3=C,_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));if(b=o+4|0,v=e[b>>2]|0,C2=(v|0)>0,C2)for(Y2=o+8|0,w5=e[Y2>>2]|0,z3=0,U6=0;;)if(v5=w5+z3|0,W5=f[v5>>0]|0,H3=W5<<24>>24>0,$6=H3&1,E=$6+U6|0,Z5=z3+1|0,w=(Z5|0)<(v|0),w)z3=Z5,U6=E;else{h0=E;break}else h0=0;if(V=t+4|0,e[V>>2]=v,i0=t+8|0,e[i0>>2]=h0,K0=e[o>>2]|0,e[t>>2]=K0,G0=(h0|0)>0,!G0)return $=0,C=U3,$|0;if(o1=o+8|0,E1=e[o1>>2]|0,_1=bQ(E1,v,h0)|0,H1=h0<<2,h=H1,a2=C,C=C+((1*h|0)+15&-16)|0,t2=(_1|0)==0,t2){q2=t+16|0,Z2=e[q2>>2]|0,A5=(Z2|0)==0,A5||E2(Z2),H2=t+20|0,N1=e[H2>>2]|0,t5=(N1|0)==0,t5||E2(N1),T5=t+24|0,i5=e[T5>>2]|0,x5=(i5|0)==0,x5||E2(i5),I5=t+28|0,b5=e[I5>>2]|0,Y5=(b5|0)==0,Y5||E2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));return $=-1,C=U3,$|0}else M3=0;for(;V2=_1+(M3<<2)|0,j2=e[V2>>2]|0,Q5=j2>>>16,N5=j2<<16,m5=Q5|N5,L5=m5>>>8,q5=L5&16711935,M5=m5<<8,p5=M5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,d5=y5|D5,l5=d5>>>2,X2=l5&858993459,u2=d5<<2,r5=u2&-858993460,a5=X2|r5,h5=a5>>>1,z2=h5&1431655765,f5=a5<<1,n5=f5&-1431655766,R5=z2|n5,e[V2>>2]=R5,e5=a2+(M3<<2)|0,e[e5>>2]=V2,c5=M3+1|0,X6=(c5|0)==(h0|0),!X6;)M3=c5;for(Pu(a2,h0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,J5=R9(H1)|0,i3=t+20|0,e[i3>>2]=J5,E5=_1,K3=0;;)if(I3=a2+(K3<<2)|0,h3=e[I3>>2]|0,K5=h3,r3=K5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=K3,G5=K3+1|0,G6=(G5|0)==(h0|0),G6){e6=0;break}else K3=G5;for(;D3=_1+(e6<<2)|0,f3=e[D3>>2]|0,y3=F2+(e6<<2)|0,X3=e[y3>>2]|0,q3=J5+(X3<<2)|0,e[q3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(h0|0),!b6;)e6=X5;if(E2(_1),b3=Yb(o,h0,F2)|0,t3=t+16|0,e[t3>>2]=b3,s6=R9(H1)|0,T3=t+24|0,e[T3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[o1>>2]|0,F6=0,Q6=0;;)if(u3=Q+F6|0,Q3=f[u3>>0]|0,z5=Q3<<24>>24>0,z5?(H5=Q6+1|0,V5=F2+(Q6<<2)|0,S5=e[V5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=F6,e9=H5):e9=Q6,U5=F6+1|0,n3=(U5|0)<(c3|0),n3)F6=U5,Q6=e9;else{t9=e9;break}else t9=0;if(l3=R9(t9)|0,N3=t+28|0,e[N3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[o1>>2]|0,s5=0,_3=B,l6=0,n9=0;;)if(k3=_3+l6|0,S3=f[k3>>0]|0,a6=S3<<24>>24>0,a6?(i6=n9+1|0,V3=F2+(n9<<2)|0,x3=e[V3>>2]|0,d3=e[N3>>2]|0,J3=d3+x3|0,f[J3>>0]=S3,d6=e[o1>>2]|0,m3=d6+l6|0,L6=f[m3>>0]|0,M6=L6<<24>>24,R6=e[E6>>2]|0,S6=(M6|0)>(R6|0),S6?(e[E6>>2]=M6,R2=M6,M2=d6,V6=i6):(R2=R6,M2=d6,V6=i6)):(R2=s5,M2=_3,V6=n9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)s5=R2,_3=M2,l6=r6,n9=V6;else{I=R2,s9=V6;break}if(x=(s9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=ce(2,4)|0,F=t+32|0,e[F>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,$=0,C=U3,$|0;G3=1}else G3=s9}else G3=0;if(N=e[i0>>2]|0,G=(N|0)==0,G)P6=-4;else{for(g=N,J6=0;;)if(e0=g>>>1,K=J6+1|0,a0=(e0|0)==0,a0){T6=J6;break}else g=e0,J6=K;c9=T6+-3|0,P6=c9}if(W=t+36|0,r0=(P6|0)<5,a=r0?5:P6,s0=(a|0)>8,i9=s0?8:a,e[W>>2]=i9,J=1<>2]=o0,d0=(G3|0)>0,d0)for(l0=i9,o3=0;;){if(X=e[N3>>2]|0,u0=X+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,Z=(l0|0)<($0|0),Z)y2=l0;else if(I0=e[i3>>2]|0,g0=I0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,U0=v0<<2,O0=U0&-858993460,k0=N0|O0,V0=k0>>>1,F0=V0&1431655765,L0=k0<<1,z0=L0&-1431655766,J0=F0|z0,q0=l0-$0|0,Z0=(q0|0)==31,Z0)y2=l0;else for(P0=o3+1|0,s1=$0,A3=0;;)if(H0=A3<>2]=P0,x0=A3+1|0,h1=e[W>>2]|0,u1=f[u0>>0]|0,m1=u1<<24>>24,f1=h1-m1|0,d1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,b1=k1<<8,R1=b1&-16711936,F1=M1|R1,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=D1|Z1,x1=G1>>>2,z1=x1&858993459,q1=G1<<2,Y1=q1&-858993460,V1=z1|Y1,X1=V1>>>1,n2=X1&1431655765,j1=V1<<1,O1=j1&-1431655766,g2=n2|O1,W1=o0+(g2<<2)|0,h2=e[W1>>2]|0,s2=(h2|0)==0,s2){for(B6=c6;;){if(K1=B6+1|0,d2=(K1|0)<(G3|0),!d2){R3=B6;break}if(l2=e[i3>>2]|0,i2=l2+(K1<<2)|0,c2=e[i2>>2]|0,r2=c2>>>0>B1>>>0,r2){R3=B6;break}else B6=K1}A2=(G3|0)>(v6|0);e:do if(A2)for(e2=e[i3>>2]|0,n6=v6;;){if(o2=e2+(n6<<2)|0,m2=e[o2>>2]|0,k2=m2&j0,D2=B1>>>0>>0,D2){L3=n6;break e}if(S2=n6+1|0,Q2=(G3|0)>(S2|0),Q2)n6=S2;else{L3=S2;break}}else L3=v6;while(!1);N2=G3-L3|0,L2=R3>>>0>32767,U2=N2>>>0>32767,C6=U2?32767:N2,Y6=R3<<15,A6=Y6|-2147483648,p2=L2?-1073774592:A6,W2=p2|C6,e[W1>>2]=W2,o6=L3,D6=R3}else o6=v6,D6=c6;if(P2=K6+1|0,G2=(P2|0)<(J|0),!G2){$=0;break}S=e[W>>2]|0,p1=S,v6=o6,K6=P2,c6=D6}return C=U3,$|0}function zb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,h=e[g>>2]|0,m=$>>>0>h>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function Kb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0;if(K0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,J=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,Z=l0+4|0,I0=e[Z>>2]|0,g0=(I0|0)>0,!!g0)){for(f0=I0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=o5(D,w)|0,x=v+-1|0,M=o5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(K=(R|0)==0,a=E+L|0,a0=J+(a<<2)|0,K){MQ(D,w,o,J,a0),y0=0;break}else{MQ(D,w,J,o,a0),y0=R;break}else if((v|0)==4)if(T=L+D|0,N=(R|0)==0,$=E+L|0,G=J+($<<2)|0,g=E+T|0,V=J+(g<<2)|0,h=E+D|0,m=h+T|0,e0=J+(m<<2)|0,N){LQ(D,w,o,J,G,V,e0),y0=0;break}else{LQ(D,w,J,o,G,V,e0),y0=R;break}else if(W=(D|0)==1,b0=W?E0:R,r0=(b0|0)==0,I=E+L|0,s0=J+(I<<2)|0,r0){RQ(D,v,w,y,o,o,o,J,J,s0),y0=1;break}else{RQ(D,v,w,y,J,J,J,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,h0=(o0|0)==(I0|0),h0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(H=(w0|0)!=1,d0=(Q|0)>0,B0=d0&H,B0)p0=0;else return;for(;i0=J+(p0<<2)|0,X=e[i0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=X,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function _Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=ce(m,4)|0,M=t+4|0,e[M>>2]=I,W=ce(32,4)|0,$0=t+8|0,e[$0>>2]=W,Q0=(o|0)==1,!Q0){K0=W+8|0,Y0=-1,u1=0,m1=o,d1=0;e:for(;;)for(M0=Y0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=d1+2|0,A1=Q),B=(A1|0)!=2,q0=u1,f1=m1;;){if(z0=q0+1|0,S=(f1|0)/(A1|0)&-1,b=o5(S,A1)|0,v=(f1|0)==(b|0),!v){Y0=M0,u1=q0,m1=f1,d1=A1;continue e}if(w=q0+2|0,D=W+(w<<2)|0,e[D>>2]=A1,y=(q0|0)==0,g1=B|y,!g1){if(x=(q0|0)<1,!x)for(F0=1;L=z0-F0|0,R=L+1|0,F=W+(R<<2)|0,T=e[F>>2]|0,N=L+2|0,G=W+(N<<2)|0,e[G>>2]=T,V=F0+1|0,k0=(V|0)==(z0|0),!k0;)F0=V;e[K0>>2]=2}if(e0=(S|0)==1,e0){a=y,J0=z0,Z0=q0;break e}else q0=z0,f1=S}if(e[W>>2]=o,K=W+4|0,e[K>>2]=J0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,a1=s0&$,!!a1)for(J=o+1|0,P0=0,x0=0,o1=1;;){if(o0=x0+2|0,H=W+(o0<<2)|0,d0=e[H>>2]|0,i0=o5(d0,o1)|0,X=(o|0)/(i0|0)&-1,u0=(d0|0)>1,u0){for(c0=(X|0)>2,l0=d0+-1|0,s1=P0,i1=0,h1=0;;){if(Z=h1+o1|0,I0=+(Z|0),g0=I0*r0,c0)for(V0=0,L0=s1,G0=2;f0=V0+1,n0=g0*f0,N0=+rA(+n0),g=L0+o|0,h0=I+(g<<2)|0,s[h0>>2]=N0,$1=+Hn(+n0),p0=L0+2|0,h=J+L0|0,C0=I+(h<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(X|0),b0;)V0=f0,L0=p0,G0=S0;if(E0=s1+X|0,y0=i1+1|0,U0=(y0|0)==(l0|0),U0)break;s1=E0,i1=y0,h1=Z}w0=o5(X,l0)|0,B0=w0+P0|0,H0=B0}else H0=P0;if(_0=x0+1|0,O0=(_0|0)==(Z0|0),O0)break;P0=H0,x0=_0,o1=i0}}}function xQ(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),h=t+8|0,m=e[h>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function LQ(t,o,a,$,g,h,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,V1=t<<2,K1=V1+-1|0,k2=t<<1,u2=0,a5=I,f5=F1,e5=0,c5=E;G2=a+(a5<<2)|0,I5=+s[G2>>2],N5=a+(f5<<2)|0,Q=+s[N5>>2],R=Q+I5,s0=a+(e5<<2)|0,Z=+s[s0>>2],E0=a+(c5<<2)|0,O0=+s[E0>>2],H0=O0+Z,A1=H0+R,E1=e5<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=H0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[N5>>2],U1=+s[G2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,Z1=a5+t|0,G1=f5+t|0,x1=e5+t|0,z1=c5+t|0,q1=u2+1|0,d5=(q1|0)==(o|0),!d5;)u2=q1,a5=Z1,f5=G1,e5=x1,c5=z1;if(H1=(t|0)<2,!H1){if(Y1=(t|0)==2,!Y1){if(Q1)for(X1=t<<1,w5=0,h5=0;;){for(n0=h5<<2,h0=n0+X1|0,X2=2,n5=h5,F2=n0,J5=h0;O1=n5+2|0,g2=F2+2|0,W1=J5+-2|0,h2=O1+I|0,s2=X2+-2|0,C2=g+(s2<<2)|0,a2=+s[C2>>2],d2=h2+-1|0,l2=a+(d2<<2)|0,i2=+s[l2>>2],c2=i2*a2,r2=X2+-1|0,A2=g+(r2<<2)|0,e2=+s[A2>>2],o2=a+(h2<<2)|0,m2=+s[o2>>2],t2=m2*e2,D2=t2+c2,S2=m2*a2,Q2=e2*i2,N2=S2-Q2,L2=h2+I|0,U2=h+(s2<<2)|0,p2=+s[U2>>2],W2=L2+-1|0,P2=a+(W2<<2)|0,V2=+s[P2>>2],q2=V2*p2,Z2=h+(r2<<2)|0,A5=+s[Z2>>2],H2=a+(L2<<2)|0,N1=+s[H2>>2],t5=N1*A5,T5=t5+q2,i5=N1*p2,x5=A5*V2,j2=i5-x5,b5=L2+I|0,Y5=m+(s2<<2)|0,g5=+s[Y5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,s5=+s[B5>>2],R2=s5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],L5=m5*y2,q5=L5+R2,M5=m5*g5,Y2=y2*s5,p5=M5-Y2,$5=q5+D2,u5=q5-D2,y5=p5+N2,T1=N2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+j2,v=S-j2,w=n5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+T5,M=y-T5,L=$5+x,F=F2|1,T=$+(F<<2)|0,s[T>>2]=L,N=y5+b,G=$+(g2<<2)|0,s[G>>2]=N,V=M-T1,e0=J5+-3|0,K=$+(e0<<2)|0,s[K>>2]=V,a0=u5-v,W=$+(W1<<2)|0,s[W>>2]=a0,r0=T1+M,J=g2+X1|0,o0=J+-1|0,H=$+(o0<<2)|0,s[H>>2]=r0,d0=u5+v,i0=$+(J<<2)|0,s[i0>>2]=d0,X=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=X,l0=y5-b,I0=$+(u0<<2)|0,s[I0>>2]=l0,g0=X2+2|0,f0=(g0|0)<(t|0),f0;)X2=g0,n5=O1,F2=g2,J5=W1;if(n2=h5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,h5=n2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,r5=0,z2=Q0,R5=w0,v5=t,i3=t;B0=a+(z2<<2)|0,_0=+s[B0>>2],K0=a+(R5<<2)|0,M0=+s[K0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,U0=N0*.7071067690849304,k0=i3+-1|0,V0=a+(k0<<2)|0,F0=+s[V0>>2],L0=U0+F0,G0=v5+-1|0,z0=$+(G0<<2)|0,s[z0>>2]=L0,J0=+s[V0>>2],q0=J0-U0,Z0=v5+y0|0,P0=Z0+-1|0,s1=$+(P0<<2)|0,s[s1>>2]=q0,Y0=z2+I|0,i1=a+(Y0<<2)|0,x0=+s[i1>>2],o1=T0-x0,h1=$+(v5<<2)|0,s[h1>>2]=o1,u1=+s[i1>>2],m1=u1+T0,f1=$+(Z0<<2)|0,s[f1>>2]=m1,d1=z2+t|0,g1=R5+t|0,a1=v5+b0|0,$1=i3+t|0,j0=r5+1|0,D5=(j0|0)==(o|0),!D5;)r5=j0,z2=d1,R5=g1,v5=a1,i3=$1}}function MQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,h=o5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=h;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,q0=+s[T0>>2],m1=q0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,a1=(D|0)==(o|0),!a1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=h;;){for(V0=B1<<1,F0=V0+m|0,j0=2,M1=k1,_1=F0,R1=B1,F1=V0;T=M1+2|0,N=_1+-2|0,G=R1+2|0,V=F1+2|0,e0=j0+-2|0,K=g+(e0<<2)|0,W=+s[K>>2],r0=M1+1|0,s0=a+(r0<<2)|0,J=+s[s0>>2],o0=J*W,H=j0+-1|0,d0=g+(H<<2)|0,i0=+s[d0>>2],X=a+(T<<2)|0,u0=+s[X>>2],$0=u0*i0,l0=$0+o0,Z=u0*W,I0=i0*J,g0=Z-I0,f0=a+(G<<2)|0,n0=+s[f0>>2],h0=g0+n0,p0=$+(V<<2)|0,s[p0>>2]=h0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(N<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,K0=$+(_0<<2)|0,s[K0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=_1+-3|0,U0=$+(N0<<2)|0,s[U0>>2]=v0,O0=j0+2|0,k0=(O0|0)<(t|0),k0;)j0=O0,M1=T,_1=N,R1=G,F1=V;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(z0=t+-1|0,!!x)for(J0=h+z0|0,Q1=0,w1=t,L1=J0,b1=z0;Z0=a+(L1<<2)|0,P0=+s[Z0>>2],H0=-P0,s1=$+(w1<<2)|0,s[s1>>2]=H0,Y0=a+(b1<<2)|0,i1=e[Y0>>2]|0,x0=w1+-1|0,o1=$+(x0<<2)|0,e[o1>>2]=i1,h1=w1+m|0,u1=L1+t|0,f1=b1+t|0,d1=Q1+1|0,g1=(d1|0)==(o|0),!g1;)Q1=d1,w1=h1,L1=u1,b1=f1}}function RQ(t,o,a,$,g,h,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+rA(+v),H8=+Hn(+v),C2=o+1|0,k3=C2>>1,J9=t+-1|0,Je=J9>>1,P9=o5(a,t)|0,S9=o5(o,t)|0,pe=(t|0)==1;e:do if(!pe){if(_8=($|0)>0,_8)for(_4=0;h0=m+(_4<<2)|0,K0=e[h0>>2]|0,G0=E+(_4<<2)|0,e[G0>>2]=K0,o1=_4+1|0,Bt=(o1|0)==($|0),!Bt;)_4=o1;if(V=(o|0)>1,V)for(i0=(a|0)>0,wt=1,K8=0;;){if(E1=K8+P9|0,i0)for(l8=0,ae=E1;_1=h+(ae<<2)|0,H1=e[_1>>2]|0,a2=I+(ae<<2)|0,e[a2>>2]=H1,t2=ae+t|0,V2=l8+1|0,oe=(V2|0)==(a|0),!oe;)l8=V2,ae=t2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,K8=E1}if(Q5=0-t|0,T1=(Je|0)>(a|0),T1){if(V)for(q3=(a|0)>0,z5=(t|0)>2,E3=Q5,Z9=1,F8=0;;){if(_3=F8+P9|0,L6=E3+t|0,q3)for(n6=_3-t|0,A3=L6+-1|0,ut=0,N8=n6;;){if(G3=N8+t|0,z5)for(ct=2,C4=A3,Ci=G3;U3=C4+2|0,y6=Ci+2|0,v9=C4+1|0,o4=Q+(v9<<2)|0,Ye=+s[o4>>2],Ve=Ci+1|0,he=h+(Ve<<2)|0,Ue=+s[he>>2],Ce=Ue*Ye,v4=Q+(U3<<2)|0,W9=+s[v4>>2],k9=h+(y6<<2)|0,k4=+s[k9>>2],Y4=k4*W9,nt=Y4+Ce,V4=I+(Ve<<2)|0,s[V4>>2]=nt,ze=+s[o4>>2],s4=+s[k9>>2],R4=s4*ze,ot=+s[v4>>2],re=+s[he>>2],d4=re*ot,Be=R4-d4,N6=I+(y6<<2)|0,s[N6>>2]=Be,Ke=ct+2|0,fe=(Ke|0)<(t|0),fe;)ct=Ke,C4=U3,Ci=y6;if(Ne=ut+1|0,$t=(Ne|0)==(a|0),$t)break;ut=Ne,N8=G3}if(h4=Z9+1|0,Ct=(h4|0)==(o|0),Ct)break;E3=L6,Z9=h4,F8=_3}}else if(V)for(f5=(t|0)>2,h3=(a|0)>0,Z4=Q5,c4=1,Y8=0;;){if(ne=Z4+t|0,f4=Y8+P9|0,f5)for(I4=ne+-1|0,Qt=2,gt=I4,Ai=f4;;){if(Se=gt+2|0,a4=Ai+2|0,h3)for(Pe=gt+1|0,m4=Q+(Pe<<2)|0,f6=Q+(Se<<2)|0,dt=0,X8=a4;J4=+s[m4>>2],Ie=X8+-1|0,S4=h+(Ie<<2)|0,be=+s[S4>>2],me=be*J4,z6=+s[f6>>2],F4=h+(X8<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+me,mt=I+(Ie<<2)|0,s[mt>>2]=xe,W3=+s[m4>>2],x9=+s[F4>>2],b9=x9*W3,Oe=+s[f6>>2],A4=+s[S4>>2],h8=A4*Oe,N4=b9-h8,f8=I+(X8<<2)|0,s[f8>>2]=N4,e8=X8+t|0,I8=dt+1|0,Rt=(I8|0)==(a|0),!Rt;)dt=I8,X8=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=Se,Ai=a4;else break}if(Pt=c4+1|0,p4=(Pt|0)==(o|0),p4)break;Z4=ne,c4=Pt,Y8=f4}if(Ot=o5(P9,o)|0,qt=(Je|0)<(a|0),t8=(k3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,x8=(t|0)>2,j4=1,ht=0,qi=Ot;;){if(y0=ht+P9|0,w0=qi-P9|0,i8)for(je=0,$i=y0,li=w0;;){if(x8)for(D4=2,ei=$i,ki=li;B0=ei+2|0,_0=ki+2|0,M0=ei+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=ki+1|0,U0=I+(N0<<2)|0,O0=+s[U0>>2],k0=O0+T0,V0=h+(M0<<2)|0,s[V0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],z0=I+(_0<<2)|0,J0=+s[z0>>2],q0=L0-J0,Z0=h+(N0<<2)|0,s[Z0>>2]=q0,P0=+s[F0>>2],H0=+s[z0>>2],s1=H0+P0,Y0=h+(B0<<2)|0,s[Y0>>2]=s1,i1=+s[U0>>2],x0=+s[v0>>2],h1=i1-x0,u1=h+(_0<<2)|0,s[u1>>2]=h1,m1=D4+2|0,f1=(m1|0)<(t|0),f1;)D4=m1,ei=B0,ki=_0;if(d1=$i+t|0,A1=li+t|0,g1=je+1|0,We=(g1|0)==(a|0),We)break;je=g1,$i=d1,li=A1}if(a1=j4+1|0,U4=(a1|0)==(k3|0),U4)break e;j4=a1,ht=y0,qi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,T9=1,W8=0,Oi=Ot;;){if(x=W8+P9|0,M=Oi-P9|0,D)for(E4=2,Bi=x,wi=M;;){if(L=Bi+2|0,R=wi+2|0,y)for(F=R-t|0,T=L-t|0,Ft=0,Wi=T,h7=F;N=Wi+t|0,G=h7+t|0,e0=N+-1|0,K=I+(e0<<2)|0,a0=+s[K>>2],W=G+-1|0,r0=I+(W<<2)|0,s0=+s[r0>>2],J=s0+a0,o0=h+(e0<<2)|0,s[o0>>2]=J,H=I+(N<<2)|0,d0=+s[H>>2],X=I+(G<<2)|0,u0=+s[X>>2],c0=d0-u0,$0=h+(W<<2)|0,s[$0>>2]=c0,l0=+s[H>>2],Z=+s[X>>2],I0=Z+l0,g0=h+(N<<2)|0,s[g0>>2]=I0,f0=+s[r0>>2],n0=+s[K>>2],p0=f0-n0,C0=h+(G<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Wi=N,h7=G;if(Q0=E4+2|0,b0=(Q0|0)<(t|0),b0)E4=Q0,Bi=L,wi=R;else break}if(E0=T9+1|0,At=(E0|0)==(k3|0),At)break;T9=E0,W8=x,Oi=M}}while(!1);if(w=($|0)>0,w)for(De=0;$1=E+(De<<2)|0,j0=e[$1>>2]|0,I1=m+(De<<2)|0,e[I1>>2]=j0,Q1=De+1|0,Kt=(Q1|0)==($|0),!Kt;)De=Q1;if(p1=o5($,o)|0,B1=(k3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Hi=p1;;){if(v1=Nt+P9|0,k1=Hi-P9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,c7=M1,u7=L1;b1=c7+t|0,R1=u7+t|0,F1=I+(b1<<2)|0,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],Z1=P1+U1,G1=h+(b1<<2)|0,s[G1>>2]=Z1,x1=+s[D1>>2],z1=+s[F1>>2],q1=x1-z1,Y1=h+(R1<<2)|0,s[Y1>>2]=q1,V1=c8+1|0,$4=(V1|0)==(a|0),!$4;)c8=V1,c7=b1,u7=R1;if(X1=Wt+1|0,s8=(X1|0)==(k3|0),s8)break;Wt=X1,Nt=v1,Hi=k1}if(n2=o+-1|0,j1=o5(n2,$)|0,B1){for(O1=(k3|0)>2,Ht=0,Vt=1,et=1,T8=0,pi=p1;;){if(g2=T8+$|0,W1=pi-$|0,h2=Vt*pt,s2=Ht*H8,K1=h2-s2,d2=Ht*pt,l2=Vt*H8,i2=l2+d2,w)for(yt=0,Vi=g2,gi=W1,ji=j1,ii=$;c2=m+(yt<<2)|0,r2=+s[c2>>2],A2=ii+1|0,e2=m+(ii<<2)|0,o2=+s[e2>>2],m2=o2*K1,k2=m2+r2,D2=Vi+1|0,S2=E+(Vi<<2)|0,s[S2>>2]=k2,Q2=ji+1|0,N2=m+(ji<<2)|0,L2=+s[N2>>2],U2=L2*i2,p2=gi+1|0,W2=E+(gi<<2)|0,s[W2>>2]=U2,P2=yt+1|0,E8=(P2|0)==($|0),!E8;)yt=P2,Vi=D2,gi=p2,ji=Q2,ii=A2;if(O1)for(Yt=i2,_t=K1,C8=2,Ji=$,V8=j1;;){if(G2=Ji+$|0,q2=V8-$|0,Z2=_t*K1,A5=Yt*i2,H2=Z2-A5,N1=Yt*K1,t5=_t*i2,T5=t5+N1,w)for(a8=0,Si=g2,_i=W1,xi=G2,G8=q2;i5=xi+1|0,x5=m+(xi<<2)|0,I5=+s[x5>>2],b5=I5*H2,Y5=Si+1|0,g5=E+(Si<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,s5=G8+1|0,R2=m+(G8<<2)|0,M2=+s[R2>>2],y2=M2*T5,N5=_i+1|0,m5=E+(_i<<2)|0,L5=+s[m5>>2],q5=L5+y2,s[m5>>2]=q5,M5=a8+1|0,L8=(M5|0)==($|0),!L8;)a8=M5,Si=Y5,_i=N5,xi=i5,G8=s5;if(Y2=C8+1|0,o8=(Y2|0)==(k3|0),o8)break;Yt=T5,_t=H2,C8=Y2,Ji=G2,V8=q2}if(p5=et+1|0,M8=(p5|0)==(k3|0),M8)break;Ht=i2,Vt=K1,et=p5,T8=g2,pi=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(Ze=0,Z8=$5;u5=Z8+1|0,y5=m+(Z8<<2)|0,D5=+s[y5>>2],d5=E+(Ze<<2)|0,l5=+s[d5>>2],X2=l5+D5,s[d5>>2]=X2,u2=Ze+1|0,p8=(u2|0)==($|0),!p8;)Ze=u2,Z8=u5;if(w5=A8+1|0,b4=(w5|0)==(k3|0),b4)break;A8=w5,Xt=$5}}}if(r5=(t|0)<(a|0),r5){if(z2=(t|0)>0,z2)for(n5=(a|0)>0,W4=0;;){if(n5)for(X4=0,B4=W4,j8=W4;K5=I+(B4<<2)|0,r3=e[K5>>2]|0,a3=g+(j8<<2)|0,e[a3>>2]=r3,B3=B4+t|0,G5=j8+S9|0,W5=X4+1|0,G4=(W5|0)==(a|0),!G4;)X4=W5,B4=B3,j8=G5;if(D3=W4+1|0,at=(D3|0)==(t|0),at)break;W4=D3}}else if(a5=(a|0)>0,a5)for(h5=(t|0)>0,Tt=0,O4=0,Ei=0;;){if(h5)for(K4=0,Yi=O4,zi=Ei;R5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,F2=zi+1|0,v5=g+(zi<<2)|0,e[v5>>2]=c5,J5=K4+1|0,Lt=(J5|0)==(t|0),!Lt;)K4=J5,Yi=R5,zi=F2;if(i3=O4+t|0,E5=Ei+S9|0,I3=Tt+1|0,L9=(I3|0)==(a|0),L9)break;Tt=I3,O4=i3,Ei=E5}if(f3=t<<1,y3=o5(P9,o)|0,B1)for(X3=(a|0)>0,$8=1,R8=0,Qi=0,Ki=y3;;){if(X5=R8+f3|0,b3=Qi+P9|0,t3=Ki-P9|0,X3)for(D9=0,ti=X5,bi=b3,e7=t3;s6=I+(bi<<2)|0,T3=e[s6>>2]|0,H3=ti+-1|0,c3=g+(H3<<2)|0,e[c3>>2]=T3,g3=I+(e7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ti<<2)|0,e[Q3>>2]=u3,H5=ti+S9|0,V5=bi+t|0,S5=e7+t|0,Y3=D9+1|0,Et=(Y3|0)==(a|0),!Et;)D9=Y3,ti=H5,bi=V5,e7=S5;if(U5=$8+1|0,z4=(U5|0)==(k3|0),z4)break;$8=U5,R8=X5,Qi=b3,Ki=t3}if(!pe){if($6=(Je|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,yi=0,ci=0,d7=y3;;){if(E6=u8+f3|0,S3=yi+f3|0,a6=ci+P9|0,i6=d7-P9|0,!xt)for(g8=0,Xi=E6,ui=S3,x4=a6,di=i6;;){for(se=2;d6=t-se|0,m3=se+x4|0,M6=m3+-1|0,R6=I+(M6<<2)|0,S6=+s[R6>>2],r6=se+di|0,h6=r6+-1|0,b6=I+(h6<<2)|0,G6=+s[b6>>2],X6=G6+S6,v6=se+ui|0,L3=v6+-1|0,o6=g+(L3<<2)|0,s[o6>>2]=X6,C6=+s[R6>>2],z3=+s[b6>>2],M3=C6-z3,K3=d6+Xi|0,e6=K3+-1|0,F6=g+(e6<<2)|0,s[F6>>2]=M3,l6=I+(m3<<2)|0,o3=+s[l6>>2],K6=I+(r6<<2)|0,c6=+s[K6>>2],B6=c6+o3,R3=g+(v6<<2)|0,s[R3>>2]=B6,Y6=+s[K6>>2],A6=+s[l6>>2],D6=Y6-A6,U6=g+(K3<<2)|0,s[U6>>2]=D6,t9=se+2|0,Q6=(t9|0)<(t|0),Q6;)se=t9;if(V3=Xi+S9|0,Z5=ui+S9|0,x3=x4+t|0,d3=di+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,Xi=V3,ui=Z5,x4=x3,di=d3}if(e9=Zt+1|0,n8=(e9|0)==(k3|0),n8)break;Zt=e9,u8=E6,yi=S3,ci=a6,d7=i6}return}if(B1)for(l3=(t|0)>2,N3=(a|0)>0,l4=1,g4=n3,g7=0,vi=0,Zi=y3;;){if(n9=g4+f3|0,V6=g7+f3|0,s9=vi+P9|0,c9=Zi-P9|0,l3&&(P6=n9+t|0,N3))for(P4=2;;){for(Fe=P4+c9|0,Te=P4+s9|0,Ge=P4+V6|0,He=P6-P4|0,jt=0,Di=He,J8=Ge,Li=Te,l9=Fe;i9=Li+-1|0,_6=I+(i9<<2)|0,O6=+s[_6>>2],q6=l9+-1|0,a9=I+(q6<<2)|0,d9=+s[a9>>2],o9=d9+O6,B9=J8+-1|0,Q9=g+(B9<<2)|0,s[Q9>>2]=o9,y9=+s[_6>>2],h9=+s[a9>>2],f9=y9-h9,H9=Di+-1|0,H6=g+(H9<<2)|0,s[H6>>2]=f9,A9=I+(Li<<2)|0,Y9=+s[A9>>2],w9=I+(l9<<2)|0,we=+s[w9>>2],ue=we+Y9,Ee=g+(J8<<2)|0,s[Ee>>2]=ue,V9=+s[w9>>2],ie=+s[A9>>2],F9=V9-ie,W6=g+(Di<<2)|0,s[W6>>2]=F9,$9=Di+S9|0,ve=J8+S9|0,Re=Li+t|0,de=l9+t|0,_9=jt+1|0,Jt=(_9|0)==(a|0),!Jt;)jt=_9,Di=$9,J8=ve,Li=Re,l9=de;if(J6=P4+2|0,T6=(J6|0)<(t|0),T6)P4=J6;else break}if(ke=l4+1|0,zt=(ke|0)==(k3|0),zt)break;l4=ke,g4=n9,g7=V6,vi=s9,Zi=c9}}}function Wb(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,ds=0,Kn=0,hs=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,or=0,Ts=0,$o=0,dn=0,lo=0,hn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,sr=0,br=0,W7=0,Dr=0,Io=0,Z7=0,S7=0,b7=0,t7=0,D7=0,_r=0,ar=0,Ar=0,xr=0,p7=0,Ps=0,hi=0,sl=0,In=0,mn=0,Ou=0,al=0,Os=0,qu=0,sA=0,Al=0,Hu=0,Yu=0,Vu=0,aA=0,$l=0,ll=0,AA=0,pn=0,cl=0,Ju=0,qs=0,$r=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,gl=0,Lr=0,nd=0,od=0,ul=0,sd=0,$A=0,Hs=0,lA=0,ad=0,Ad=0,cA=0,dl=0,hl=0,fl=0,gA=0,Il=0,Ys=0,$d=0,ld=0,ml=0,cd=0,gd=0,pl=0,ud=0,dd=0,El=0,Cl=0,Bl=0,Ql=0,yl=0,En=0,hd=0,wl=0,fd=0,vl=0,kl=0,Id=0,md=0,pd=0,uA=0,Sl=0,bl=0,mo=0,Dl=0,dA=0,Ed=0,_l=0,Cd=0,xl=0,Bd=0,Qd=0,Ll=0,Ml=0,yd=0,Vs=0,wd=0,hA=0,Rl=0,Fl=0,vd=0,kd=0,Sd=0,bd=0,Dd=0,_d=0,Js=0,Tl=0,Nl=0,Gl=0,zs=0,xd=0,Ul=0,Ld=0,Pl=0,Md=0,Rd=0,Ol=0,fA=0,Fd=0,Td=0,Ks=0,Nd=0,Ws=0,Gd=0,IA=0,Ud=0,Pd=0,Od=0,ql=0,qd=0,Hd=0,Yd=0,Vd=0,Hl=0,Yl=0,lr=0,Vl=0,Zs=0,mA=0,pA=0,Cn=0,Jl=0,Bn=0,Jd=0,zl=0,zd=0,Kd=0,Wd=0,Zd=0,js=0,EA=0,Mr=0,jd=0,Xd=0,Kl=0,CA=0,Wl=0,Zl=0,eh=0,jl=0,th=0,BA=0,ih=0,rh=0,z9=0,nh=0,Xl=0,oh=0,sh=0,QA=0,ah=0,yA=0,ec=0,Ah=0,$h=0,tc=0,ic=0,lh=0,wA=0,vA=0,rc=0,nc=0,ch=0,oc=0,kA=0,gh=0,sc=0,uh=0,dh=0,hh=0,fh=0,ac=0,Ac=0,SA=0,Xs=0,$c=0,Ih=0,lc=0,cc=0,mh=0,ph=0,Eh=0,gc=0,Ch=0,Bh=0,Qh=0,yh=0,wh=0,vh=0,uc=0,kh=0,dc=0,Sh=0,Qn=0,bh=0,hc=0,Dh=0,po=0,fc=0,bA=0,_h=0,ea=0,DA=0,xh=0,_A=0,Ic=0,Lh=0,Mh=0,Rh=0,Fh=0,Th=0,mc=0,Nh=0,Gh=0,Uh=0,ta=0,Eo=0,xA=0,Ph=0,LA=0,Oh=0,qh=0,Hh=0,pc=0,Yh=0,Vh=0,Jh=0,zh=0,Kh=0,ia=0,Wh=0,Zh=0,Ec=0,jh=0,Xh=0,ef=0,tf=0,E7=0,Cc=0,C7=0,Bc=0,MA=0,rf=0,i7=0,Co=0,nf=0,of=0,sf=0,af=0,Af=0,Qc=0,$f=0,lf=0,yc=0,cf=0,gf=0,Bo=0,RA=0,uf=0,wc=0,df=0,hf=0,ra=0,ff=0,If=0,vc=0,kc=0,mf=0,pf=0,yn=0,Ef=0,Cf=0,wn=0,Bf=0,Sc=0,Qf=0,yf=0,Qo=0,bc=0,wf=0,Dc=0,vf=0,cr=0,FA=0,kf=0,_c=0,xc=0,Sf=0,bf=0,Lc=0,Df=0,_f=0,xf=0,Mc=0,Lf=0,yo=0,Mf=0,vn=0,Rf=0,Ff=0,TA=0,Tf=0,NA=0,GA=0,Nf=0,Rc=0,Fc=0,Gf=0,Tc=0,Nc=0,Gc=0,Uf=0,Uc=0,Pc=0,Pf=0,Of=0,Oc=0,qc=0,qf=0,Hc=0,Yc=0,Hf=0,Yf=0,Vc=0,UA=0,Jc=0,zc=0,Kc=0,Wc=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Zc=0,PA=0,eI=0,tI=0,iI=0,jc=0,Xc=0,rI=0,eg=0,OA=0,na=0,tg=0,nI=0,oI=0,sI=0,aI=0,ig=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,dI=0,hI=0,rg=0,fI=0,II=0,mI=0,pI=0,sa=0,ng=0,EI=0,CI=0,kn=0,og=0,sg=0,qA=0,BI=0,ag=0,QI=0,Ag=0,$g=0,yI=0,wI=0,vI=0,kI=0,SI=0,aa=0,HA=0,bI=0,DI=0,_I=0,xI=0,lg=0,LI=0,cg=0,MI=0,RI=0,gg=0,Rr=0,ug=0,dg=0,FI=0,hg=0,Aa=0,TI=0,NI=0,GI=0,$a=0,fg=0,UI=0,PI=0,Ig=0,OI=0,qI=0,YA=0,la=0,HI=0,YI=0,VI=0,mg=0,pg=0,Eg=0,JI=0,zI=0,wo=0,KI=0,Cg=0,WI=0,VA=0,Bg=0,ZI=0,jI=0,XI=0,em=0,Qg=0,tm=0,im=0,yg=0,ca=0,rm=0,nm=0,om=0,vo=0,wg=0,vg=0,sm=0,kg=0,Sg=0,_7=0,bg=0,gr=0,am=0,Am=0,$m=0,lm=0,JA=0,ga=0,Dg=0,_g=0,cm=0,ua=0,ko=0,gm=0,da=0,zA=0,um=0,KA=0,dm=0,hm=0,xg=0,ha=0,Lg=0,fm=0,Im=0,mm=0,pm=0,Mg=0,Em=0,ri=0,_e=0,r7=0,Cm=0,Rg=0,Fg=0,WA=0,Bm=0,Fr=0,So=0,Qm=0,ym=0,Tg=0,ZA=0,wm=0,Ng=0,Gg=0,Ug=0,jA=0,XA=0,Pg=0,bo=0,e$=0,Og=0,vm=0,Sn=0,km=0,qg=0,fa=0,Sm=0,Hg=0,x7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,L7=0,Rm=0,Fm=0,Tm=0,Yg=0,B7=0,Ia=0,t$=0,Vg=0,Jg=0,Nm=0,zg=0,Kg=0,Gm=0,Um=0,Wg=0,Zg=0,Pm=0,Om=0,jg=0,qm=0,Do=0,ma=0,pa=0,Hm=0,i$=0,Ym=0,Vm=0,Xg=0,_o=0,Jm=0,zm=0,r$=0,n$=0,Ea=0,o$=0,s$=0,ur=0,Tr=0,Nr=0,a$=0,A$=0,xo=0,dr=0,bn=0,Km=0,hr=0,Dn=0,Wm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,eu=0,tu=0,Qa=0,$$=0,Ti=0,ya=0,Gr=0,l$=0,Zm=0,c$=0,jm=0,g$=0,iu=0,wa=0,Xm=0,ep=0,va=0,tp=0,ka=0,_n=0,tt=0,Le=0,ru=0,ip=0,u$=0,nu=0,rp=0,np=0,Sa=0,op=0,sp=0,ap=0,Ap=0,ou=0,$p=0,lp=0,cp=0,n7=0,ba=0,xn=0,d$=0,Lo=0,Mo=0,ni=0,Ro=0,su=0,au=0,Da=0,Fo=0,To=0,No=0,gp=0,Go=0,fr=0,Au=0,Ur=0,o7=0,h$=0,f$=0,j7=0,I$=0,m$=0,p$=0,Pr=0,g6=0,_a=0,Or=0,$u=0,L4=0,E$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,Xe=0,C$=0,LC=0,up=0,gE=0,uE=0,MC=0,dp=0,VQ=0,JQ=0,zQ=0,KQ=0,WQ=0,ZQ=0,jQ=0,XQ=0,ey=0,ty=0,iy=0,ry=0,RC=0,FC=0,ny=0,oy=0,sy=0,lu=0,dE=0,Q7=0,cu=0,gu=0,uu=0,du=0,hp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,Bp=0,Qp=0,yp=0,hE=0,xa=0,Ir=0,B$=0,hu=0,Q$=0,TC=0,La=0,wp=0,y$=0,fE=0,IE=0,vp=0,mE=0,pE=0,EE=0,CE=0,BE=0,QE=0,yE=0,NC=0,GC=0,UC=0,PC=0,OC=0,Ma=0,Ra=0,Fa=0,Ta=0,ay=0,mr=0,Ae=0,wD=0,Na=0,wE=0;if(wD=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(gi=n0+3456|0,Io=e[gi>>2]|0,Tl=(Io|0)==0,o=Tl&1,po=n0+3496|0,Tc=+l1[po>>3],mg=Tc>-80,mg?l1[po>>3]=-80:(Um=Tc<-200,Um&&(l1[po>>3]=-200)),h0=n0+3512|0,j2=+l1[h0>>3],A3=j2>0,A3?l1[h0>>3]=0:(ke=j2<-99999,ke&&(l1[h0>>3]=-99999)),Y4=n0+3396|0,N6=e[Y4>>2]|0,Pe=(N6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=N6+24|0,M8=e[Et>>2]|0,p4=N6+28|0,P4=e[p4>>2]|0,l4=~~i8,jt=M8+(l4<<2)|0,H8=e[jt>>2]|0,Xt=P4+(l4<<2)|0,Ei=e[Xt>>2]|0,e[n0>>2]=H8,wi=n0+4|0,e[wi>>2]=Ei,V8=(H8|0)==(Ei|0),ii=N6+144|0,B8=e[ii>>2]|0,ls=(B8|0)>0,ls){for(fs=N6+136|0,Es=N6+140|0,no=N6+148|0,or=i8,Mr=n0,hE=0;;){if(Ds=~~or,ho=e[fs>>2]|0,Z7=e[Es>>2]|0,hi=e[no>>2]|0,Yu=hi+(hE<<2)|0,zu=e[Yu>>2]|0,Lr=ce(1,1120)|0,dl=zu+(Ds<<2)|0,pl=e[dl>>2]|0,fd=Z7+(pl*1120|0)|0,ge(Lr|0,fd|0,1120)|0,dA=e[Lr>>2]|0,wd=(dA|0)>0,wd){for(Nl=Lr+4|0,dE=0,yE=-1;;)if(kA=Nl+(dE<<2)|0,$c=e[kA>>2]|0,yh=($c|0)>(yE|0),a0=yh?$c:yE,fc=dE+1|0,iy=(fc|0)==(dA|0),iy){W=a0;break}else dE=fc,yE=a0;if(Fd=(W|0)<0,!Fd){for(qd=Lr+256|0,Cn=Mr+24|0,ih=Lr+192|0,Ah=Lr+320|0,Q$=0,EE=-1;;){if(xc=qd+(Q$<<2)|0,vn=e[xc>>2]|0,Nc=(vn|0)>(EE|0),e0=Nc?vn:EE,Yc=e[Cn>>2]|0,zf=Yc+vn|0,e[xc>>2]=zf,jc=ih+(Q$<<2)|0,ig=e[jc>>2]|0,fI=(ig|0)==31,fI)CE=e0;else for(_9=ig,mE=0,QE=e0;;)if(qA=(Ah+(Q$<<5)|0)+(mE<<2)|0,aa=e[qA>>2]|0,gg=(aa|0)>(QE|0),K=gg?aa:QE,fg=(aa|0)>-1,fg?(pg=e[Cn>>2]|0,jI=pg+aa|0,e[qA>>2]=jI,s0=e[jc>>2]|0,zA=s0):zA=_9,vo=mE+1|0,$m=1<>2]|0,rf=e[Zh>>2]|0,yc=e[Cn>>2]|0,If=yc+1|0,e[Cn>>2]=If,Qf=(Mr+1824|0)+(yc<<2)|0,e[Qf>>2]=rf,jQ=(BE|0)==0,!jQ))for(TC=0;XA=TC+1|0,i0=e[dl>>2]|0,Hg=ho+(i0<<2)|0,Tm=e[Hg>>2]|0,Wg=Tm+(XA<<2)|0,Ym=e[Wg>>2]|0,ur=e[Cn>>2]|0,Wm=ur+1|0,e[Cn>>2]=Wm,ya=(Mr+1824|0)+(ur<<2)|0,e[ya>>2]=Ym,ZQ=(XA|0)==(BE|0),!ZQ;)TC=XA}}if(va=Mr+16|0,np=e[va>>2]|0,ba=(Mr+800|0)+(np<<2)|0,e[ba>>2]=1,To=e[va>>2]|0,I$=(Mr+1056|0)+(To<<2)|0,e[I$>>2]=Lr,p0=e[va>>2]|0,M0=p0+1|0,e[va>>2]=M0,z0=hE+1|0,h1=e[ii>>2]|0,I1=(z0|0)<(h1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,or=r0,Mr=l0,hE=z0}I0=e[f0>>2]|0,X5=I0}else X5=n0;R1=n0+3520|0,Y1=+l1[R1>>3],a2=N6+124|0,t2=e[a2>>2]|0,V2=N6+128|0,I5=e[V2>>2]|0,N5=~~Y1,D5=+(N5|0),n5=Y1-D5,K5=X5+2868|0,H5=I5+(N5<<3)|0,_3=+l1[H5>>3],L6=~~_3,n6=t2+(L6*492|0)|0,ge(K5|0,n6|0,492)|0,c6=+l1[H5>>3],n9=1-n5,q6=c6*n9,H6=N5+1|0,W6=I5+(H6<<3)|0,Fe=+l1[W6>>3],Te=Fe*n5,Ge=Te+q6,He=~~Ge,o4=+(He|0),Ye=Ge-o4,J9=Ye==0,Ve=(He|0)>0,NC=Ve&J9,I=NC?1:Ye,he=NC<<31>>31,R=he+He|0,Ue=1-I,Ce=R+1|0,v4=(t2+(R*492|0)|0)+4|0,W9=+s[v4>>2],k9=W9,k4=Ue*k9,nt=(t2+(Ce*492|0)|0)+4|0,Je=+s[nt>>2],V4=Je,ze=I*V4,s4=k4+ze,R4=s4,ot=X5+2872|0,s[ot>>2]=R4,re=(t2+(R*492|0)|0)+32|0,d4=+s[re>>2],Be=d4,Ke=Ue*Be,P9=(t2+(Ce*492|0)|0)+32|0,fe=+s[P9>>2],Ne=fe,h4=I*Ne,ne=Ke+h4,f4=ne,I4=X5+2900|0,s[I4>>2]=f4,Se=(t2+(R*492|0)|0)+8|0,a4=+s[Se>>2],m4=a4,S9=Ue*m4,f6=(t2+(Ce*492|0)|0)+8|0,J4=+s[f6>>2],Ie=J4,S4=I*Ie,be=S9+S4,me=be,z6=X5+2876|0,s[z6>>2]=me,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],pe=st,xe=Ue*pe,mt=(t2+(Ce*492|0)|0)+36|0,W3=+s[mt>>2],x9=W3,b9=x9*I,Oe=b9+xe,A4=Oe,h8=X5+2904|0,s[h8>>2]=A4,f8=(t2+(R*492|0)|0)+12|0,_8=+s[f8>>2],e8=_8,I8=e8*Ue,m8=(t2+(Ce*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,x8=X5+2880|0,s[x8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Yt=+s[Ht>>2],Vt=Yt,_t=Vt*Ue,xt=(t2+(Ce*492|0)|0)+40|0,pt=+s[xt>>2],Jt=pt,zt=Jt*I,r8=zt+_t,z4=r8,G4=X5+2908|0,s[G4>>2]=z4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],L9=Lt,p8=L9*Ue,b4=(t2+(Ce*492|0)|0)+16|0,E8=+s[b4>>2],L8=E8,o8=L8*I,$4=o8+p8,s8=$4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],We=At,U4=We*Ue,$t=(t2+(Ce*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,oe=Rt*I,lt=oe+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,E4=+l1[Qt>>3],D4=E4,K4=X5+2936|0,s[K4>>2]=D4,W4=N6+132|0,se=e[W4>>2]|0,C4=n0+3472|0,gt=+l1[C4>>3],_4=gt,De=~~_4,yt=+(De|0),a8=_4-yt,Ze=a8,E3=e[f0>>2]|0,Z4=(se|0)==0;e:do if(Z4)wt=E3+4|0,Z9=e[E3>>2]|0,c4=E3+3240|0,e[c4>>2]=Z9,T9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=T9,Wt=E3+3244|0,e[Wt>>2]=Z9,C8=E3+3304|0,e[C8>>2]=T9,A8=E3+3248|0,e[A8>>2]=Z9,$8=E3+3308|0,e[$8>>2]=T9,Zt=E3+3252|0,e[Zt>>2]=Z9,l8=E3+3312|0,e[l8>>2]=T9,ut=E3+3256|0,e[ut>>2]=Z9,dt=E3+3316|0,e[dt>>2]=T9,Ft=E3+3260|0,e[Ft>>2]=Z9,je=E3+3320|0,e[je>>2]=T9,c8=E3+3264|0,e[c8>>2]=Z9,Tt=E3+3324|0,e[Tt>>2]=T9,X4=E3+3268|0,e[X4>>2]=Z9,D9=E3+3328|0,e[D9>>2]=T9,g8=E3+3272|0,e[g8>>2]=Z9,et=E3+3332|0,e[et>>2]=T9,K8=E3+3276|0,e[K8>>2]=Z9,R8=E3+3336|0,e[R8>>2]=T9,u8=E3+3280|0,e[u8>>2]=Z9,F8=E3+3340|0,e[F8>>2]=T9,g4=E3+3284|0,e[g4>>2]=Z9,Y8=E3+3344|0,e[Y8>>2]=T9,W8=E3+3288|0,e[W8>>2]=Z9,ht=E3+3348|0,e[ht>>2]=T9,Nt=E3+3292|0,e[Nt>>2]=Z9,T8=E3+3352|0,e[T8>>2]=T9,O4=E3+3296|0,e[O4>>2]=Z9,B4=E3+3356|0,e[B4>>2]=T9;else{ae=E3+3120|0,N8=se+(De*240|0)|0,mr=ae,Na=N8,wE=mr+60|0;do e[mr>>2]=e[Na>>2]|0,mr=mr+4|0,Na=Na+4|0;while((mr|0)<(wE|0));Ai=E3+3180|0,Oi=(se+(De*240|0)|0)+60|0,mr=Ai,Na=Oi,wE=mr+60|0;do e[mr>>2]=e[Na>>2]|0,mr=mr+4|0,Na=Na+4|0;while((mr|0)<(wE|0));if(qi=n0+3420|0,Hi=e[qi>>2]|0,pi=(Hi|0)==0,!pi)for(Z8=1-Ze,j8=De+1|0,Ci=t+8|0,X8=E3+4|0,o0=e[Ci>>2]|0,Bi=+(o0|0),Ir=0;;){if($i=((se+(De*240|0)|0)+120|0)+(Ir<<2)|0,c7=+s[$i>>2],Yi=c7,Qi=Yi*Z8,yi=((se+(j8*240|0)|0)+120|0)+(Ir<<2)|0,g7=+s[yi>>2],li=g7,u7=li*Ze,Vi=u7+Qi,Ji=Vi,zi=Ji,Ki=zi*1e3,ci=Ki/Bi,vi=e[E3>>2]|0,Wi=+(vi|0),ei=Wi*ci,ti=~~ei,d7=(E3+3e3|0)+(Ir<<2)|0,e[d7>>2]=ti,Zi=e[X8>>2]|0,h7=+(Zi|0),ki=h7*ci,ji=~~ki,Si=(E3+3060|0)+(Ir<<2)|0,e[Si>>2]=ji,bi=~~Ji,Xi=(E3+2940|0)+(Ir<<2)|0,e[Xi>>2]=bi,Di=((se+(De*240|0)|0)+180|0)+(Ir<<2)|0,_i=+s[Di>>2],e7=_i,ui=e7*Z8,J8=((se+(j8*240|0)|0)+180|0)+(Ir<<2)|0,xi=+s[J8>>2],x4=xi,Li=x4*Ze,G8=Li+ui,di=G8,l9=di,vt=l9*1e3,Q8=vt/Bi,U8=e[E3>>2]|0,nn=+(U8|0),yr=nn*Q8,as=~~yr,Vn=(E3+3240|0)+(Ir<<2)|0,e[Vn>>2]=as,As=e[X8>>2]|0,Jn=+(As|0),$s=Jn*Q8,zn=~~$s,cs=(E3+3300|0)+(Ir<<2)|0,e[cs>>2]=zn,on=Ir+1|0,ey=(on|0)==15,ey)break e;Ir=on}for(gs=(se+(De*240|0)|0)+148|0,us=+s[gs>>2],ds=us,Kn=1-Ze,hs=ds*Kn,Wn=De+1|0,Zn=(se+(Wn*240|0)|0)+148|0,sn=+s[Zn>>2],jn=sn,an=jn*Ze,Xn=an+hs,eo=Xn,Is=eo,ms=Is*1e3,ps=t+8|0,An=E3+4|0,to=~~eo,d0=e[ps>>2]|0,wr=+(d0|0),$n=ms/wr,hu=0;Cs=e[E3>>2]|0,Bs=+(Cs|0),ln=Bs*$n,f7=~~ln,io=(E3+3e3|0)+(hu<<2)|0,e[io>>2]=f7,Qs=e[An>>2]|0,ys=+(Qs|0),ro=ys*$n,oo=~~ro,ws=(E3+3060|0)+(hu<<2)|0,e[ws>>2]=oo,I7=(E3+2940|0)+(hu<<2)|0,e[I7>>2]=to,cn=hu+1|0,ry=(cn|0)==15,!ry;)hu=cn;for(vs=(se+(De*240|0)|0)+208|0,so=+s[vs>>2],ks=so,Ss=ks*Kn,bs=(se+(Wn*240|0)|0)+208|0,ao=+s[bs>>2],_s=ao,xs=_s*Ze,Ls=xs+Ss,Ao=Ls,Ms=Ao,Rs=Ms*1e3,gn=Rs/wr,wp=0;vr=e[E3>>2]|0,un=+(vr|0),Fs=un*gn,Ts=~~Fs,$o=(E3+3240|0)+(wp<<2)|0,e[$o>>2]=Ts,dn=e[An>>2]|0,lo=+(dn|0),hn=lo*gn,Ns=~~hn,co=(E3+3300|0)+(wp<<2)|0,e[co>>2]=Ns,go=wp+1|0,XQ=(go|0)==15,!XQ;)wp=go}while(!1);for(Gs=+l1[N4>>3],uo=N6+92|0,Us=e[uo>>2]|0,kr=N6+100|0,fo=e[kr>>2]|0,m7=N6+108|0,fn=e[m7>>2]|0,Sr=e[f0>>2]|0,sr=Sr+2852|0,br=e[sr>>2]|0,W7=~~Gs,Dr=Sr+28|0,S7=e[Dr>>2]|0,b7=(S7|0)>0,b7||(e[Dr>>2]=1),t7=(br|0)==0,t7?(D7=ce(1,520)|0,e[sr>>2]=D7,Ma=D7):Ma=br,ge(Ma|0,25784,520)|0,e[Ma>>2]=0,_r=Sr+3460|0,ar=e[_r>>2]|0,Ar=(ar|0)==0,Ar||(xr=Ma+500|0,e[xr>>2]=1,p7=Us+(W7<<2)|0,Ps=e[p7>>2]|0,sl=Ma+504|0,e[sl>>2]=Ps,In=fo+(W7<<2)|0,mn=e[In>>2]|0,Ou=Ma+508|0,e[Ou>>2]=mn,al=fn+(W7<<3)|0,Os=+l1[al>>3],qu=Ma+512|0,l1[qu>>3]=Os),sA=+l1[N4>>3],Al=e[uo>>2]|0,Hu=e[kr>>2]|0,Vu=e[m7>>2]|0,aA=e[f0>>2]|0,$l=aA+2856|0,ll=e[$l>>2]|0,AA=~~sA,pn=aA+28|0,cl=e[pn>>2]|0,Ju=(cl|0)>1,Ju||(e[pn>>2]=2),qs=(ll|0)==0,qs?($r=ce(1,520)|0,e[$l>>2]=$r,Ra=$r):Ra=ll,ge(Ra|0,25784,520)|0,e[Ra>>2]=0,Ku=aA+3460|0,Wu=e[Ku>>2]|0,Zu=(Wu|0)==0,Zu||(ju=Ra+500|0,e[ju>>2]=1,Xu=Al+(AA<<2)|0,ed=e[Xu>>2]|0,td=Ra+504|0,e[td>>2]=ed,id=Hu+(AA<<2)|0,rd=e[id>>2]|0,gl=Ra+508|0,e[gl>>2]=rd,nd=Vu+(AA<<3)|0,od=+l1[nd>>3],ul=Ra+512|0,l1[ul>>3]=od),V8||(sd=+l1[N4>>3],$A=N6+96|0,Hs=e[$A>>2]|0,lA=N6+104|0,ad=e[lA>>2]|0,Ad=e[m7>>2]|0,cA=e[f0>>2]|0,hl=cA+2860|0,fl=e[hl>>2]|0,gA=~~sd,Il=cA+28|0,Ys=e[Il>>2]|0,$d=(Ys|0)>2,$d||(e[Il>>2]=3),ld=(fl|0)==0,ld?(ml=ce(1,520)|0,e[hl>>2]=ml,Fa=ml):Fa=fl,ge(Fa|0,25784,520)|0,e[Fa>>2]=1,cd=cA+3460|0,gd=e[cd>>2]|0,ud=(gd|0)==0,ud||(dd=Fa+500|0,e[dd>>2]=1,El=Hs+(gA<<2)|0,Cl=e[El>>2]|0,Bl=Fa+504|0,e[Bl>>2]=Cl,Ql=ad+(gA<<2)|0,yl=e[Ql>>2]|0,En=Fa+508|0,e[En>>2]=yl,hd=Ad+(gA<<3)|0,wl=+l1[hd>>3],vl=Fa+512|0,l1[vl>>3]=wl),kl=+l1[N4>>3],Id=e[$A>>2]|0,md=e[lA>>2]|0,pd=e[m7>>2]|0,uA=e[f0>>2]|0,Sl=uA+2864|0,bl=e[Sl>>2]|0,mo=~~kl,Dl=uA+28|0,Ed=e[Dl>>2]|0,_l=(Ed|0)>3,_l||(e[Dl>>2]=4),Cd=(bl|0)==0,Cd?(xl=ce(1,520)|0,e[Sl>>2]=xl,Ta=xl):Ta=bl,ge(Ta|0,25784,520)|0,e[Ta>>2]=1,Bd=uA+3460|0,Qd=e[Bd>>2]|0,Ll=(Qd|0)==0,Ll||(Ml=Ta+500|0,e[Ml>>2]=1,yd=Id+(mo<<2)|0,Vs=e[yd>>2]|0,hA=Ta+504|0,e[hA>>2]=Vs,Rl=md+(mo<<2)|0,Fl=e[Rl>>2]|0,vd=Ta+508|0,e[vd>>2]=Fl,kd=pd+(mo<<3)|0,Sd=+l1[kd>>3],bd=Ta+512|0,l1[bd>>3]=Sd)),Dd=(n0+3528|0)+(o<<5)|0,_d=+l1[Dd>>3],Js=N6+32|0,Gl=e[Js>>2]|0,zs=N6+36|0,xd=e[zs>>2]|0,Ul=N6+44|0,Ld=e[Ul>>2]|0,aE(t,_d,0,Gl,xd,Ld),Pl=n0+3560|0,Md=+l1[Pl>>3],Rd=e[Js>>2]|0,Ol=e[zs>>2]|0,fA=N6+52|0,Td=e[fA>>2]|0,aE(t,Md,1,Rd,Ol,Td),V8||(Ks=n0+3592|0,Nd=+l1[Ks>>3],Ws=e[Js>>2]|0,Gd=e[zs>>2]|0,IA=e[fA>>2]|0,aE(t,Nd,2,Ws,Gd,IA),Ud=n0+3624|0,Pd=+l1[Ud>>3],Od=e[Js>>2]|0,ql=e[zs>>2]|0,Hd=N6+48|0,Yd=e[Hd>>2]|0,aE(t,Pd,3,Od,ql,Yd)),Vd=((n0+3528|0)+(o<<5)|0)+24|0,Hl=+l1[Vd>>3],Yl=N6+80|0,lr=e[Yl>>2]|0,Vl=N6+84|0,Zs=e[Vl>>2]|0,mA=~~Hl,pA=+(mA|0),Jl=Hl-pA,Bn=e[f0>>2]|0,Jd=Bn+2852|0,zl=e[Jd>>2]|0,zd=Zs+(mA<<3)|0,Kd=+l1[zd>>3],Wd=1-Jl,Zd=Kd*Wd,js=mA+1|0,EA=Zs+(js<<3)|0,jd=+l1[EA>>3],Xd=jd*Jl,Kl=Xd+Zd,CA=~~Kl,Wl=+(CA|0),Zl=Kl-Wl,eh=Zl==0,jl=(CA|0)>0,GC=jl&eh,$=GC?1:Zl,th=GC<<31>>31,F=th+CA|0,BA=1-$,rh=F+1|0,cu=0;z9=(lr+(F*160|0)|0)+(cu<<2)|0,nh=e[z9>>2]|0,Xl=+(nh|0),oh=Xl*BA,sh=(lr+(rh*160|0)|0)+(cu<<2)|0,QA=e[sh>>2]|0,ah=+(QA|0),yA=ah*$,ec=yA+oh,$h=ec,tc=(zl+336|0)+(cu<<2)|0,s[tc>>2]=$h,ic=cu+1|0,JQ=(ic|0)==40,!JQ;)cu=ic;for(lh=n0+3584|0,wA=+l1[lh>>3],vA=~~wA,rc=+(vA|0),nc=wA-rc,ch=Bn+2856|0,oc=e[ch>>2]|0,gh=Zs+(vA<<3)|0,sc=+l1[gh>>3],uh=1-nc,dh=sc*uh,hh=vA+1|0,fh=Zs+(hh<<3)|0,ac=+l1[fh>>3],Ac=ac*nc,SA=Ac+dh,Xs=~~SA,Ih=+(Xs|0),lc=SA-Ih,cc=lc==0,mh=(Xs|0)>0,UC=mh&cc,g=UC?1:lc,ph=UC<<31>>31,T=ph+Xs|0,Eh=1-g,gc=T+1|0,gu=0;Ch=(lr+(T*160|0)|0)+(gu<<2)|0,Bh=e[Ch>>2]|0,Qh=+(Bh|0),wh=Qh*Eh,vh=(lr+(gc*160|0)|0)+(gu<<2)|0,uc=e[vh>>2]|0,kh=+(uc|0),dc=kh*g,Sh=dc+wh,Qn=Sh,bh=(oc+336|0)+(gu<<2)|0,s[bh>>2]=Qn,hc=gu+1|0,zQ=(hc|0)==40,!zQ;)gu=hc;if(!V8){for(Dh=n0+3616|0,bA=+l1[Dh>>3],_h=N6+88|0,ea=e[_h>>2]|0,DA=~~bA,xh=+(DA|0),_A=bA-xh,Ic=Bn+2860|0,Lh=e[Ic>>2]|0,Mh=ea+(DA<<3)|0,Rh=+l1[Mh>>3],Th=1-_A,mc=Rh*Th,Nh=DA+1|0,Gh=ea+(Nh<<3)|0,Uh=+l1[Gh>>3],ta=Uh*_A,Eo=ta+mc,xA=~~Eo,Ph=+(xA|0),LA=Eo-Ph,qh=LA==0,Hh=(xA|0)>0,PC=Hh&qh,h=PC?1:LA,pc=PC<<31>>31,N=pc+xA|0,Yh=1-h,Vh=N+1|0,uu=0;Jh=(lr+(N*160|0)|0)+(uu<<2)|0,zh=e[Jh>>2]|0,Kh=+(zh|0),ia=Kh*Yh,Wh=(lr+(Vh*160|0)|0)+(uu<<2)|0,Ec=e[Wh>>2]|0,jh=+(Ec|0),Xh=jh*h,ef=Xh+ia,tf=ef,E7=(Lh+336|0)+(uu<<2)|0,s[E7>>2]=tf,Cc=uu+1|0,KQ=(Cc|0)==40,!KQ;)uu=Cc;for(C7=n0+3648|0,Bc=+l1[C7>>3],MA=~~Bc,i7=+(MA|0),Co=Bc-i7,nf=Bn+2864|0,of=e[nf>>2]|0,sf=ea+(MA<<3)|0,af=+l1[sf>>3],Af=1-Co,Qc=af*Af,$f=MA+1|0,lf=ea+($f<<3)|0,cf=+l1[lf>>3],gf=cf*Co,Bo=gf+Qc,RA=~~Bo,uf=+(RA|0),wc=Bo-uf,df=wc==0,hf=(RA|0)>0,OC=hf&df,m=OC?1:wc,ra=OC<<31>>31,G=ra+RA|0,ff=1-m,vc=G+1|0,du=0;kc=(lr+(G*160|0)|0)+(du<<2)|0,mf=e[kc>>2]|0,pf=+(mf|0),yn=pf*ff,Ef=(lr+(vc*160|0)|0)+(du<<2)|0,Cf=e[Ef>>2]|0,wn=+(Cf|0),Bf=wn*m,Sc=Bf+yn,yf=Sc,Qo=(of+336|0)+(du<<2)|0,s[Qo>>2]=yf,bc=du+1|0,WQ=(bc|0)==40,!WQ;)du=bc}for(wf=((n0+3528|0)+(o<<5)|0)+8|0,Dc=+l1[wf>>3],vf=N6+40|0,cr=e[vf>>2]|0,FA=~~Dc,kf=+(FA|0),_c=Dc-kf,Sf=cr+(FA<<2)|0,bf=e[Sf>>2]|0,Lc=+(bf|0),Df=1-_c,_f=Lc*Df,xf=FA+1|0,Mc=cr+(xf<<2)|0,Lf=e[Mc>>2]|0,yo=+(Lf|0),Mf=yo*_c,Rf=Mf+_f,Ff=Rf,TA=zl+32|0,s[TA>>2]=Ff,Tf=n0+3568|0,NA=+l1[Tf>>3],GA=~~NA,Nf=+(GA|0),Rc=NA-Nf,Fc=cr+(GA<<2)|0,Gf=e[Fc>>2]|0,Gc=+(Gf|0),Uf=1-Rc,Uc=Gc*Uf,Pc=GA+1|0,Pf=cr+(Pc<<2)|0,Of=e[Pf>>2]|0,Oc=+(Of|0),qc=Oc*Rc,qf=qc+Uc,Hc=qf,Hf=oc+32|0,s[Hf>>2]=Hc,V8||(Yf=n0+3600|0,Vc=+l1[Yf>>3],UA=~~Vc,Jc=+(UA|0),zc=Vc-Jc,Kc=Bn+2860|0,Wc=e[Kc>>2]|0,Vf=cr+(UA<<2)|0,Jf=e[Vf>>2]|0,Kf=+(Jf|0),Wf=1-zc,Zf=Kf*Wf,jf=UA+1|0,Xf=cr+(jf<<2)|0,Zc=e[Xf>>2]|0,PA=+(Zc|0),eI=PA*zc,tI=eI+Zf,iI=tI,Xc=Wc+32|0,s[Xc>>2]=iI,rI=n0+3632|0,eg=+l1[rI>>3],OA=~~eg,na=+(OA|0),tg=eg-na,nI=Bn+2864|0,oI=e[nI>>2]|0,sI=cr+(OA<<2)|0,aI=e[sI>>2]|0,oa=+(aI|0),AI=1-tg,$I=oa*AI,lI=OA+1|0,cI=cr+(lI<<2)|0,gI=e[cI>>2]|0,uI=+(gI|0),dI=uI*tg,hI=dI+$I,rg=hI,II=oI+32|0,s[II>>2]=rg),mI=((n0+3528|0)+(o<<5)|0)+16|0,pI=+l1[mI>>3],sa=N6+76|0,ng=e[sa>>2]|0,EI=N6+60|0,CI=e[EI>>2]|0,kn=N6+56|0,og=e[kn>>2]|0,Tl?ag=0:(sg=n0+3408|0,BI=+l1[sg>>3],ag=BI),AE(t,pI,0,ng,CI,og,ag),QI=n0+3576|0,Ag=+l1[QI>>3],$g=e[sa>>2]|0,yI=N6+64|0,wI=e[yI>>2]|0,vI=e[kn>>2]|0,AE(t,Ag,1,$g,wI,vI,0),V8?(wo=e[f0>>2]|0,KI=wo+2852|0,Cg=e[KI>>2]|0,WI=wo+3496|0,VA=+l1[WI>>3],Bg=VA,ZI=Cg+4|0,s[ZI>>2]=Bg,XI=wo+3504|0,em=+l1[XI>>3],Qg=em,tm=Cg+8|0,s[tm>>2]=Qg,im=wo+2856|0,yg=e[im>>2]|0,ca=yg+4|0,s[ca>>2]=Bg,rm=yg+8|0,s[rm>>2]=Qg,gr=wo):(kI=n0+3608|0,SI=+l1[kI>>3],HA=e[sa>>2]|0,bI=N6+68|0,DI=e[bI>>2]|0,_I=e[kn>>2]|0,AE(t,SI,2,HA,DI,_I,0),xI=n0+3640|0,lg=+l1[xI>>3],LI=e[sa>>2]|0,cg=N6+72|0,MI=e[cg>>2]|0,RI=e[kn>>2]|0,AE(t,lg,3,LI,MI,RI,0),Rr=e[f0>>2]|0,ug=Rr+2852|0,dg=e[ug>>2]|0,FI=Rr+3496|0,hg=+l1[FI>>3],Aa=hg,TI=dg+4|0,s[TI>>2]=Aa,NI=Rr+3504|0,GI=+l1[NI>>3],$a=GI,UI=dg+8|0,s[UI>>2]=$a,PI=Rr+2856|0,Ig=e[PI>>2]|0,OI=Ig+4|0,s[OI>>2]=Aa,qI=Ig+8|0,s[qI>>2]=$a,YA=Rr+2860|0,la=e[YA>>2]|0,HI=la+4|0,s[HI>>2]=Aa,YI=la+8|0,s[YI>>2]=$a,VI=Rr+2864|0,Eg=e[VI>>2]|0,JI=Eg+4|0,s[JI>>2]=Aa,zI=Eg+8|0,s[zI>>2]=$a,gr=Rr),nm=+l1[N4>>3],om=N6+152|0,wg=e[om>>2]|0,vg=~~nm,sm=wg+(vg<<3)|0,kg=e[sm>>2]|0,Sg=(wg+(vg<<3)|0)+4|0,_7=e[Sg>>2]|0,bg=e[gr>>2]|0,am=gr+4|0,Am=e[am>>2]|0,lm=(bg|0)==(Am|0),a=lm?1:2,JA=gr+8|0,ga=gr+12|0,Dg=t+8|0,_g=t+4|0,Q7=0;;){if(cm=ce(1,3208)|0,ua=(gr+544|0)+(Q7<<2)|0,e[ua>>2]=cm,ko=ce(1,16)|0,gm=(gr+32|0)+(Q7<<2)|0,e[gm>>2]=ko,da=26304+(Q7<<4)|0,e[ko>>2]=e[da>>2]|0,e[ko+4>>2]=e[da+4>>2]|0,e[ko+8>>2]=e[da+8>>2]|0,e[ko+12>>2]=e[da+12>>2]|0,um=e[JA>>2]|0,KA=(Q7|0)<(um|0),KA||(dm=Q7+1|0,e[JA>>2]=dm),hm=(gr+288|0)+(Q7<<2)|0,e[hm>>2]=0,xg=e[ua>>2]|0,ha=kg+(Q7*3208|0)|0,ge(xg|0,ha|0,3208)|0,Lg=e[ga>>2]|0,fm=(Q7|0)<(Lg|0),fm||(Im=Q7+1|0,e[ga>>2]=Im),mm=e[ha>>2]|0,Mg=(mm|0)>0,Mg)for(IE=0;;){Em=((kg+(Q7*3208|0)|0)+1092|0)+(IE<<2)|0,ri=e[Em>>2]|0,_e=e[f0>>2]|0,r7=R9(2840)|0,Cm=(_e+1568|0)+(ri<<2)|0,e[Cm>>2]=r7,Rg=(_7+(ri<<5)|0)+12|0,Fg=e[Rg>>2]|0,ge(r7|0,Fg|0,2840)|0,WA=_e+20|0,Bm=e[WA>>2]|0,So=(Bm|0)>(ri|0),So||(Qm=ri+1|0,e[WA>>2]=Qm),ym=(_7+(ri<<5)|0)+8|0,Tg=e[ym>>2]|0,ZA=r7+8|0,e[ZA>>2]=Tg,wm=_7+(ri<<5)|0,Ng=e[wm>>2]|0,Gg=(_e+1312|0)+(ri<<2)|0,e[Gg>>2]=Ng,Ug=_e+3420|0,jA=e[Ug>>2]|0,Pg=(jA|0)==0,bo=r7+12|0,e$=e[bo>>2]|0,Og=(e$|0)>0;do if(Pg){if(Og)for(qg=(_7+(ri<<5)|0)+24|0,fa=e[qg>>2]|0,Sm=r7+24|0,La=0;;)if(hr=Sm+(La<<2)|0,Dn=fa+(La<<4)|0,Mi=e[Dn>>2]|0,Ri=(Mi|0)==0,Ri||(Fi=e[hr>>2]|0,Ca=Fi|1,e[hr>>2]=Ca),Ba=(fa+(La<<4)|0)+4|0,eu=e[Ba>>2]|0,tu=(eu|0)==0,tu||(b2=e[hr>>2]|0,B5=b2|2,e[hr>>2]=B5),s5=(fa+(La<<4)|0)+8|0,R2=e[s5>>2]|0,M2=(R2|0)==0,M2||(y2=e[hr>>2]|0,Q5=y2|4,e[hr>>2]=Q5),m5=(fa+(La<<4)|0)+12|0,L5=e[m5>>2]|0,q5=(L5|0)==0,q5||(M5=e[hr>>2]|0,Y2=M5|8,e[hr>>2]=Y2),p5=La+1|0,$5=e[bo>>2]|0,u5=(p5|0)<($5|0),u5)La=p5;else{ka=$5;break}else ka=e$;Qa=(_7+(ri<<5)|0)+16|0,$$=e[Qa>>2]|0,Ti=_e+24|0,Gr=e[Ti>>2]|0,l$=(Gr|0)>0,Zm=$$;e:do if(l$)for(yp=0;;){if(c$=(_e+1824|0)+(yp<<2)|0,jm=e[c$>>2]|0,g$=(jm|0)==($$|0),g$){L=yp;break e}if(iu=yp+1|0,wa=(iu|0)<(Gr|0),wa)yp=iu;else{Ae=116;break}}else Ae=116;while(!1);if((Ae|0)==116&&(Ae=0,Xm=Gr+1|0,e[Ti>>2]=Xm,L=Gr),ep=r7+20|0,e[ep>>2]=L,tp=(_e+1824|0)+(L<<2)|0,e[tp>>2]=Zm,_n=(ka|0)>0,!_n)break;for(tt=(_7+(ri<<5)|0)+24|0,Le=r7+280|0,qr=0,y$=0;;){if(ru=e[tt>>2]|0,ip=ru+(y$<<4)|0,u$=e[ip>>2]|0,nu=(u$|0)==0,rp=u$,nu)Lo=ru,up=qr;else{Sa=e[Ti>>2]|0,op=(Sa|0)>0;e:do if(op)for(pp=0;;){if(sp=(_e+1824|0)+(pp<<2)|0,ap=e[sp>>2]|0,Ap=(ap|0)==(u$|0),Ap){M=pp;break e}if(ou=pp+1|0,$p=(ou|0)<(Sa|0),$p)pp=ou;else{Ae=123;break}}else Ae=123;while(!1);(Ae|0)==123&&(Ae=0,lp=Sa+1|0,e[Ti>>2]=lp,M=Sa),cp=qr+1|0,n7=Le+(qr<<2)|0,e[n7>>2]=M,xn=(_e+1824|0)+(M<<2)|0,e[xn>>2]=rp,c0=e[tt>>2]|0,Lo=c0,up=cp}if(d$=(Lo+(y$<<4)|0)+4|0,Mo=e[d$>>2]|0,ni=(Mo|0)==0,Ro=Mo,ni)C2=Lo,Xe=up;else{z1=e[Ti>>2]|0,q1=(z1|0)>0;e:do if(q1)for(fp=0;;){if(H1=(_e+1824|0)+(fp<<2)|0,V1=e[H1>>2]|0,X1=(V1|0)==(Mo|0),X1){D=fp;break e}if(n2=fp+1|0,j1=(n2|0)<(z1|0),j1)fp=n2;else{Ae=147;break}}else Ae=147;while(!1);(Ae|0)==147&&(Ae=0,O1=z1+1|0,e[Ti>>2]=O1,D=z1),g2=up+1|0,W1=Le+(up<<2)|0,e[W1>>2]=D,h2=(_e+1824|0)+(D<<2)|0,e[h2>>2]=Ro,$0=e[tt>>2]|0,C2=$0,Xe=g2}if(s2=(C2+(y$<<4)|0)+8|0,K1=e[s2>>2]|0,d2=(K1|0)==0,l2=K1,d2)L2=C2,C$=Xe;else{i2=e[Ti>>2]|0,c2=(i2|0)>0;e:do if(c2)for(Ip=0;;){if(r2=(_e+1824|0)+(Ip<<2)|0,A2=e[r2>>2]|0,e2=(A2|0)==(K1|0),e2){y=Ip;break e}if(o2=Ip+1|0,m2=(o2|0)<(i2|0),m2)Ip=o2;else{Ae=153;break}}else Ae=153;while(!1);(Ae|0)==153&&(Ae=0,k2=i2+1|0,e[Ti>>2]=k2,y=i2),D2=Xe+1|0,S2=Le+(Xe<<2)|0,e[S2>>2]=y,Q2=(_e+1824|0)+(y<<2)|0,e[Q2>>2]=l2,Z=e[tt>>2]|0,L2=Z,C$=D2}if(N2=(L2+(y$<<4)|0)+12|0,U2=e[N2>>2]|0,p2=(U2|0)==0,W2=U2,p2)LC=C$;else{P2=e[Ti>>2]|0,G2=(P2|0)>0;e:do if(G2)for(mp=0;;){if(q2=(_e+1824|0)+(mp<<2)|0,Z2=e[q2>>2]|0,A5=(Z2|0)==(U2|0),A5){x=mp;break e}if(H2=mp+1|0,N1=(H2|0)<(P2|0),N1)mp=H2;else{Ae=159;break}}else Ae=159;while(!1);(Ae|0)==159&&(Ae=0,t5=P2+1|0,e[Ti>>2]=t5,x=P2),T5=C$+1|0,i5=Le+(C$<<2)|0,e[i5>>2]=x,x5=(_e+1824|0)+(x<<2)|0,e[x5>>2]=W2,LC=T5}if(b5=y$+1|0,Y5=e[bo>>2]|0,g5=(b5|0)<(Y5|0),g5)qr=LC,y$=b5;else break}}else{if(Og)for(vm=(_7+(ri<<5)|0)+28|0,Sn=e[vm>>2]|0,km=r7+24|0,xa=0;;)if(x7=km+(xa<<2)|0,bm=Sn+(xa<<4)|0,Dm=e[bm>>2]|0,_m=(Dm|0)==0,_m||(xm=e[x7>>2]|0,Lm=xm|1,e[x7>>2]=Lm),Mm=(Sn+(xa<<4)|0)+4|0,L7=e[Mm>>2]|0,Rm=(L7|0)==0,Rm||($6=e[x7>>2]|0,n3=$6|2,e[x7>>2]=n3),l3=(Sn+(xa<<4)|0)+8|0,N3=e[l3>>2]|0,E6=(N3|0)==0,E6||(k3=e[x7>>2]|0,S3=k3|4,e[x7>>2]=S3),a6=(Sn+(xa<<4)|0)+12|0,i6=e[a6>>2]|0,V3=(i6|0)==0,V3||(Z5=e[x7>>2]|0,x3=Z5|8,e[x7>>2]=x3),d3=xa+1|0,J3=e[bo>>2]|0,d6=(d3|0)<(J3|0),d6)xa=d3;else{jg=J3;break}else jg=e$;Fm=(_7+(ri<<5)|0)+20|0,Yg=e[Fm>>2]|0,B7=_e+24|0,Ia=e[B7>>2]|0,t$=(Ia|0)>0,Vg=Yg;e:do if(t$)for(hp=0;;){if(Jg=(_e+1824|0)+(hp<<2)|0,Nm=e[Jg>>2]|0,zg=(Nm|0)==(Yg|0),zg){B=hp;break e}if(Kg=hp+1|0,Gm=(Kg|0)<(Ia|0),Gm)hp=Kg;else{Ae=100;break}}else Ae=100;while(!1);if((Ae|0)==100&&(Ae=0,Zg=Ia+1|0,e[B7>>2]=Zg,B=Ia),Pm=r7+20|0,e[Pm>>2]=B,Om=(_e+1824|0)+(B<<2)|0,e[Om>>2]=Vg,qm=(jg|0)>0,!qm)break;for(Do=(_7+(ri<<5)|0)+28|0,ma=r7+280|0,Uo=0,B$=0;;){if(pa=e[Do>>2]|0,Hm=pa+(B$<<4)|0,i$=e[Hm>>2]|0,Vm=(i$|0)==0,Xg=i$,Vm)xo=pa,Rn=Uo;else{_o=e[B7>>2]|0,Jm=(_o|0)>0;e:do if(Jm)for(Qp=0;;){if(zm=(_e+1824|0)+(Qp<<2)|0,r$=e[zm>>2]|0,n$=(r$|0)==(i$|0),n$){w=Qp;break e}if(Ea=Qp+1|0,o$=(Ea|0)<(_o|0),o$)Qp=Ea;else{Ae=107;break}}else Ae=107;while(!1);(Ae|0)==107&&(Ae=0,s$=_o+1|0,e[B7>>2]=s$,w=_o),Tr=Uo+1|0,Nr=ma+(Uo<<2)|0,e[Nr>>2]=w,a$=(_e+1824|0)+(w<<2)|0,e[a$>>2]=Xg,J=e[Do>>2]|0,xo=J,Rn=Tr}if(A$=(xo+(B$<<4)|0)+4|0,dr=e[A$>>2]|0,bn=(dr|0)==0,Km=dr,bn)R5=xo,Ln=Rn;else{y5=e[B7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Ep=0;;){if(d5=(_e+1824|0)+(Ep<<2)|0,l5=e[d5>>2]|0,X2=(l5|0)==(dr|0),X2){S=Ep;break e}if(u2=Ep+1|0,w5=(u2|0)<(y5|0),w5)Ep=u2;else{Ae=171;break}}else Ae=171;while(!1);(Ae|0)==171&&(Ae=0,r5=y5+1|0,e[B7>>2]=r5,S=y5),a5=Rn+1|0,h5=ma+(Rn<<2)|0,e[h5>>2]=S,z2=(_e+1824|0)+(S<<2)|0,e[z2>>2]=Km,X=e[Do>>2]|0,R5=X,Ln=a5}if(f5=(R5+(B$<<4)|0)+8|0,e5=e[f5>>2]|0,c5=(e5|0)==0,F2=e5,c5)f3=R5,Mn=Ln;else{v5=e[B7>>2]|0,J5=(v5|0)>0;e:do if(J5)for(Cp=0;;){if(i3=(_e+1824|0)+(Cp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(e5|0),I3){b=Cp;break e}if(h3=Cp+1|0,r3=(h3|0)<(v5|0),r3)Cp=h3;else{Ae=177;break}}else Ae=177;while(!1);(Ae|0)==177&&(Ae=0,a3=v5+1|0,e[B7>>2]=a3,b=v5),B3=Ln+1|0,G5=ma+(Ln<<2)|0,e[G5>>2]=b,W5=(_e+1824|0)+(b<<2)|0,e[W5>>2]=F2,u0=e[Do>>2]|0,f3=u0,Mn=B3}if(D3=(f3+(B$<<4)|0)+12|0,y3=e[D3>>2]|0,X3=(y3|0)==0,q3=y3,X3)O9=Mn;else{b3=e[B7>>2]|0,t3=(b3|0)>0;e:do if(t3)for(Bp=0;;){if(s6=(_e+1824|0)+(Bp<<2)|0,T3=e[s6>>2]|0,H3=(T3|0)==(y3|0),H3){v=Bp;break e}if(c3=Bp+1|0,g3=(c3|0)<(b3|0),g3)Bp=c3;else{Ae=183;break}}else Ae=183;while(!1);(Ae|0)==183&&(Ae=0,u3=b3+1|0,e[B7>>2]=u3,v=b3),Q3=Mn+1|0,z5=ma+(Mn<<2)|0,e[z5>>2]=v,V5=(_e+1824|0)+(v<<2)|0,e[V5>>2]=q3,O9=Q3}if(S5=B$+1|0,Y3=e[bo>>2]|0,U5=(S5|0)<(Y3|0),U5)Uo=O9,B$=S5;else break}}while(!1);su=_e+3480|0,au=+l1[su>>3],Da=au*1e3,Fo=(_e+1056|0)+(Q7<<2)|0,No=e[Fo>>2]|0,gp=e[Dg>>2]|0,Go=+(gp|0),fr=Go*.5,Au=_e+(Q7<<2)|0,Ur=e[Au>>2]|0,o7=Ur>>1,h$=Da>fr,RC=h$?fr:Da,f$=RC/fr,j7=+(o7|0),m$=j7*f$,p$=~~m$,Pr=No+1116|0,e[Pr>>2]=p$,g6=(_7+(ri<<5)|0)+4|0,_a=e[g6>>2]|0;do if((_a|0)==2)lu=250;else if((_a|0)==1){if(Or=e[Ug>>2]|0,$u=(Or|0)==0,L4=_e+2996|0,E$=_e+2968|0,sy=$u?E$:L4,oy=e[sy>>2]|0,ny=+(oy|0),FC=ny*1e3,kt=FC>fr,!kt){lu=FC;break}lu=fr}else lu=RC;while(!1);C0=e[Gg>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=_e+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(fE=0;;){if(y0=(_e+544|0)+(fE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(vp=0;;){K0=(w0+1092|0)+(vp<<2)|0,v0=e[K0>>2]|0,T0=(v0|0)==(ri|0);do if(T0){if(N0=e[_g>>2]|0,U0=(N0|0)>0,U0)MC=0,pE=0;else{dp=0;break}for(;;)if(O0=(w0+4|0)+(pE<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)==(vp|0),F0=V0&1,V=F0+MC|0,L0=pE+1|0,VQ=(L0|0)==(N0|0),VQ){dp=V;break}else MC=V,pE=L0}else dp=0;while(!1);if(G0=vp+1|0,J0=(G0|0)<(B0|0),q0=(dp|0)==0,Z0=J0&q0,Z0)vp=G0;else{uE=dp;break}}else uE=0;if(P0=fE+1|0,H0=(P0|0)<(b0|0),s1=(uE|0)==0,Y0=H0&s1,Y0)fE=P0;else{gE=uE;break}}else gE=0;if(i1=lu/fr,x0=+(gE|0),o1=x0*j7,u1=o1*i1,m1=e[ZA>>2]|0,f1=+(m1|0),d1=u1/f1,A1=d1+.9,g1=~~A1,a1=o5(g1,m1)|0,$1=r7+4|0,e[$1>>2]=a1,j0=o5(gE,o7)|0,E1=(a1|0)>(j0|0),!E1){H=$1,Z1=a1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,H=$1,Z1=p1,x1=m1}else{if(B1=lu/fr,w1=B1*j7,v1=e[ZA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,b1=~~M1,_1=o5(b1,v1)|0,F1=r7+4|0,e[F1>>2]=_1,U1=(_1|0)>(o7|0),!U1){H=F1,Z1=_1,x1=v1;break}D1=(o7|0)%(v1|0)&-1,P1=o7-D1|0,e[F1>>2]=P1,H=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[H>>2]=x1),m3=IE+1|0,M6=e[ha>>2]|0,R6=(m3|0)<(M6|0),R6)IE=m3;else break}if(S6=Q7+1|0,r6=(S6|0)<(a|0),r6)Q7=S6;else break}return h6=n0+3428|0,b6=e[h6>>2]|0,G6=(b6|0)>0,G6?(X6=t+16|0,e[X6>>2]=b6):(v6=e[f0>>2]|0,L3=v6+3396|0,o6=e[L3>>2]|0,C6=v6+3400|0,z3=+l1[C6>>3],M3=~~z3,K3=+(M3|0),e6=z3-K3,F6=o6+4|0,l6=e[F6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(K6=e[_g>>2]|0,B6=l6+(M3<<3)|0,R3=+l1[B6>>3],Y6=1-e6,A6=R3*Y6,D6=M3+1|0,U6=l6+(D6<<3)|0,t9=+l1[U6>>3],Q6=t9*e6,e9=Q6+A6,G3=+(K6|0),V6=e9*G3,ay=~~V6,Q=ay),s9=t+16|0,e[s9>>2]=Q),c9=n0+3424|0,P6=e[c9>>2]|0,J6=t+20|0,e[J6>>2]=P6,T6=n0+3440|0,i9=e[T6>>2]|0,_6=t+12|0,e[_6>>2]=i9,O6=(b6|0)==0,O6?g0=0:(U3=n0+3444|0,a9=e[U3>>2]|0,d9=+(a9|0),o9=+(b6|0),B9=d9/o9,Q9=~~B9,g0=Q9),y9=t+24|0,e[y9>>2]=g0,h9=n0+3420|0,f9=e[h9>>2]|0,H9=(f9|0)==0,H9?(E=0,E|0):(y6=e[h6>>2]|0,A9=n0+3360|0,e[A9>>2]=y6,Y9=e[c9>>2]|0,w9=n0+3364|0,e[w9>>2]=Y9,we=e[T6>>2]|0,ue=n0+3368|0,e[ue>>2]=we,Ee=n0+3444|0,V9=e[Ee>>2]|0,ie=n0+3372|0,e[ie>>2]=V9,F9=n0+3448|0,v9=+l1[F9>>3],$9=n0+3376|0,l1[$9>>3]=v9,ve=n0+3432|0,Re=+l1[ve>>3],de=n0+3384|0,l1[de>>3]=Re,E=0,E|0)}function Zb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0;if(V=C,I=(a|0)<1,I)h=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,T=m,N=y+3400|0,Q=jb(o,a,T,0,N)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)h=-130;else return Xb(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=Wb(t)|0,D=(w|0)==0,D?(g=0,g|0):(QC(t),g=w,g|0);return QC(t),g=h,g|0}function aE(t,o,a,$,g,h){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,W=t+28|0,$0=e[W>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,f1=e[Z0>>2]|0,I1=+(f1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),T=F*E,N=($+(B*20|0)|0)+4|0,G=e[N>>2]|0,V=+(G|0),e0=V*M,K=e0+T,a0=K,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,J=e[s0>>2]|0,o0=+(J|0),H=o0*E,d0=($+(B*20|0)|0)+8|0,i0=e[d0>>2]|0,X=+(i0|0),u0=X*M,c0=u0+H,l0=c0,Z=N0+20|0,s[Z>>2]=l0,I0=($+(m*20|0)|0)+12|0,g0=+s[I0>>2],f0=g0,n0=f0*E,h0=($+(B*20|0)|0)+12|0,p0=+s[h0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,K0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,U0=T0*M,O0=U0+K0,k0=O0,V0=N0+28|0,s[V0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),z0=G0*E,J0=g+(B<<2)|0,q0=e[J0>>2]|0,P0=+(q0|0),H0=P0*M,s1=H0+z0,Y0=s1,i1=N0+496|0,s[i1>>2]=Y0,p1=0;x0=(h+(m*68|0)|0)+(p1<<2)|0,o1=e[x0>>2]|0,h1=+(o1|0),u1=h1*E,m1=(h+(B*68|0)|0)+(p1<<2)|0,d1=e[m1>>2]|0,A1=+(d1|0),g1=A1*M,a1=g1+u1,$1=a1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function AE(t,o,a,$,g,h,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,h=h|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),d0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,b1=e[j0>>2]|0,q1=+(b1|0),D=1-d0,e0=q1*D,K=v+1|0,a0=$+(K<<2)|0,W=e[a0>>2]|0,r0=+(W|0),s0=r0*d0,J=s0+e0,o0=J,H=x0+108|0,s[H>>2]=o0,i0=h+(a*12|0)|0,X=e[i0>>2]|0,u0=x0+120|0,e[u0>>2]=X,c0=(h+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,Z=(h+(a*12|0)|0)+8|0,I0=e[Z>>2]|0,g0=x0+128|0,e[g0>>2]=I0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,h0=e[f0>>2]|0,p0=+(h0|0),C0=p0*D,S0=(g+(K*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*d0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,K0=i2+1|0,K1=(K0|0)==17,K1){c2=0;break}else i2=K0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(c2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*D,U1=((g+(K*204|0)|0)+68|0)+(c2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),Z1=P1*d0,G1=Z1+F1,x1=G1,z1=(x0+200|0)+(c2<<2)|0,s[z1>>2]=x1,H1=c2+1|0,d2=(H1|0)==17,d2){r2=0;break}else c2=H1;for(;Y1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,V1=e[Y1>>2]|0,X1=+(V1|0),n2=X1*D,j1=((g+(K*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,g2=+(O1|0),W1=g2*d0,h2=W1+n2,y=h2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,l2=(M|0)==17,!l2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,T=R,N=T+m,G=N,V=G>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,U0=N0,O0=U0>2]=A2,V0=M0+1|0,s2=(V0|0)==17,!s2;)M0=V0;for(F0=x0+200|0,G0=+s[F0>>2],z0=G0+6,J0=x0+200|0,q0=G0,Z0=q0+m,P0=Z0,H0=P0>2]=o2,s1=1;E=(x0+200|0)+(s1<<2)|0,S=+s[E>>2],Y0=(x0+200|0)+(s1<<2)|0,i1=S,o1=i1+m,h1=o1,u1=h1>2]=e2,m1=s1+1|0,C2=(m1|0)==17,!C2;)s1=m1;for(f1=x0+268|0,d1=+s[f1>>2],A1=d1+6,g1=x0+268|0,a1=d1,$1=a1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=m2,L1=Q1+1|0,a2=(L1|0)==17,!a2;)Q1=L1}function jb(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(J=26336,j0=0;;){if(s0=e[J>>2]|0,o0=s0+12|0,H=e[o0>>2]|0,d0=(H|0)==-1,X=(H|0)==(t|0),p1=d0|X,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,Z=e[l0>>2]|0,I0=(Z|0)<(o|0),!I0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,K0=i0+12|0,G0=e[K0>>2]|0,o1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=o1|A1,B1&&(g1=i0+16|0,D=e[g1>>2]|0,y=(D|0)>(o|0),!y&&(x=i0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[i0>>2]|0,F=i0+4|0,T=e[F>>2]|0,N=+l1[T>>3],G=V>3],a0=V>K,!a0))))){m=V,I=R,E=h0,Q=T,d1=N;break e}if($1=E1+1|0,W=26336+($1<<2)|0,r0=($1|0)==17,r0){h=0;break}else h0=W,E1=$1}return h|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=d1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return U0=(I1|0)==(I|0),U0?(O0=+(I|0),k0=O0+-.001,w1=k0):(V0=Q+(I1<<3)|0,F0=+l1[V0>>3],L0=F0,z0=I1+1|0,J0=Q+(z0<<3)|0,q0=+l1[J0>>3],Z0=q0,P0=L0,H0=m-P0,s1=Z0-L0,Y0=s1,i1=H0/Y0,x0=i1,h1=+(I1|0),u1=x0+h1,m1=u1,w1=m1),l1[g>>3]=w1,f1=e[E>>2]|0,h=f1,h|0}function Xb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,U0=E+3456|0,e[U0>>2]=1,P0=E+3460|0,e[P0>>2]=1,s1=E+3400|0,Y0=+l1[s1>>3],Q=~~Y0,B=+(Q|0),S=Y0-B,b=E+3472|0,l1[b>>3]=Y0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,T=R*F,N=Q+1|0,G=x+(N<<3)|0,V=+l1[G>>3],e0=V*S,K=e0+T,a0=E+3480|0,l1[a0>>3]=K,g=N,h=F):($=1-S,m=Q+1|0,g=m,h=$),W=r0+112|0,s0=e[W>>2]|0,J=s0+(Q<<2)|0,o0=e[J>>2]|0,H=+(o0|0),d0=H*h,i0=s0+(g<<2)|0,X=e[i0>>2]|0,u0=+(X|0),c0=u0*S,$0=c0+d0,Z=E+3496|0,l1[Z>>3]=$0,I0=r0+116|0,g0=e[I0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,h0=+(n0|0),p0=h0*h,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=Y0,K0=E+3528|0,l1[K0>>3]=Y0,M0=E+3536|0,l1[M0>>3]=Y0,v0=E+3544|0,l1[v0>>3]=Y0,T0=E+3552|0,l1[T0>>3]=Y0,N0=E+3560|0,l1[N0>>3]=Y0,O0=E+3568|0,l1[O0>>3]=Y0,k0=E+3576|0,l1[k0>>3]=Y0,V0=E+3584|0,l1[V0>>3]=Y0,F0=E+3592|0,l1[F0>>3]=Y0,L0=E+3600|0,l1[L0>>3]=Y0,G0=E+3608|0,l1[G0>>3]=Y0,z0=E+3616|0,l1[z0>>3]=Y0,J0=E+3624|0,l1[J0>>3]=Y0,q0=E+3632|0,l1[q0>>3]=Y0,Z0=E+3640|0,l1[Z0>>3]=Y0,H0=E+3648|0,l1[H0>>3]=Y0}function eD(t,o,a,$,g,h){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=(g|0)!=0,E=I?$:0,L=I?h:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,K0=o+(L<<2)|0,M0=e[K0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,T=(S|0)/2&-1,N=T+y|0,m=(D|0)/-4&-1,G=N+m|0,V=(D|0)/2&-1,e0=G+V|0,K=(M|0)>0,K?(a0=y-x|0,W=a0<<2,u4(t|0,0,W|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(J=y+R|0,o0=J-N0|0,H=o0-x|0,U0=N0,V0=0;u0=_0+(V0<<2)|0,c0=+s[u0>>2],$0=t+(U0<<2)|0,Z=+s[$0>>2],I0=Z*c0,s[$0>>2]=I0,g0=U0+1|0,f0=V0+1|0,T0=(f0|0)==(H|0),!T0;)U0=g0,V0=f0;if(d0=(D|0)>1,d0){for(i0=G+1|0,X=(e0|0)>(i0|0),k0=G,L0=V;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(e0|0),B0;)k0=w0,L0=F0;z0=X?e0:i0,O0=z0}else O0=G;n0=(S|0)>(O0|0),n0&&(G0=t+(O0<<2)|0,h0=S-O0|0,p0=h0<<2,u4(G0|0,0,p0|0)|0)}function tD(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,C=C+64|0,$0=Z+32|0,c0=Z,$=R9(688)|0,g=$+408|0,db(g),D=~~o,Zb(g,t,D,a)|0,e0=$+440|0,cb(e0),gb(e0,553008,553016),o0=$+456|0,qS(o0,g)|0,H=$+568|0,PS(o0,H)|0,d0=aQ(0)|0,AD(d0),i0=$D()|0,xS($,i0)|0,X=$+680|0,e[X>>2]=0,u0=$+684|0,e[u0>>2]=0,h=$+360|0,hb(o0,e0,h,$0,c0)|0,oE($,h)|0,oE($,$0)|0,oE($,c0)|0,m=$+392|0,I=$Q($,m)|0,E=(I|0)==0,E)return C=Z,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[X>>2]|0,T=K7(F,x)|0,e[X>>2]=T,N=e[u0>>2]|0,G=T+N|0,V=e[m>>2]|0,K=e[Q>>2]|0,ge(G|0,V|0,K|0)|0,a0=K+N|0,e[u0>>2]=a0,W=T+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ge(W|0,r0|0,s0|0)|0,J=s0+a0|0,e[u0>>2]=J),L=$Q($,m)|0,R=(L|0)==0,!R;);return C=Z,$|0}function iD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0;E=C,LS(t)|0,o=t+568|0,OS(o)|0,a=t+456|0,uQ(a),$=t+440|0,ub($),g=t+408|0,QC(g),h=t+680|0,m=e[h>>2]|0,E2(m),E2(t)}function rD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0;return h=C,a=t+456|0,$=dQ(a,o)|0,$|0}function nD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,a=t+456|0,HS(a,o)|0,$=t+568|0,w=hQ(a,$)|0,V=(w|0)==1,!!V)for(d0=t+360|0,i0=t+392|0,X=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,h=t+400|0;;){if(TS($,0)|0,US($)|0,E=gQ(a,d0)|0,Q=(E|0)==0,!Q)for(;;){if(oE(t,d0)|0,b=lQ(t,i0)|0,v=(b|0)==0,!v)for(;D=e[X>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(N=e[$0>>2]|0,G=K7(N,L)|0,e[$0>>2]=G,e0=e[X>>2]|0,K=G+e0|0,a0=e[g>>2]|0,W=e[u0>>2]|0,ge(K|0,a0|0,W|0)|0,r0=W+e0|0,e[X>>2]=r0,s0=G+r0|0,J=e[h>>2]|0,o0=e[c0>>2]|0,ge(s0|0,J|0,o0|0)|0,H=o0+r0|0,e[X>>2]=H),F=lQ(t,i0)|0,T=(F|0)==0,!T;);if(B=gQ(a,d0)|0,S=(B|0)==0,S)break}if(m=hQ(a,$)|0,I=(m|0)==1,!I)break}}function oD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function sD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0;return h=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function $E(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+aD(t,o),+a}function Pu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0;if(N3=C,C=C+688|0,n3=N3+424|0,K5=N3+192|0,t3=N3,o0=o5(a,o)|0,H=(o0|0)==0,H){C=N3;return}for(W=o0-a|0,Y1=t3+4|0,e[Y1>>2]=a,e[t3>>2]=a,t2=a,I5=a,D3=2;a2=t2+a|0,G2=a2+I5|0,N5=t3+(D3<<2)|0,e[N5>>2]=G2,D5=G2>>>0>>0,n5=D3+1|0,D5;)k2=I5,I5=G2,D3=n5,t2=k2;if(d0=0-a|0,n0=t+W|0,_0=(W|0)>0,_0)for(L0=(a|0)==0,x0=n0,b1=1,Z2=0,G5=t,H5=1;;){j0=b1&3,z1=(j0|0)==3;do if(z1){e[K5>>2]=G5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=G5,O1=G5,X5=1;;){if(H1=y+d0|0,V1=B+-2|0,X1=t3+(V1<<2)|0,n2=e[X1>>2]|0,U5=n2+a|0,r0=0-U5|0,j1=y+r0|0,g2=mi[$&15](O1,j1)|0,W1=(g2|0)>-1,W1&&(h2=mi[$&15](O1,H1)|0,s2=(h2|0)>-1,s2)){f3=X5;break}if(C2=mi[$&15](j1,H1)|0,K1=(C2|0)>-1,d2=X5+1|0,l2=K5+(X5<<2)|0,K1?(e[l2>>2]=j1,i2=B+-1|0,h=j1,E=i2):(e[l2>>2]=H1,h=H1,E=V1),c2=(E|0)>1,!c2){f3=d2;break}V=e[K5>>2]|0,B=E,y=h,O1=V,X5=d2}if(r2=(f3|0)<2,!r2&&(A2=K5+(f3<<2)|0,e[A2>>2]=n3,!L0))for(w=a,P2=n3;;){for(p2=w>>>0>256,o2=p2?256:w,W2=e[K5>>2]|0,ge(P2|0,W2|0,o2|0)|0,L2=W2,X3=0;D2=K5+(X3<<2)|0,S2=X3+1|0,Q2=K5+(S2<<2)|0,N2=e[Q2>>2]|0,ge(L2|0,N2|0,o2|0)|0,U2=L2+o2|0,e[D2>>2]=U2,r3=(S2|0)==(f3|0),!r3;)L2=N2,X3=S2;if(e2=(w|0)==(o2|0),e2)break e;m2=w-o2|0,K=e[A2>>2]|0,w=m2,P2=K}}while(!1);V2=b1>>>2,q2=Z2<<30,A5=V2|q2,H2=Z2>>>2,N1=H5+2|0,l0=A5,x1=H2,V5=N1}else{if(t5=H5+-1|0,T5=t3+(t5<<2)|0,i5=e[T5>>2]|0,x5=G5,j2=x0-x5|0,b5=i5>>>0>>0,b5){e[K5>>2]=G5,Y5=(H5|0)>1;e:do if(Y5){for(S=H5,x=G5,M2=G5,b3=1;;){if(g5=x+d0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,s5=e[B5>>2]|0,$6=s5+a|0,s0=0-$6|0,R2=x+s0|0,y2=mi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=mi[$&15](M2,g5)|0,L5=(m5|0)>-1,L5)){y3=b3;break}if(q5=mi[$&15](R2,g5)|0,M5=(q5|0)>-1,Y2=b3+1|0,p5=K5+(b3<<2)|0,M5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){y3=Y2;break}e0=e[K5>>2]|0,S=Q,x=m,M2=e0,b3=Y2}if(y5=(y3|0)<2,!y5&&(T1=K5+(y3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,e5=n3;;){for(f5=D>>>0>256,l5=f5?256:D,R5=e[K5>>2]|0,ge(e5|0,R5|0,l5|0)|0,h5=R5,q3=0;u2=K5+(q3<<2)|0,w5=q3+1|0,r5=K5+(w5<<2)|0,a5=e[r5>>2]|0,ge(h5|0,a5|0,l5|0)|0,z2=h5+l5|0,e[u2>>2]=z2,a3=(w5|0)==(y3|0),!a3;)h5=a5,q3=w5;if(d5=(D|0)==(l5|0),d5)break e;X2=D-l5|0,a0=e[T1>>2]|0,D=X2,e5=a0}}while(!1)}else lE(G5,a,$,b1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=Z2<<1,v5=b1>>>31,J5=v5|F2,i3=b1<<1,l0=i3,x1=J5,V5=0;break}else{E5=t5>>>0>31,I3=H5+-33|0,g=E5?0:b1,M=E5?b1:Z2,L=E5?I3:t5,h3=M<>>i0,u0=X|h3,c0=g<>>0>>0,I0)b1=$0,Z2=x1,G5=Z,H5=V5;else{T=x1,N=$0,B3=Z,z5=V5;break}}else T=0,N=1,B3=t,z5=1;if(lE(B3,a,$,N,T,z5,0,t3),g0=(z5|0)==1,f0=(N|0)==1,Q3=f0&g0,h0=(T|0)==0,u3=h0&Q3,u3){C=N3;return}else S0=N,v0=T,W5=B3,S5=z5;for(;;){if(p0=(S5|0)<2,!p0){H0=v0<<2,s1=S0>>>30,Y0=s1|H0,i1=S5+-2|0,o1=S0<<1,h1=o1&2147483646,u1=s1<<31,m1=h1|u1,f1=m1^3,d1=Y0>>>1,A1=t3+(i1<<2)|0,g1=e[A1>>2]|0,Y3=g1+a|0,J=0-Y3|0,a1=W5+J|0,$1=S5+-1|0,lE(a1,a,$,f1,d1,$1,1,t3),E1=d1<<1,I1=s1&1,Q1=E1|I1,p1=f1<<1,B1=p1|1,w1=W5+d0|0,lE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,W5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)P0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,K0=(B0|0)==0,K0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:J0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){P0=64,l3=56;break}if(N0=v0&1,U0=(N0|0)==0,U0)v=v0,T3=0;else{I=0,k1=S0,_1=v0,D1=0;break}for(;;)if(O0=T3+1|0,k0=v>>>1,V0=k0&1,F0=(V0|0)==0,F0)v=k0,T3=O0;else{F=O0,H3=T3;break}if(G0=H3+33|0,z0=(F|0)==0,z0){I=0,k1=S0,_1=v0,D1=0;break}else J0=G0}q0=J0>>>0>31,q0?(P0=J0,l3=56):(I=J0,k1=S0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,Z0=P0+-32|0,I=Z0,k1=v0,_1=0,D1=P0),v1=k1>>>I,L1=32-I|0,M1=_1<>>I,U1=D1+S5|0,G=W5+d0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,W5=G,S5=U1}C=N3}function lE(t,o,a,$,g,h,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,q2=y2+228|0,G2=y2,e[G2>>2]=t,H=0-o|0,d0=($|0)!=1,v0=(g|0)!=0,J0=v0|d0;e:do if(J0)if(u1=I+(h<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,V1=t+F1|0,K1=mi[a&15](V1,t)|0,k2=(K1|0)<1,k2)B=t,M=h,G=m,H2=1,M2=18;else for(v=t,T=h,V=m,B0=V1,H0=g,x5=1,b2=$;;){if(i0=(V|0)==0,h0=(T|0)>1,g5=i0&h0,g5){if(b0=v+H|0,E0=T+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=mi[a&15](b0,B0)|0,K0=(_0|0)>-1,K0){S=v,L=T,t5=x5;break e}if(B5=w0+o|0,J=0-B5|0,M0=v+J|0,T0=mi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=T,t5=x5;break e}}U0=x5+1|0,O0=G2+(x5<<2)|0,e[O0>>2]=B0,k0=b2+-1|0,V0=(k0|0)==0;do if(V0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,z0=y>>>1,q0=z0&1,Z0=(q0|0)==0,Z0)y=z0,I5=G0;else{e0=G0;break}P0=(e0|0)==0,P0?M2=10:A1=e0}else M2=10;if((M2|0)==10){if(M2=0,s1=(H0|0)==0,s1){$1=64,M2=15;break}if(Y0=H0&1,i1=(Y0|0)==0,i1)x=H0,b5=0;else{Q=0,E1=b2,B1=H0,L1=0;break}for(;;)if(x0=b5+1|0,o1=x>>>1,h1=o1&1,m1=(h1|0)==0,m1)x=o1,b5=x0;else{K=x0,Y5=b5;break}if(f1=Y5+33|0,d1=(K|0)==0,d1){Q=0,E1=b2,B1=H0,L1=0;break}else A1=f1}g1=A1>>>0>31,g1?($1=A1,M2=15):(Q=A1,E1=b2,B1=H0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,a1=$1+-32|0,Q=a1,E1=H0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+T|0,M1=(w1|0)!=1,b1=(v1|0)!=0,_1=b1|M1,!_1){S=B0,L=k1,t5=U0;break e}if(a0=e[G2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,Z1=mi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,G=0,H2=U0,M2=18;break}else w=B0,T=k1,V=0,B0=P1,H0=v1,x5=U0,b2=w1,v=w}else B=t,M=h,G=m,H2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(G|0)==0,x1)S=B,L=M,t5=H2;else{C=y2;return}z1=(t5|0)<2;e:do if(!z1&&(q1=G2+(t5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,d2=R2;;){for(C2=F>>>0>256,X1=C2?256:F,a2=e[G2>>2]|0,ge(d2|0,a2|0,X1|0)|0,h2=a2,i5=0;j1=G2+(i5<<2)|0,O1=i5+1|0,g2=G2+(O1<<2)|0,W1=e[g2>>2]|0,ge(h2|0,W1|0,X1|0)|0,s2=h2+X1|0,e[j1>>2]=s2,A5=(O1|0)==(t5|0),!A5;)h2=W1,i5=O1;if(Y1=(F|0)==(X1|0),Y1)break e;n2=F-X1|0,s0=e[q1>>2]|0,F=n2,d2=s0}while(!1);e[q2>>2]=S,l2=(L|0)>1;e:do if(l2){for(D=L,N=S,o2=S,j2=1;;){if(i2=N+H|0,c2=D+-2|0,r2=I+(c2<<2)|0,A2=e[r2>>2]|0,s5=A2+o|0,o0=0-s5|0,e2=N+o0|0,m2=mi[a&15](o2,e2)|0,t2=(m2|0)>-1,t2&&(D2=mi[a&15](o2,i2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(Q2=mi[a&15](e2,i2)|0,N2=(Q2|0)>-1,L2=j2+1|0,U2=q2+(j2<<2)|0,N2?(e[U2>>2]=e2,p2=D+-1|0,E=e2,b=p2):(e[U2>>2]=i2,E=i2,b=c2),W2=(b|0)>1,!W2){N1=L2;break}W=e[q2>>2]|0,D=b,N=E,o2=W,j2=L2}if(P2=(N1|0)<2,P2)Q0=R2;else if(V2=q2+(N1<<2)|0,e[V2>>2]=R2,X=(o|0)==0,X)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[q2>>2]|0,ge(S0|0,C0|0,c0|0)|0,f0=C0,T5=0;l0=q2+(T5<<2)|0,Z=T5+1|0,I0=q2+(Z<<2)|0,g0=e[I0>>2]|0,ge(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,Z2=(Z|0)==(N1|0),!Z2;)f0=g0,T5=Z;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[V2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function z7(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,h=t+4503599627370496,m=h+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function FQ(t){t=+t;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(h=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=h?I:Q,B=b==0,B?(S=h?-0:0,o=S,+o):(o=b,+o))}function aD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0;return e0=C,h=(o|0)>1023,h?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,G=M):($=y,G=m)):(F=(o|0)<-1022,F?(T=t*22250738585072014e-324,N=o+1022|0,I=(N|0)<-1022,I?(E=T*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,G=E):($=N,G=T)):($=o,G=t)),S=$+1023|0,b=GQ(S|0,0,52)|0,v=j6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=G*w,+D}function AD(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,h=g,e[h>>2]=0}function $D(){var t=0,o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=uD(E|0,S|0,1284865837,1481765933)|0,v=j6,w=rs(b|0,v|0,1,0)|0,D=j6,a=553040,$=a,e[$>>2]=w,g=a+4|0,h=g,e[h>>2]=D,m=ns(w|0,D|0,33)|0,I=j6,m|0}function R9(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0,f8=0,_8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,x8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,L9=0,p8=0,b4=0,E8=0,L8=0,o8=0,M8=0,$4=0,s8=0,Kt=0,Mt=0,At=0,We=0,U4=0,$t=0,Ct=0,Rt=0,p4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,E4=0,D4=0,K4=0,W4=0,se=0,P4=0,C4=0,gt=0,_4=0,De=0,yt=0,a8=0,Ze=0,E3=0,Z4=0,wt=0,l4=0,Z9=0,c4=0,T9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,dt=0,Ft=0,je=0,c8=0,Tt=0,X4=0,D9=0,g8=0,et=0,H8=0,K8=0,R8=0,u8=0,F8=0,g4=0,Y8=0,W8=0,ht=0,Nt=0,T8=0,Xt=0,O4=0,B4=0,ae=0,N8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,V8=0,ti=0,d7=0,Zi=0,h7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,J8=0,xi=0,x4=0,Li=0,G8=0,di=0,l9=0,B8=0,vt=0,Q8=0,U8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,ds=0,Kn=0,hs=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,or=0,Ts=0,$o=0,dn=0,lo=0,hn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,sr=0,br=0,W7=0,Dr=0,Io=0,Z7=0,S7=0,b7=0,t7=0,D7=0,_r=0,ar=0,Ar=0,xr=0,p7=0,Ps=0,hi=0,sl=0,In=0,mn=0,Ou=0,al=0,Os=0,qu=0,sA=0,Al=0,Hu=0,Yu=0,Vu=0,aA=0,$l=0,ll=0,AA=0,pn=0,cl=0,Ju=0,qs=0,$r=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,ed=0,td=0,id=0,rd=0,gl=0,Lr=0,nd=0,od=0,ul=0,sd=0,$A=0,Hs=0,lA=0,ad=0,Ad=0,cA=0,dl=0,hl=0,fl=0,gA=0,Il=0,Ys=0,$d=0,ld=0,ml=0,cd=0,gd=0,pl=0,ud=0,dd=0,El=0,Cl=0,Bl=0,Ql=0,yl=0,En=0,hd=0,wl=0,fd=0,vl=0,kl=0,Id=0,md=0,pd=0,uA=0,Sl=0,bl=0,mo=0,Dl=0,dA=0,Ed=0,_l=0,Cd=0,xl=0,Bd=0,Qd=0,Ll=0,Ml=0,yd=0,Vs=0,wd=0,hA=0,Rl=0,Fl=0,vd=0,kd=0,Sd=0,bd=0,Dd=0,_d=0,Js=0,Tl=0,Nl=0,Gl=0,zs=0,xd=0,Ul=0,Ld=0,Pl=0,Md=0,Rd=0,Ol=0,fA=0,Fd=0,Td=0,Ks=0,Nd=0,Ws=0,Gd=0,IA=0,Ud=0,Pd=0,Od=0,ql=0,qd=0,Hd=0,Yd=0,Vd=0,Hl=0,Yl=0,lr=0,Vl=0,Zs=0,mA=0,pA=0,Cn=0,Jl=0,Bn=0,Jd=0,zl=0,zd=0,Kd=0,Wd=0,Zd=0,js=0,EA=0,Mr=0,jd=0,Xd=0,Kl=0,CA=0,Wl=0,Zl=0,eh=0,jl=0,th=0,BA=0,ih=0,rh=0,z9=0,nh=0,Xl=0,oh=0,sh=0,QA=0,ah=0,yA=0,ec=0,Ah=0,$h=0,tc=0,ic=0,lh=0,wA=0,vA=0,rc=0,nc=0,ch=0,oc=0,kA=0,gh=0,sc=0,uh=0,dh=0,hh=0,fh=0,ac=0,Ac=0,SA=0,Xs=0,$c=0,Ih=0,lc=0,cc=0,mh=0,ph=0,Eh=0,gc=0,Ch=0,Bh=0,Qh=0,yh=0,wh=0,vh=0,uc=0,kh=0,dc=0,Sh=0,Qn=0,bh=0,hc=0,Dh=0,po=0,fc=0,bA=0,_h=0,ea=0,DA=0,xh=0,_A=0,Ic=0,Lh=0,Mh=0,Rh=0,Fh=0,Th=0,mc=0,Nh=0,Gh=0,Uh=0,ta=0,Eo=0,xA=0,Ph=0,LA=0,Oh=0,qh=0,Hh=0,pc=0,Yh=0,Vh=0,Jh=0,zh=0,Kh=0,ia=0,Wh=0,Zh=0,Ec=0,jh=0,Xh=0,ef=0,tf=0,E7=0,Cc=0,C7=0,Bc=0,MA=0,rf=0,i7=0,Co=0,nf=0,of=0,sf=0,af=0,Af=0,Qc=0,$f=0,lf=0,yc=0,cf=0,gf=0,Bo=0,RA=0,uf=0,wc=0,df=0,hf=0,ra=0,ff=0,If=0,vc=0,kc=0,mf=0,pf=0,yn=0,Ef=0,Cf=0,wn=0,Bf=0,Sc=0,Qf=0,yf=0,Qo=0,bc=0,wf=0,Dc=0,vf=0,cr=0,FA=0,kf=0,_c=0,xc=0,Sf=0,bf=0,Lc=0,Df=0,_f=0,xf=0,Mc=0,Lf=0,yo=0,Mf=0,vn=0,Rf=0,Ff=0,TA=0,Tf=0,NA=0,GA=0,Nf=0,Rc=0,Fc=0,Gf=0,Tc=0,Nc=0,Gc=0,Uf=0,Uc=0,Pc=0,Pf=0,Of=0,Oc=0,qc=0,qf=0,Hc=0,Yc=0,Hf=0,Yf=0,Vc=0,UA=0,Jc=0,zc=0,Kc=0,Wc=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,Zf=0,jf=0,Xf=0,Zc=0,PA=0,eI=0,tI=0,iI=0,jc=0,Xc=0,rI=0,eg=0,OA=0,na=0,tg=0,nI=0,oI=0,sI=0,aI=0,ig=0,oa=0,AI=0,$I=0,lI=0,cI=0,gI=0,uI=0,dI=0,hI=0,rg=0,fI=0,II=0,mI=0,pI=0,sa=0,ng=0,EI=0,CI=0,kn=0,og=0,sg=0,qA=0,BI=0,ag=0,QI=0,Ag=0,$g=0,yI=0,wI=0,vI=0,kI=0,SI=0,aa=0,HA=0,bI=0,DI=0,_I=0,xI=0,lg=0,LI=0,cg=0,MI=0,RI=0,gg=0,Rr=0,ug=0,dg=0,FI=0,hg=0,Aa=0,TI=0,NI=0,GI=0,$a=0,fg=0,UI=0,PI=0,Ig=0,OI=0,qI=0,YA=0,la=0,HI=0,YI=0,VI=0,mg=0,pg=0,Eg=0,JI=0,zI=0,wo=0,KI=0,Cg=0,WI=0,VA=0,Bg=0,ZI=0,jI=0,XI=0,em=0,Qg=0,tm=0,im=0,yg=0,ca=0,rm=0,nm=0,om=0,vo=0,wg=0,vg=0,sm=0,kg=0,Sg=0,_7=0,bg=0,gr=0,am=0,Am=0,$m=0,lm=0,JA=0,ga=0,Dg=0,_g=0,cm=0,ua=0,ko=0,gm=0,da=0,zA=0,um=0,KA=0,dm=0,hm=0,xg=0,ha=0,Lg=0,fm=0,Im=0,mm=0,pm=0,Mg=0,Em=0,ri=0,_e=0,r7=0,Cm=0,Rg=0,Fg=0,WA=0,Bm=0,Fr=0,So=0,Qm=0,ym=0,Tg=0,ZA=0,wm=0,Ng=0,Gg=0,Ug=0,jA=0,XA=0,Pg=0,bo=0,e$=0,Og=0,vm=0,Sn=0,km=0,qg=0,fa=0,Sm=0,Hg=0,x7=0,bm=0,Dm=0,_m=0,xm=0,Lm=0,Mm=0,L7=0,Rm=0,Fm=0,Tm=0,Yg=0,B7=0,Ia=0,t$=0,Vg=0,Jg=0,Nm=0,zg=0,Kg=0,Gm=0,Um=0,Wg=0,Zg=0,Pm=0,Om=0,jg=0,qm=0,Do=0,ma=0,pa=0,Hm=0,i$=0,Ym=0,Vm=0,Xg=0,_o=0,Jm=0,zm=0,r$=0,n$=0,Ea=0,o$=0,s$=0,ur=0,Tr=0,Nr=0,a$=0,A$=0,xo=0,dr=0,bn=0,Km=0,hr=0,Dn=0,Wm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,eu=0,tu=0,Qa=0,$$=0,Ti=0,ya=0,Gr=0,l$=0,Zm=0,c$=0,jm=0,g$=0,iu=0,wa=0,Xm=0,ep=0,va=0,tp=0,ka=0,_n=0,tt=0,Le=0,ru=0,ip=0,u$=0,nu=0,rp=0,np=0,Sa=0,op=0,sp=0,ap=0,Ap=0,ou=0,$p=0,lp=0,cp=0,n7=0,ba=0,xn=0,d$=0,Lo=0,Mo=0,ni=0,Ro=0,su=0,au=0,Da=0,Fo=0,To=0,No=0,gp=0,Go=0,fr=0,Au=0,Ur=0,o7=0,h$=0,f$=0,j7=0,I$=0,m$=0,p$=0,Pr=0,g6=0,_a=0,Or=0,$u=0,L4=0,E$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,Xe=0,C$=0;C$=C,K1=t>>>0<245;do if(K1){if(d2=t>>>0<11,Ee=t+11|0,We=Ee&-8,x4=d2?16:We,Os=x4>>>3,IA=e[138262]|0,ta=IA>>>Os,zc=ta&3,yg=(zc|0)==0,!yg){l2=ta&1,f3=l2^1,g3=f3+Os|0,l3=g3<<1,d3=553088+(l3<<2)|0,S0=l3+2|0,G6=553088+(S0<<2)|0,F6=e[G6>>2]|0,U6=F6+8|0,T6=e[U6>>2]|0,y9=(d3|0)==(T6|0);do if(y9)V9=1<>>0>>0,f4&&v2(),be=T6+12|0,b9=e[be>>2]|0,Pt=(b9|0)==(F6|0),Pt){e[be>>2]=d3,e[G6>>2]=T6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=F6+4|0,e[U4>>2]=p8,w0=pt|4,D4=F6+w0|0,Ze=e[D4>>2]|0,A8=Ze|1,e[D4>>2]=A8,tt=U6,tt|0}if(X4=e[138264]|0,W8=x4>>>0>X4>>>0,W8){if(qi=(ta|0)==0,!qi){Yi=ta<>>12,gn=ks&16,co=io>>>gn,sr=co>>>5,ar=sr&8,qu=ar|gn,cl=co>>>ar,td=cl>>>2,lA=td&4,ld=qu|lA,yl=cl>>>lA,Sl=yl>>>1,Ll=Sl&2,bd=ld|Ll,Pl=yl>>>Ll,Ud=Pl>>>1,Vl=Ud&1,Wd=bd|Vl,eh=Pl>>>Vl,QA=Wd+eh|0,rc=QA<<1,ac=553088+(rc<<2)|0,P1=rc+2|0,gc=553088+(P1<<2)|0,Qn=e[gc>>2]|0,_A=Qn+8|0,Eo=e[_A>>2]|0,zh=(ac|0)==(Eo|0);do if(zh)Cc=1<>>0>>0,cr&&v2(),Mc=Eo+12|0,Nf=e[Mc>>2]|0,Of=(Nf|0)==(Qn|0),Of){e[Mc>>2]=ac,e[gc>>2]=Eo,w=e[138264]|0,la=w;break}else v2();while(!1);return Kc=QA<<3,PA=Kc-x4|0,nI=x4|3,uI=Qn+4|0,e[uI>>2]=nI,CI=Qn+x4|0,wI=PA|1,X1=x4|4,LI=Qn+X1|0,e[LI>>2]=wI,TI=Qn+Kc|0,e[TI>>2]=PA,Cg=(la|0)==0,Cg||(ca=e[138267]|0,bg=la>>>3,ua=bg<<1,Lg=553088+(ua<<2)|0,Rg=e[138262]|0,Ng=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(G=Do,Ea=i2)),e[G>>2]=ca,g5=Ea+12|0,e[g5>>2]=ca,q5=ca+8|0,e[q5>>2]=Ea,X2=ca+12|0,e[X2>>2]=Lg),e[138264]=PA,e[138267]=CI,tt=_A,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=x4;else{for(W5=0-c5|0,D3=c5&W5,y3=D3+-1|0,X3=y3>>>12,q3=X3&16,X5=y3>>>q3,b3=X5>>>5,t3=b3&8,s6=t3|q3,T3=X5>>>t3,H3=T3>>>2,c3=H3&4,u3=s6|c3,Q3=T3>>>c3,z5=Q3>>>1,H5=z5&2,V5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,U5=Y3&1,$6=V5|U5,n3=S5>>>U5,N3=$6+n3|0,E6=553352+(N3<<2)|0,k3=e[E6>>2]|0,_3=k3+4|0,S3=e[_3>>2]|0,a6=S3&-8,i6=a6-x4|0,ba=i6,f$=k3,E$=k3;;){if(V3=f$+16|0,Z5=e[V3>>2]|0,x3=(Z5|0)==0,x3)if(J3=f$+20|0,d6=e[J3>>2]|0,m3=(d6|0)==0,m3){xn=ba,kt=E$;break}else M6=d6;else M6=Z5;L6=M6+4|0,R6=e[L6>>2]|0,S6=R6&-8,r6=S6-x4|0,h6=r6>>>0>>0,J=h6?r6:ba,a2=h6?M6:E$,ba=J,f$=M6,E$=a2}b6=e[138266]|0,X6=kt>>>0>>0,X6&&v2(),v6=kt+x4|0,L3=kt>>>0>>0,L3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,z3=e[C6>>2]|0,M3=(z3|0)==(kt|0);do if(M3){if(Y6=kt+20|0,A6=e[Y6>>2]|0,D6=(A6|0)==0,D6)if(t9=kt+16|0,Q6=e[t9>>2]|0,e9=(Q6|0)==0,e9){Mi=0;break}else dr=Q6,Ca=t9;else dr=A6,Ca=Y6;for(;;){if(G3=dr+20|0,n9=e[G3>>2]|0,V6=(n9|0)==0,!V6){dr=n9,Ca=G3;continue}if(s9=dr+16|0,c9=e[s9>>2]|0,P6=(c9|0)==0,P6){hr=dr,tu=Ca;break}else dr=c9,Ca=s9}if(J6=tu>>>0>>0,J6)v2();else{e[tu>>2]=0,Mi=hr;break}}else if(K3=kt+8|0,e6=e[K3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,K6=e[o3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),c6=z3+8|0,B6=e[c6>>2]|0,R3=(B6|0)==(kt|0),R3){e[o3>>2]=z3,e[c6>>2]=e6,Mi=z3;break}else v2();while(!1);i9=(o6|0)==0;do if(!i9){if(_6=kt+28|0,O6=e[_6>>2]|0,U3=553352+(O6<<2)|0,q6=e[U3>>2]|0,a9=(kt|0)==(q6|0),a9){if(e[U3>>2]=Mi,Xm=(Mi|0)==0,Xm){d9=1<>>0>>0,f9&&v2(),H9=o6+16|0,y6=e[H9>>2]|0,H6=(y6|0)==(kt|0),H6?e[H9>>2]=Mi:(A9=o6+20|0,e[A9>>2]=Mi),Y9=(Mi|0)==0,Y9)break;w9=e[138266]|0,we=Mi>>>0>>0,we&&v2(),ue=Mi+24|0,e[ue>>2]=o6,ie=kt+16|0,F9=e[ie>>2]|0,v9=(F9|0)==0;do if(!v9)if(W6=F9>>>0>>0,W6)v2();else{$9=Mi+16|0,e[$9>>2]=F9,ve=F9+24|0,e[ve>>2]=Mi;break}while(!1);if(Re=kt+20|0,de=e[Re>>2]|0,_9=(de|0)==0,!_9)if(Fe=e[138266]|0,Ge=de>>>0>>0,Ge)v2();else{He=Mi+20|0,e[He>>2]=de,o4=de+24|0,e[o4>>2]=Mi;break}}while(!1);return ke=xn>>>0<16,ke?(Ye=xn+x4|0,J9=Ye|3,Ve=kt+4|0,e[Ve>>2]=J9,Z1=Ye+4|0,he=kt+Z1|0,Ue=e[he>>2]|0,Ce=Ue|1,e[he>>2]=Ce):(W9=x4|3,k9=kt+4|0,e[k9>>2]=W9,k4=xn|1,I0=x4|4,Y4=kt+I0|0,e[Y4>>2]=k4,f0=xn+x4|0,nt=kt+f0|0,e[nt>>2]=xn,Je=e[138264]|0,V4=(Je|0)==0,V4||(ze=e[138267]|0,s4=Je>>>3,R4=s4<<1,re=553088+(R4<<2)|0,d4=e[138262]|0,Be=1<>2]|0,h4=e[138266]|0,ne=Ne>>>0

>>0,ne?v2():(T=fe,n$=Ne)),e[T>>2]=ze,I4=n$+12|0,e[I4>>2]=ze,Se=ze+8|0,e[Se>>2]=n$,a4=ze+12|0,e[a4>>2]=re),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=x4}else if(m4=t>>>0>4294967231,m4)Le=-1;else if(S9=t+11|0,f6=S9&-8,J4=e[138263]|0,Ie=(J4|0)==0,Ie)Le=f6;else{S4=0-f6|0,me=S9>>>8,z6=(me|0)==0,z6?_n=0:(F4=f6>>>0>16777215,F4?_n=31:(T4=me+1048320|0,st=T4>>>16,pe=st&8,xe=me<>>16,x9=W3&4,Oe=x9|pe,A4=xe<>>16,f8=N4&2,_8=Oe|f8,e8=14-_8|0,I8=A4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=f6>>>qt,i8=t8&1,x8=i8|Ot,_n=x8)),Ht=553352+(_n<<2)|0,Yt=e[Ht>>2]|0,Vt=(Yt|0)==0;e:do if(Vt)Mo=S4,I$=0,Mn=0,Xe=86;else for(_t=(_n|0)==31,xt=_n>>>1,Jt=25-xt|0,zt=_t?0:Jt,r8=f6<>2]|0,z4=Et&-8,G4=z4-f6|0,at=G4>>>0>>0,at)if(Lt=(z4|0)==(f6|0),Lt){Ro=G4,Pr=j7,qr=j7,Xe=90;break e}else Lo=G4,Ln=j7;else Lo=d$,Ln=Uo;if(L9=j7+20|0,b4=e[L9>>2]|0,E8=Da>>>31,L8=(j7+16|0)+(E8<<2)|0,o8=e[L8>>2]|0,M8=(b4|0)==0,$4=(b4|0)==(o8|0),op=M8|$4,au=op?su:b4,s8=(o8|0)==0,Kt=Da<<1,s8){Mo=Lo,I$=au,Mn=Ln,Xe=86;break}else d$=Lo,su=au,Da=Kt,j7=o8,Uo=Ln}while(!1);if((Xe|0)==86){if(Mt=(I$|0)==0,At=(Mn|0)==0,rp=Mt&At,rp){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,p4=J4&Rt,oe=(p4|0)==0,oe){Le=f6;break}lt=0-p4|0,Bt=p4<,ct=Bt+-1|0,Qt=ct>>>12,E4=Qt&16,K4=ct>>>E4,W4=K4>>>5,se=W4&8,P4=se|E4,C4=K4>>>se,gt=C4>>>2,_4=gt&4,De=P4|_4,yt=C4>>>_4,a8=yt>>>1,E3=a8&2,Z4=De|E3,wt=yt>>>E3,l4=wt>>>1,Z9=l4&1,c4=Z4|Z9,T9=wt>>>Z9,j4=c4+T9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,m$=C8,Rn=0}else m$=I$,Rn=Mn;$8=(m$|0)==0,$8?(ni=Mo,O9=Rn):(Ro=Mo,Pr=m$,qr=Rn,Xe=90)}if((Xe|0)==90)for(;;){if(Xe=0,Zt=Pr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-f6|0,dt=ut>>>0>>0,o0=dt?ut:Ro,p$=dt?Pr:qr,Ft=Pr+16|0,je=e[Ft>>2]|0,c8=(je|0)==0,!c8){Ro=o0,Pr=je,qr=p$,Xe=90;continue}if(Tt=Pr+20|0,D9=e[Tt>>2]|0,g8=(D9|0)==0,g8){ni=o0,O9=p$;break}else Ro=o0,Pr=D9,qr=p$,Xe=90}if(et=(O9|0)==0,et)Le=f6;else if(H8=e[138264]|0,K8=H8-f6|0,R8=ni>>>0>>0,R8){u8=e[138266]|0,F8=O9>>>0>>0,F8&&v2(),g4=O9+f6|0,Y8=O9>>>0>>0,Y8||v2(),ht=O9+24|0,Nt=e[ht>>2]|0,T8=O9+12|0,Xt=e[T8>>2]|0,O4=(Xt|0)==(O9|0);do if(O4){if(j8=O9+20|0,Ci=e[j8>>2]|0,X8=(Ci|0)==0,X8)if(Bi=O9+16|0,$i=e[Bi>>2]|0,c7=($i|0)==0,c7){Fi=0;break}else Dn=$i,Qa=Bi;else Dn=Ci,Qa=j8;for(;;){if(Qi=Dn+20|0,yi=e[Qi>>2]|0,g7=(yi|0)==0,!g7){Dn=yi,Qa=Qi;continue}if(wi=Dn+16|0,li=e[wi>>2]|0,u7=(li|0)==0,u7){Wm=Dn,$$=Qa;break}else Dn=li,Qa=wi}if(Vi=$$>>>0>>0,Vi)v2();else{e[$$>>2]=0,Fi=Wm;break}}else if(B4=O9+8|0,ae=e[B4>>2]|0,N8=ae>>>0>>0,N8&&v2(),Ai=ae+12|0,Oi=e[Ai>>2]|0,Hi=(Oi|0)==(O9|0),Hi||v2(),pi=Xt+8|0,Z8=e[pi>>2]|0,Ei=(Z8|0)==(O9|0),Ei){e[Ai>>2]=Xt,e[pi>>2]=ae,Fi=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(zi=O9+28|0,Ki=e[zi>>2]|0,vi=553352+(Ki<<2)|0,Wi=e[vi>>2]|0,ei=(O9|0)==(Wi|0),ei){if(e[vi>>2]=Fi,va=(Fi|0)==0,va){gi=1<>>0>>0,h7&&v2(),ki=Nt+16|0,Si=e[ki>>2]|0,bi=(Si|0)==(O9|0),bi?e[ki>>2]=Fi:(Xi=Nt+20|0,e[Xi>>2]=Fi),Di=(Fi|0)==0,Di)break;ii=e[138266]|0,_i=Fi>>>0>>0,_i&&v2(),e7=Fi+24|0,e[e7>>2]=Nt,ui=O9+16|0,J8=e[ui>>2]|0,xi=(J8|0)==0;do if(!xi)if(G8=J8>>>0>>0,G8)v2();else{di=Fi+16|0,e[di>>2]=J8,l9=J8+24|0,e[l9>>2]=Fi;break}while(!1);if(B8=O9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(U8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{yr=Fi+20|0,e[yr>>2]=vt,as=vt+24|0,e[as>>2]=Fi;break}}while(!1);As=ni>>>0<16;e:do if(As)Jn=ni+f6|0,$s=Jn|3,ls=O9+4|0,e[ls>>2]=$s,h1=Jn+4|0,zn=O9+h1|0,cs=e[zn>>2]|0,on=cs|1,e[zn>>2]=on;else{if(gs=f6|3,us=O9+4|0,e[us>>2]=gs,ds=ni|1,l0=f6|4,hs=O9+l0|0,e[hs>>2]=ds,C0=ni+f6|0,Wn=O9+C0|0,e[Wn>>2]=ni,Zn=ni>>>3,fs=ni>>>0<256,fs){sn=Zn<<1,jn=553088+(sn<<2)|0,an=e[138262]|0,Xn=1<>2]|0,Es=e[138266]|0,wr=to>>>0>>0,wr?v2():(F=An,s$=to)),e[F>>2]=g4,$n=s$+12|0,e[$n>>2]=g4,H0=f6+8|0,Cs=O9+H0|0,e[Cs>>2]=s$,Y0=f6+12|0,Bs=O9+Y0|0,e[Bs>>2]=jn;break}if(ln=ni>>>8,f7=(ln|0)==0,f7?Tr=0:(Qs=ni>>>0>16777215,Qs?Tr=31:(ys=ln+1048320|0,ro=ys>>>16,no=ro&8,oo=ln<>>16,cn=I7&4,vs=cn|no,so=oo<>>16,ao=bs&2,Ds=vs|ao,_s=14-Ds|0,xs=so<>>15,Ao=_s+Ls|0,Ms=Ao<<1,Rs=Ao+7|0,vr=ni>>>Rs,un=vr&1,Fs=un|Ms,Tr=Fs)),or=553352+(Tr<<2)|0,f1=f6+28|0,Ts=O9+f1|0,e[Ts>>2]=Tr,M1=f6+16|0,$o=O9+M1|0,x1=f6+20|0,dn=O9+x1|0,e[dn>>2]=0,e[$o>>2]=0,lo=e[138263]|0,hn=1<>2]=g4,Y1=f6+24|0,uo=O9+Y1|0,e[uo>>2]=or,n2=f6+12|0,ho=O9+n2|0,e[ho>>2]=g4,O1=f6+8|0,Us=O9+O1|0,e[Us>>2]=g4;break}kr=e[or>>2]|0,fo=kr+4|0,m7=e[fo>>2]|0,fn=m7&-8,Sr=(fn|0)==(ni|0);t:do if(Sr)Ti=kr;else{for(br=(Tr|0)==31,W7=Tr>>>1,Dr=25-W7|0,Io=br?0:Dr,Z7=ni<>>31,p7=(l$+16|0)+(xr<<2)|0,t7=e[p7>>2]|0,Ps=(t7|0)==0,Ps){v=p7,Zm=l$;break}if(S7=a$<<1,b7=t7+4|0,D7=e[b7>>2]|0,_r=D7&-8,Ar=(_r|0)==(ni|0),Ar){Ti=t7;break t}else a$=S7,l$=t7}if(hi=e[138266]|0,sl=v>>>0>>0,sl)v2();else{e[v>>2]=g4,E0=f6+24|0,In=O9+E0|0,e[In>>2]=Zm,O0=f6+12|0,mn=O9+O0|0,e[mn>>2]=g4,q0=f6+8|0,Ou=O9+q0|0,e[Ou>>2]=g4;break e}}while(!1);if(al=Ti+8|0,sA=e[al>>2]|0,Al=e[138266]|0,Hu=sA>>>0>=Al>>>0,ru=Ti>>>0>=Al>>>0,Yu=Hu&ru,Yu){Vu=sA+12|0,e[Vu>>2]=g4,e[al>>2]=g4,g2=f6+8|0,aA=O9+g2|0,e[aA>>2]=sA,h2=f6+12|0,$l=O9+h2|0,e[$l>>2]=Ti,Q0=f6+24|0,ll=O9+Q0|0,e[ll>>2]=0;break}else v2()}while(!1);return AA=O9+8|0,tt=AA,tt|0}else Le=f6}while(!1);if(pn=e[138264]|0,Ju=pn>>>0>>0,!Ju)return qs=pn-Le|0,$r=e[138267]|0,zu=qs>>>0>15,zu?(Ku=$r+Le|0,e[138267]=Ku,e[138264]=qs,Wu=qs|1,m1=Le+4|0,Zu=$r+m1|0,e[Zu>>2]=Wu,ju=$r+pn|0,e[ju>>2]=qs,Xu=Le|3,ed=$r+4|0,e[ed>>2]=Xu):(e[138264]=0,e[138267]=0,id=pn|3,rd=$r+4|0,e[rd>>2]=id,g0=pn+4|0,gl=$r+g0|0,Lr=e[gl>>2]|0,nd=Lr|1,e[gl>>2]=nd),od=$r+8|0,tt=od,tt|0;if(ul=e[138265]|0,sd=ul>>>0>Le>>>0,sd)return $A=ul-Le|0,e[138265]=$A,Hs=e[138268]|0,ad=Hs+Le|0,e[138268]=ad,Ad=$A|1,H=Le+4|0,cA=Hs+H|0,e[cA>>2]=Ad,dl=Le|3,hl=Hs+4|0,e[hl>>2]=dl,fl=Hs+8|0,tt=fl,tt|0;gA=e[138380]|0,Il=(gA|0)==0;do if(Il)if(Ys=BS(30)|0,$d=Ys+-1|0,ml=$d&Ys,cd=(ml|0)==0,cd){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,gd=aQ(0)|0,pl=gd&-16,ud=pl^1431655768,e[138380]=ud;break}else v2();while(!1);if(dd=Le+48|0,El=e[138382]|0,Cl=Le+47|0,Bl=El+Cl|0,Ql=0-El|0,En=Bl&Ql,hd=En>>>0>Le>>>0,!hd||(wl=e[138372]|0,fd=(wl|0)==0,!fd&&(vl=e[138370]|0,kl=vl+En|0,Id=kl>>>0<=vl>>>0,md=kl>>>0>wl>>>0,Sa=Id|md,Sa)))return tt=0,tt|0;pd=e[138373]|0,uA=pd&4,bl=(uA|0)==0;e:do if(bl){mo=e[138268]|0,Dl=(mo|0)==0;t:do if(Dl)Xe=174;else{for(Fo=553496;;){if(dA=e[Fo>>2]|0,Ed=dA>>>0>mo>>>0,!Ed&&(_l=Fo+4|0,Cd=e[_l>>2]|0,xl=dA+Cd|0,Bd=xl>>>0>mo>>>0,Bd)){S=Fo,b=_l;break}if(Qd=Fo+8|0,Ml=e[Qd>>2]|0,yd=(Ml|0)==0,yd){Xe=174;break t}else Fo=Ml}if(Fd=e[138265]|0,Td=Bl-Fd|0,Ks=Td&Ql,Nd=Ks>>>0<2147483647,Nd)if(Ws=Pi(Ks|0)|0,Gd=e[S>>2]|0,Pd=e[b>>2]|0,Od=Gd+Pd|0,ql=(Ws|0)==(Od|0),o=ql?Ks:0,ql)if(qd=(Ws|0)==-1,qd)Or=o;else{g6=Ws,L4=o,Xe=194;break e}else wa=Ws,o7=Ks,_a=o,Xe=184;else Or=0}while(!1);do if((Xe|0)==174)if(Vs=Pi(0)|0,wd=(Vs|0)==-1,wd)Or=0;else if(hA=Vs,Rl=e[138381]|0,Fl=Rl+-1|0,vd=Fl&hA,kd=(vd|0)==0,kd?Ur=En:(Sd=Fl+hA|0,Dd=0-Rl|0,_d=Sd&Dd,Js=En-hA|0,Tl=Js+_d|0,Ur=Tl),Nl=e[138370]|0,Gl=Nl+Ur|0,zs=Ur>>>0>Le>>>0,xd=Ur>>>0<2147483647,np=zs&xd,np){if(Ul=e[138372]|0,Ld=(Ul|0)==0,!Ld&&(Md=Gl>>>0<=Nl>>>0,Rd=Gl>>>0>Ul>>>0,sp=Md|Rd,sp)){Or=0;break}if(Ol=Pi(Ur|0)|0,fA=(Ol|0)==(Vs|0),Au=fA?Ur:0,fA){g6=Vs,L4=Au,Xe=194;break e}else wa=Ol,o7=Ur,_a=Au,Xe=184}else Or=0;while(!1);t:do if((Xe|0)==184){Hd=0-o7|0,Yd=(wa|0)!=-1,Vd=o7>>>0<2147483647,Ap=Vd&Yd,Hl=dd>>>0>o7>>>0,$p=Hl&Ap;do if($p)if(Yl=e[138382]|0,lr=Cl-o7|0,Zs=lr+Yl|0,mA=0-Yl|0,pA=Zs&mA,Cn=pA>>>0<2147483647,Cn)if(Jl=Pi(pA|0)|0,Bn=(Jl|0)==-1,Bn){Pi(Hd|0)|0,Or=_a;break t}else{Jd=pA+o7|0,h$=Jd;break}else h$=o7;else h$=o7;while(!1);if(zl=(wa|0)==-1,zl)Or=_a;else{g6=wa,L4=h$,Xe=194;break e}}while(!1);zd=e[138373]|0,Kd=zd|4,e[138373]=Kd,$u=Or,Xe=191}else $u=0,Xe=191;while(!1);if((Xe|0)==191&&(Zd=En>>>0<2147483647,Zd&&(js=Pi(En|0)|0,EA=Pi(0)|0,Mr=(js|0)!=-1,jd=(EA|0)!=-1,ap=Mr&jd,Xd=js>>>0>>0,lp=Xd&ap,lp&&(Kl=EA,CA=js,Wl=Kl-CA|0,Zl=Le+40|0,jl=Wl>>>0>Zl>>>0,C2=jl?Wl:$u,jl&&(g6=js,L4=C2,Xe=194)))),(Xe|0)==194){th=e[138370]|0,BA=th+L4|0,e[138370]=BA,ih=e[138371]|0,rh=BA>>>0>ih>>>0,rh&&(e[138371]=BA),z9=e[138268]|0,nh=(z9|0)==0;e:do if(nh){for(Xl=e[138266]|0,oh=(Xl|0)==0,sh=g6>>>0>>0,cp=oh|sh,cp&&(e[138266]=g6),e[138374]=g6,e[138375]=L4,e[138377]=0,ah=e[138380]|0,e[138271]=ah,e[138270]=-1,ka=0;yA=ka<<1,ec=553088+(yA<<2)|0,d0=yA+3|0,Ah=553088+(d0<<2)|0,e[Ah>>2]=ec,n0=yA+2|0,$h=553088+(n0<<2)|0,e[$h>>2]=ec,tc=ka+1|0,tp=(tc|0)==32,!tp;)ka=tc;ic=L4+-40|0,lh=g6+8|0,wA=lh,vA=wA&7,nc=(vA|0)==0,ch=0-wA|0,oc=ch&7,kA=nc?0:oc,gh=g6+kA|0,sc=ic-kA|0,e[138268]=gh,e[138265]=sc,uh=sc|1,X=kA+4|0,dh=g6+X|0,e[dh>>2]=uh,d1=L4+-36|0,hh=g6+d1|0,e[hh>>2]=40,fh=e[138384]|0,e[138269]=fh}else{for(No=553496;;){if(Ac=e[No>>2]|0,SA=No+4|0,Xs=e[SA>>2]|0,$c=Ac+Xs|0,Ih=(g6|0)==($c|0),Ih){E=Ac,Q=SA,B=Xs,gp=No,Xe=204;break}if(lc=No+8|0,cc=e[lc>>2]|0,mh=(cc|0)==0,mh)break;No=cc}if((Xe|0)==204&&(ph=gp+12|0,Eh=e[ph>>2]|0,Ch=Eh&8,Bh=(Ch|0)==0,Bh&&(Qh=z9>>>0>=E>>>0,yh=z9>>>0>>0,ou=yh&Qh,ou))){wh=B+L4|0,e[Q>>2]=wh,vh=e[138265]|0,uc=vh+L4|0,kh=z9+8|0,dc=kh,Sh=dc&7,bh=(Sh|0)==0,hc=0-dc|0,Dh=hc&7,po=bh?0:Dh,fc=z9+po|0,bA=uc-po|0,e[138268]=fc,e[138265]=bA,_h=bA|1,c0=po+4|0,ea=z9+c0|0,e[ea>>2]=_h,a1=uc+4|0,DA=z9+a1|0,e[DA>>2]=40,xh=e[138384]|0,e[138269]=xh;break}for(Ic=e[138266]|0,Lh=g6>>>0>>0,Lh?(e[138266]=g6,Qo=g6):Qo=Ic,Mh=g6+L4|0,Go=553496;;){if(Rh=e[Go>>2]|0,Fh=(Rh|0)==(Mh|0),Fh){I=Go,fr=Go,Xe=212;break}if(Th=Go+8|0,mc=e[Th>>2]|0,Nh=(mc|0)==0,Nh){To=553496;break}else Go=mc}if((Xe|0)==212)if(Gh=fr+12|0,Uh=e[Gh>>2]|0,xA=Uh&8,Ph=(xA|0)==0,Ph){e[I>>2]=g6,LA=fr+4|0,Oh=e[LA>>2]|0,qh=Oh+L4|0,e[LA>>2]=qh,Hh=g6+8|0,pc=Hh,Yh=pc&7,Vh=(Yh|0)==0,Jh=0-pc|0,Kh=Jh&7,ia=Vh?0:Kh,Wh=g6+ia|0,B0=L4+8|0,Zh=g6+B0|0,Ec=Zh,jh=Ec&7,Xh=(jh|0)==0,ef=0-Ec|0,tf=ef&7,E7=Xh?0:tf,_0=E7+L4|0,C7=g6+_0|0,Bc=C7,MA=Wh,rf=Bc-MA|0,$0=ia+Le|0,i7=g6+$0|0,Co=rf-Le|0,nf=Le|3,p0=ia+4|0,of=g6+p0|0,e[of>>2]=nf,sf=(C7|0)==(z9|0);t:do if(sf)af=e[138265]|0,Qc=af+Co|0,e[138265]=Qc,e[138268]=i7,$f=Qc|1,H1=$0+4|0,lf=g6+H1|0,e[lf>>2]=$f;else{if(yc=e[138267]|0,cf=(C7|0)==(yc|0),cf){gf=e[138264]|0,Bo=gf+Co|0,e[138264]=Bo,e[138267]=i7,RA=Bo|1,z1=$0+4|0,uf=g6+z1|0,e[uf>>2]=RA,q1=Bo+$0|0,wc=g6+q1|0,e[wc>>2]=Bo;break}if($1=L4+4|0,K0=$1+E7|0,hf=g6+K0|0,ra=e[hf>>2]|0,ff=ra&3,If=(ff|0)==1,If){vc=ra&-8,kc=ra>>>3,mf=ra>>>0<256;i:do if(mf){U1=E7|8,z0=U1+L4|0,pf=g6+z0|0,yn=e[pf>>2]|0,D1=L4+12|0,J0=D1+E7|0,Ef=g6+J0|0,wn=e[Ef>>2]|0,Bf=kc<<1,Sc=553088+(Bf<<2)|0,Qf=(yn|0)==(Sc|0);do if(!Qf){if(yf=yn>>>0>>0,yf&&v2(),bc=yn+12|0,wf=e[bc>>2]|0,Dc=(wf|0)==(C7|0),Dc)break;v2()}while(!1);if(vf=(wn|0)==(yn|0),vf){FA=1<>>0>>0,bf&&v2(),Lc=wn+8|0,Df=e[Lc>>2]|0,_f=(Df|0)==(C7|0),_f){N=Lc;break}v2()}while(!1);xf=yn+12|0,e[xf>>2]=wn,e[N>>2]=yn}else{R1=E7|24,M0=R1+L4|0,Lf=g6+M0|0,yo=e[Lf>>2]|0,V1=L4+12|0,v0=V1+E7|0,Mf=g6+v0|0,vn=e[Mf>>2]|0,Rf=(vn|0)==(C7|0);do if(Rf){if(j1=E7|16,L0=$1+j1|0,Nc=g6+L0|0,Gc=e[Nc>>2]|0,Uf=(Gc|0)==0,Uf)if(G0=j1+L4|0,Uc=g6+G0|0,Pc=e[Uc>>2]|0,Pf=(Pc|0)==0,Pf){Ri=0;break}else bn=Pc,Ba=Uc;else bn=Gc,Ba=Nc;for(;;){if(Oc=bn+20|0,qc=e[Oc>>2]|0,qf=(qc|0)==0,!qf){bn=qc,Ba=Oc;continue}if(Hc=bn+16|0,Yc=e[Hc>>2]|0,Hf=(Yc|0)==0,Hf){Km=bn,eu=Ba;break}else bn=Yc,Ba=Hc}if(Yf=eu>>>0>>0,Yf)v2();else{e[eu>>2]=0,Ri=Km;break}}else if(F1=E7|8,T0=F1+L4|0,Ff=g6+T0|0,TA=e[Ff>>2]|0,Tf=TA>>>0>>0,Tf&&v2(),NA=TA+12|0,GA=e[NA>>2]|0,Rc=(GA|0)==(C7|0),Rc||v2(),Fc=vn+8|0,Gf=e[Fc>>2]|0,Tc=(Gf|0)==(C7|0),Tc){e[NA>>2]=vn,e[Fc>>2]=TA,Ri=vn;break}else v2();while(!1);if(Vc=(yo|0)==0,Vc)break;b1=L4+28|0,N0=b1+E7|0,UA=g6+N0|0,Jc=e[UA>>2]|0,Wc=553352+(Jc<<2)|0,Vf=e[Wc>>2]|0,Jf=(C7|0)==(Vf|0);do if(Jf){if(e[Wc>>2]=Ri,ep=(Ri|0)==0,!ep)break;zf=1<>>0>>0,Xf&&v2(),Zc=yo+16|0,eI=e[Zc>>2]|0,tI=(eI|0)==(C7|0),tI?e[Zc>>2]=Ri:(iI=yo+20|0,e[iI>>2]=Ri),jc=(Ri|0)==0,jc)break i;while(!1);Xc=e[138266]|0,rI=Ri>>>0>>0,rI&&v2(),eg=Ri+24|0,e[eg>>2]=yo,_1=E7|16,U0=_1+L4|0,OA=g6+U0|0,na=e[OA>>2]|0,tg=(na|0)==0;do if(!tg)if(oI=na>>>0>>0,oI)v2();else{sI=Ri+16|0,e[sI>>2]=na,aI=na+24|0,e[aI>>2]=Ri;break}while(!1);if(V0=$1+_1|0,ig=g6+V0|0,oa=e[ig>>2]|0,AI=(oa|0)==0,AI)break;if($I=e[138266]|0,lI=oa>>>0<$I>>>0,lI)v2();else{cI=Ri+20|0,e[cI>>2]=oa,gI=oa+24|0,e[gI>>2]=Ri;break}}while(!1);s2=vc|E7,F0=s2+L4|0,dI=g6+F0|0,hI=vc+Co|0,nu=dI,n7=hI}else nu=C7,n7=Co;if(rg=nu+4|0,fI=e[rg>>2]|0,II=fI&-2,e[rg>>2]=II,mI=n7|1,b0=$0+4|0,pI=g6+b0|0,e[pI>>2]=mI,y0=n7+$0|0,sa=g6+y0|0,e[sa>>2]=n7,ng=n7>>>3,EI=n7>>>0<256,EI){kn=ng<<1,og=553088+(kn<<2)|0,sg=e[138262]|0,qA=1<>2]|0,yI=e[138266]|0,vI=$g>>>0>>0,!vI){R=Ag,o$=$g;break}v2()}while(!1);e[R>>2]=i7,kI=o$+12|0,e[kI>>2]=i7,w1=$0+8|0,SI=g6+w1|0,e[SI>>2]=o$,v1=$0+12|0,aa=g6+v1|0,e[aa>>2]=og;break}HA=n7>>>8,bI=(HA|0)==0;do if(bI)Nr=0;else{if(DI=n7>>>0>16777215,DI){Nr=31;break}_I=HA+1048320|0,xI=_I>>>16,lg=xI&8,cg=HA<>>16,gg=RI&4,Rr=gg|lg,ug=cg<>>16,hg=FI&2,Aa=Rr|hg,NI=14-Aa|0,GI=ug<>>15,fg=NI+$a|0,UI=fg<<1,PI=fg+7|0,Ig=n7>>>PI,OI=Ig&1,qI=OI|UI,Nr=qI}while(!1);if(YA=553352+(Nr<<2)|0,k0=$0+28|0,HI=g6+k0|0,e[HI>>2]=Nr,Z0=$0+16|0,YI=g6+Z0|0,P0=$0+20|0,VI=g6+P0|0,e[VI>>2]=0,e[YI>>2]=0,mg=e[138263]|0,pg=1<>2]=i7,s1=$0+24|0,wo=g6+s1|0,e[wo>>2]=YA,i1=$0+12|0,KI=g6+i1|0,e[KI>>2]=i7,o1=$0+8|0,WI=g6+o1|0,e[WI>>2]=i7;break}VA=e[YA>>2]|0,Bg=VA+4|0,ZI=e[Bg>>2]|0,jI=ZI&-8,XI=(jI|0)==(n7|0);i:do if(XI)Gr=VA;else{for(em=(Nr|0)==31,Qg=Nr>>>1,tm=25-Qg|0,im=em?0:tm,rm=n7<>>31,Sg=(c$+16|0)+(kg<<2)|0,vo=e[Sg>>2]|0,_7=(vo|0)==0,_7){a=Sg,jm=c$;break}if(nm=xo<<1,om=vo+4|0,wg=e[om>>2]|0,vg=wg&-8,sm=(vg|0)==(n7|0),sm){Gr=vo;break i}else xo=nm,c$=vo}if(gr=e[138266]|0,am=a>>>0>>0,am)v2();else{e[a>>2]=i7,Q1=$0+24|0,Am=g6+Q1|0,e[Am>>2]=jm,p1=$0+12|0,$m=g6+p1|0,e[$m>>2]=i7,B1=$0+8|0,lm=g6+B1|0,e[lm>>2]=i7;break t}}while(!1);if(JA=Gr+8|0,ga=e[JA>>2]|0,Dg=e[138266]|0,_g=ga>>>0>=Dg>>>0,u$=Gr>>>0>=Dg>>>0,cm=_g&u$,cm){ko=ga+12|0,e[ko>>2]=i7,e[JA>>2]=i7,j0=$0+8|0,gm=g6+j0|0,e[gm>>2]=ga,E1=$0+12|0,da=g6+E1|0,e[da>>2]=Gr,I1=$0+24|0,zA=g6+I1|0,e[zA>>2]=0;break}else v2()}while(!1);return u1=ia|8,um=g6+u1|0,tt=um,tt|0}else To=553496;for(;;){if(KA=e[To>>2]|0,dm=KA>>>0>z9>>>0,!dm&&(hm=To+4|0,xg=e[hm>>2]|0,ha=KA+xg|0,fm=ha>>>0>z9>>>0,fm)){g=KA,h=xg,m=ha;break}Im=To+8|0,mm=e[Im>>2]|0,To=mm}if(u0=h+-47|0,h0=h+-39|0,pm=g+h0|0,Mg=pm,Em=Mg&7,ri=(Em|0)==0,_e=0-Mg|0,r7=_e&7,Cm=ri?0:r7,g1=u0+Cm|0,Fg=g+g1|0,WA=z9+16|0,Bm=Fg>>>0>>0,Fr=Bm?z9:Fg,So=Fr+8|0,Qm=L4+-40|0,ym=g6+8|0,Tg=ym,ZA=Tg&7,wm=(ZA|0)==0,Gg=0-Tg|0,Ug=Gg&7,jA=wm?0:Ug,XA=g6+jA|0,Pg=Qm-jA|0,e[138268]=XA,e[138265]=Pg,bo=Pg|1,i0=jA+4|0,e$=g6+i0|0,e[e$>>2]=bo,A1=L4+-36|0,Og=g6+A1|0,e[Og>>2]=40,vm=e[138384]|0,e[138269]=vm,Sn=Fr+4|0,e[Sn>>2]=27,e[So>>2]=e[138374]|0,e[So+4>>2]=e[138375]|0,e[So+8>>2]=e[138376]|0,e[So+12>>2]=e[138377]|0,e[138374]=g6,e[138375]=L4,e[138377]=0,e[138376]=So,qg=Fr+28|0,e[qg>>2]=7,fa=Fr+32|0,Sm=fa>>>0>>0,Sm)for(x7=qg;Hg=x7+4|0,e[Hg>>2]=7,bm=x7+8|0,Dm=bm>>>0>>0,Dm;)x7=Hg;if(_m=(Fr|0)==(z9|0),!_m){if(xm=Fr,Lm=z9,L7=xm-Lm|0,Rm=e[Sn>>2]|0,Fm=Rm&-2,e[Sn>>2]=Fm,Tm=L7|1,Yg=z9+4|0,e[Yg>>2]=Tm,e[Fr>>2]=L7,B7=L7>>>3,Ia=L7>>>0<256,Ia){t$=B7<<1,Vg=553088+(t$<<2)|0,Jg=e[138262]|0,zg=1<>2]|0,Pm=e[138266]|0,Om=Zg>>>0>>0,Om?v2():(L=Wg,r$=Zg)),e[L>>2]=z9,jg=r$+12|0,e[jg>>2]=z9,qm=z9+8|0,e[qm>>2]=r$,ma=z9+12|0,e[ma>>2]=Vg;break}if(pa=L7>>>8,Hm=(pa|0)==0,Hm?ur=0:(i$=L7>>>0>16777215,i$?ur=31:(Ym=pa+1048320|0,Vm=Ym>>>16,Xg=Vm&8,_o=pa<>>16,c2=zm&4,r2=c2|Xg,A2=_o<>>16,m2=o2&2,t2=r2|m2,k2=14-t2|0,D2=A2<>>15,N2=k2+S2|0,L2=N2<<1,U2=N2+7|0,p2=L7>>>U2,W2=p2&1,P2=W2|L2,ur=P2)),V2=553352+(ur<<2)|0,G2=z9+28|0,e[G2>>2]=ur,q2=z9+20|0,e[q2>>2]=0,e[WA>>2]=0,Z2=e[138263]|0,H2=1<>2]=z9,i5=z9+24|0,e[i5>>2]=V2,x5=z9+12|0,e[x5>>2]=z9,j2=z9+8|0,e[j2>>2]=z9;break}I5=e[V2>>2]|0,b5=I5+4|0,Y5=e[b5>>2]|0,b2=Y5&-8,B5=(b2|0)==(L7|0);t:do if(B5)ya=I5;else{for(s5=(ur|0)==31,R2=ur>>>1,M2=25-R2|0,y2=s5?0:M2,Q5=L7<>>31,u5=(g$+16|0)+($5<<2)|0,L5=e[u5>>2]|0,y5=(L5|0)==0,y5){$=u5,iu=g$;break}if(N5=A$<<1,m5=L5+4|0,M5=e[m5>>2]|0,Y2=M5&-8,p5=(Y2|0)==(L7|0),p5){ya=L5;break t}else A$=N5,g$=L5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=z9,d5=z9+24|0,e[d5>>2]=iu,l5=z9+12|0,e[l5>>2]=z9,u2=z9+8|0,e[u2>>2]=z9;break e}}while(!1);if(w5=ya+8|0,r5=e[w5>>2]|0,a5=e[138266]|0,h5=r5>>>0>=a5>>>0,ip=ya>>>0>=a5>>>0,z2=h5&ip,z2){f5=r5+12|0,e[f5>>2]=z9,e[w5>>2]=z9,n5=z9+8|0,e[n5>>2]=r5,R5=z9+12|0,e[R5>>2]=ya,e5=z9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return J5=F2-Le|0,e[138265]=J5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=J5|1,Z=Le+4|0,h3=i3+Z|0,e[h3>>2]=I3,K5=Le|3,r3=i3+4|0,e[r3>>2]=K5,a3=i3+8|0,tt=a3,tt|0}return G5=sQ()|0,e[G5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0,me=0,z6=0,F4=0,T4=0,st=0,pe=0,xe=0,mt=0,W3=0,x9=0,b9=0,Oe=0,A4=0,h8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){H=t+-8|0,W2=e[138266]|0,v6=H>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,ie=f9&3,Ge=(ie|0)==1,Ge&&v2(),W9=f9&-8,Q=W9+-8|0,re=t+Q|0,d0=f9&1,n0=(d0|0)==0;do if(n0){if(_0=e[H>>2]|0,L0=(ie|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+W9|0,b1=x0>>>0>>0,b1&&v2(),q1=e[138267]|0,s2=(x0|0)==(q1|0),s2){if(e0=W9+-4|0,c0=t+e0|0,$0=e[c0>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){W3=x0,x9=j0;break}e[138264]=j0,I0=$0&-2,e[c0>>2]=I0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[re>>2]=j0;return}if(o2=_0>>>3,P2=_0>>>0<256,P2){if(K=y+8|0,x5=t+K|0,y2=e[x5>>2]|0,a0=y+12|0,y5=t+a0|0,z2=e[y5>>2]|0,I3=o2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),d6=y2+12|0,L3=e[d6>>2]|0,K6=(L3|0)==(x0|0),K6||v2()),e9=(z2|0)==(y2|0),e9){V6=1<>>0>>0,T6&&v2(),i9=z2+8|0,O6=e[i9>>2]|0,U3=(O6|0)==(x0|0),U3?g=i9:v2()),q6=y2+12|0,e[q6>>2]=z2,e[g>>2]=y2,W3=x0,x9=j0;break}M=y+24|0,a9=t+M|0,d9=e[a9>>2]|0,L=y+12|0,o9=t+L|0,B9=e[o9>>2]|0,Q9=(B9|0)==(x0|0);do if(Q9){if(F=y+20|0,ue=t+F|0,Ee=e[ue>>2]|0,V9=(Ee|0)==0,V9)if(R=y+16|0,F9=t+R|0,v9=e[F9>>2]|0,W6=(v9|0)==0,W6){S9=0;break}else Pe=v9,S4=F9;else Pe=Ee,S4=ue;for(;;){if($9=Pe+20|0,ve=e[$9>>2]|0,Re=(ve|0)==0,!Re){Pe=ve,S4=$9;continue}if(de=Pe+16|0,_9=e[de>>2]|0,Fe=(_9|0)==0,Fe){m4=Pe,be=S4;break}else Pe=_9,S4=de}if(Te=be>>>0>>0,Te)v2();else{e[be>>2]=0,S9=m4;break}}else if(V=y+8|0,y9=t+V|0,h9=e[y9>>2]|0,H9=h9>>>0>>0,H9&&v2(),y6=h9+12|0,H6=e[y6>>2]|0,A9=(H6|0)==(x0|0),A9||v2(),Y9=B9+8|0,w9=e[Y9>>2]|0,we=(w9|0)==(x0|0),we){e[y6>>2]=B9,e[Y9>>2]=h9,S9=B9;break}else v2();while(!1);if(He=(d9|0)==0,He)W3=x0,x9=j0;else{if(T=y+28|0,o4=t+T|0,ke=e[o4>>2]|0,Ye=553352+(ke<<2)|0,J9=e[Ye>>2]|0,Ve=(x0|0)==(J9|0),Ve){if(e[Ye>>2]=S9,pe=(S9|0)==0,pe){he=1<>>0>>0,k4&&v2(),Y4=d9+16|0,nt=e[Y4>>2]|0,Je=(nt|0)==(x0|0),Je?e[Y4>>2]=S9:(V4=d9+20|0,e[V4>>2]=S9),ze=(S9|0)==0,ze){W3=x0,x9=j0;break}s4=e[138266]|0,R4=S9>>>0>>0,R4&&v2(),ot=S9+24|0,e[ot>>2]=d9,N=y+16|0,d4=t+N|0,Be=e[d4>>2]|0,N6=(Be|0)==0;do if(!N6)if(Ke=Be>>>0>>0,Ke)v2();else{P9=S9+16|0,e[P9>>2]=Be,fe=Be+24|0,e[fe>>2]=S9;break}while(!1);if(G=y+20|0,Ne=t+G|0,h4=e[Ne>>2]|0,ne=(h4|0)==0,ne)W3=x0,x9=j0;else if(f4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{X=S9+20|0,e[X>>2]=h4,u0=h4+24|0,e[u0>>2]=S9,W3=x0,x9=j0;break}}}else W3=H,x9=W9;while(!1);if(h0=W3>>>0>>0,h0||v2(),D=W9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(re|0)==(y0|0),w0){if(B0=e[138265]|0,K0=B0+x9|0,e[138265]=K0,e[138268]=W3,M0=K0|1,v0=W3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(W3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(re|0)==(U0|0),O0){k0=e[138264]|0,V0=k0+x9|0,e[138264]=V0,e[138267]=W3,F0=V0|1,G0=W3+4|0,e[G0>>2]=F0,z0=W3+V0|0,e[z0>>2]=V0;return}J0=C0&-8,q0=J0+x9|0,Z0=C0>>>3,P0=C0>>>0<256;do if(P0){if(H0=t+W9|0,s1=e[H0>>2]|0,w=W9|4,Y0=t+w|0,i1=e[Y0>>2]|0,o1=Z0<<1,h1=553088+(o1<<2)|0,u1=(s1|0)==(h1|0),u1||(m1=e[138266]|0,f1=s1>>>0>>0,f1&&v2(),d1=s1+12|0,A1=e[d1>>2]|0,g1=(A1|0)==(re|0),g1||v2()),a1=(i1|0)==(s1|0),a1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(re|0),L1?$=v1:v2()),M1=s1+12|0,e[M1>>2]=i1,e[$>>2]=s1}else{W=W9+16|0,_1=t+W|0,R1=e[_1>>2]|0,r0=W9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(re|0);do if(D1){if(J=W9+12|0,j1=t+J|0,O1=e[j1>>2]|0,g2=(O1|0)==0,g2)if(s0=W9+8|0,W1=t+s0|0,h2=e[W1>>2]|0,C2=(h2|0)==0,C2){Ie=0;break}else f6=h2,me=W1;else f6=O1,me=j1;for(;;){if(a2=f6+20|0,K1=e[a2>>2]|0,d2=(K1|0)==0,!d2){f6=K1,me=a2;continue}if(l2=f6+16|0,i2=e[l2>>2]|0,c2=(i2|0)==0,c2){J4=f6,z6=me;break}else f6=i2,me=l2}if(r2=e[138266]|0,A2=z6>>>0>>0,A2)v2();else{e[z6>>2]=0,Ie=J4;break}}else if(P1=t+W9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),z1=Z1+12|0,H1=e[z1>>2]|0,Y1=(H1|0)==(re|0),Y1||v2(),V1=U1+8|0,X1=e[V1>>2]|0,n2=(X1|0)==(re|0),n2){e[z1>>2]=U1,e[V1>>2]=Z1,Ie=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=W9+20|0,m2=t+S|0,t2=e[m2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(re|0)==(D2|0),S2){if(e[k2>>2]=Ie,xe=(Ie|0)==0,xe){Q2=1<>>0>>0,V2&&v2(),G2=R1+16|0,q2=e[G2>>2]|0,Z2=(q2|0)==(re|0),Z2?e[G2>>2]=Ie:(A5=R1+20|0,e[A5>>2]=Ie),H2=(Ie|0)==0,H2)break;N1=e[138266]|0,t5=Ie>>>0>>0,t5&&v2(),T5=Ie+24|0,e[T5>>2]=R1,b=W9+8|0,i5=t+b|0,j2=e[i5>>2]|0,I5=(j2|0)==0;do if(!I5)if(b5=j2>>>0>>0,b5)v2();else{Y5=Ie+16|0,e[Y5>>2]=j2,g5=j2+24|0,e[g5>>2]=Ie;break}while(!1);if(v=W9+12|0,b2=t+v|0,B5=e[b2>>2]|0,s5=(B5|0)==0,!s5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=Ie+20|0,e[Q5>>2]=B5,N5=B5+24|0,e[N5>>2]=Ie;break}}}while(!1);if(m5=q0|1,L5=W3+4|0,e[L5>>2]=m5,q5=W3+q0|0,e[q5>>2]=q0,M5=e[138267]|0,Y2=(W3|0)==(M5|0),Y2){e[138264]=q0;return}else b9=q0}else p5=C0&-2,e[p0>>2]=p5,$5=x9|1,u5=W3+4|0,e[u5>>2]=$5,T1=W3+x9|0,e[T1>>2]=x9,b9=x9;if(D5=b9>>>3,d5=b9>>>0<256,d5){l5=D5<<1,X2=553088+(l5<<2)|0,u2=e[138262]|0,w5=1<>2]|0,R5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(h=f5,I4=n5)),e[h>>2]=W3,c5=I4+12|0,e[c5>>2]=W3,F2=W3+8|0,e[F2>>2]=I4,v5=W3+12|0,e[v5>>2]=X2;return}J5=b9>>>8,i3=(J5|0)==0,i3?Se=0:(E5=b9>>>0>16777215,E5?Se=31:(h3=J5+1048320|0,K5=h3>>>16,r3=K5&8,a3=J5<>>16,W5=G5&4,D3=W5|r3,f3=a3<>>16,X5=q3&2,b3=D3|X5,t3=14-b3|0,s6=f3<>>15,H3=t3+T3|0,c3=H3<<1,g3=H3+7|0,u3=b9>>>g3,z5=u3&1,H5=z5|c3,Se=H5)),V5=553352+(Se<<2)|0,S5=W3+28|0,e[S5>>2]=Se,Y3=W3+16|0,U5=W3+20|0,e[U5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=W3,_3=W3+24|0,e[_3>>2]=V5,S3=W3+12|0,e[S3>>2]=W3,a6=W3+8|0,e[a6>>2]=W3;else{i6=e[V5>>2]|0,V3=i6+4|0,Z5=e[V3>>2]|0,x3=Z5&-8,d3=(x3|0)==(b9|0);t:do if(d3)F4=i6;else{for(J3=(Se|0)==31,m3=Se>>>1,L6=25-m3|0,M6=J3?0:L6,R6=b9<>>31,o6=(T4+16|0)+(n6<<2)|0,h6=e[o6>>2]|0,C6=(h6|0)==0,C6){o=o6,st=T4;break}if(S6=a4<<1,r6=h6+4|0,b6=e[r6>>2]|0,G6=b6&-8,X6=(G6|0)==(b9|0),X6){F4=h6;break t}else a4=S6,T4=h6}if(z3=e[138266]|0,M3=o>>>0>>0,M3)v2();else{e[o>>2]=W3,K3=W3+24|0,e[K3>>2]=st,e6=W3+12|0,e[e6>>2]=W3,F6=W3+8|0,e[F6>>2]=W3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){R3=o3+12|0,e[R3>>2]=W3,e[l6>>2]=W3,Y6=W3+8|0,e[Y6>>2]=o3,A6=W3+12|0,e[A6>>2]=F4,D6=W3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(U6=e[138270]|0,t9=U6+-1|0,e[138270]=t9,Q6=(t9|0)==0,Q6)A4=553504;else return;for(;Oe=e[A4>>2]|0,G3=(Oe|0)==0,n9=Oe+8|0,!G3;)A4=n9;e[138270]=-1}}function ce(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=R9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,h=w&3,m=(h|0)==0,m)||u4(S|0,0,D|0)|0,S|0}function K7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0;return K=C,a=(t|0)==0,a?($=R9(o)|0,V=$,V|0):(w=o>>>0>4294967231,w?(M=sQ()|0,e[M>>2]=12,V=0,V|0):(L=o>>>0<11,R=o+11|0,F=R&-8,T=L?16:F,N=t+-8|0,G=lD(N,T)|0,g=(G|0)==0,g?(m=R9(o)|0,I=(m|0)==0,I?(V=0,V|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ge(m|0,t|0,x|0)|0,E2(t),V=m,V|0)):(h=G+8|0,V=h,V|0)))}function lD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0;if(W5=C,N=t+4|0,G=e[N>>2]|0,D1=G&-8,n2=t+D1|0,l2=e[138266]|0,S2=G&3,I3=t>>>0>=l2>>>0,h3=(S2|0)!=1,K5=h3&I3,Z2=t>>>0>>0,r3=K5&Z2,r3||v2(),x=D1|4,Y5=t+x|0,L5=e[Y5>>2]|0,l5=L5&1,V=(l5|0)==0,V&&v2(),i0=(S2|0)==0,i0)return h0=o>>>0<256,h0?(E5=0,E5|0):(K0=o+4|0,G0=D1>>>0>>0,!G0&&(o1=D1-o|0,E1=e[138382]|0,_1=E1<<1,F1=o1>>>0>_1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=G&1,z1=x1|o,q1=z1|2,e[N>>2]=q1,y=o+4|0,H1=t+y|0,Y1=P1|3,e[H1>>2]=Y1,V1=e[Y5>>2]|0,X1=V1|1,e[Y5>>2]=X1,TQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(n2|0)==(j1|0),O1)return g2=e[138265]|0,W1=g2+D1|0,h2=W1>>>0>o>>>0,h2?(s2=W1-o|0,C2=t+o|0,a2=G&1,K1=a2|o,d2=K1|2,e[N>>2]=d2,D=o+4|0,i2=t+D|0,c2=s2|1,e[i2>>2]=c2,e[138268]=C2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,A2=(n2|0)==(r2|0),A2)return e2=e[138264]|0,o2=e2+D1|0,m2=o2>>>0>>0,m2?(E5=0,E5|0):(t2=o2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+o2|0,N2=G&1,L2=N2|o,U2=L2|2,e[N>>2]=U2,b=o+4|0,p2=t+b|0,W2=t2|1,e[p2>>2]=W2,e[Q2>>2]=t2,w=o2+4|0,P2=t+w|0,V2=e[P2>>2]|0,G2=V2&-2,e[P2>>2]=G2,a3=D2,B3=t2):(q2=G&1,A5=q2|o2,H2=A5|2,e[N>>2]=H2,S=o2+4|0,N1=t+S|0,t5=e[N1>>2]|0,T5=t5|1,e[N1>>2]=T5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(i5=L5&2,x5=(i5|0)==0,!x5||(j2=L5&-8,I5=j2+D1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=L5>>>3,B5=L5>>>0<256;do if(B5){if(Q=D1+8|0,s5=t+Q|0,R2=e[s5>>2]|0,B=D1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,N5=553088+(Q5<<2)|0,m5=(R2|0)==(N5|0),m5||(q5=R2>>>0>>0,q5&&v2(),M5=R2+12|0,Y2=e[M5>>2]|0,p5=(Y2|0)==(n2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0>>0,X2&&v2(),u2=y2+8|0,w5=e[u2>>2]|0,r5=(w5|0)==(n2|0),r5?$=u2:v2()),a5=R2+12|0,e[a5>>2]=y2,e[$>>2]=R2}else{g=D1+24|0,h5=t+g|0,z2=e[h5>>2]|0,v=D1+12|0,f5=t+v|0,n5=e[f5>>2]|0,R5=(n5|0)==(n2|0);do if(R5){if(L=D1+20|0,d0=t+L|0,X=e[d0>>2]|0,u0=(X|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else e5=$0,v5=c0;else e5=X,v5=d0;for(;;){if(Z=e5+20|0,I0=e[Z>>2]|0,g0=(I0|0)==0,!g0){e5=I0,v5=Z;continue}if(f0=e5+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=e5,J5=v5;break}else e5=n0,v5=f0}if(C0=J5>>>0>>0,C0)v2();else{e[J5>>2]=0,F2=c5;break}}else if(E=D1+8|0,e0=t+E|0,K=e[e0>>2]|0,a0=K>>>0>>0,a0&&v2(),W=K+12|0,r0=e[W>>2]|0,s0=(r0|0)==(n2|0),s0||v2(),J=n5+8|0,o0=e[J>>2]|0,H=(o0|0)==(n2|0),H){e[W>>2]=n5,e[J>>2]=K,F2=n5;break}else v2();while(!1);if(S0=(z2|0)==0,!S0){if(h=D1+28|0,Q0=t+h|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(n2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),U0=z2+16|0,O0=e[U0>>2]|0,k0=(O0|0)==(n2|0),k0?e[U0>>2]=F2:(V0=z2+20|0,e[V0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,z0=F2>>>0>>0,z0&&v2(),J0=F2+24|0,e[J0>>2]=z2,m=D1+16|0,q0=t+m|0,Z0=e[q0>>2]|0,P0=(Z0|0)==0;do if(!P0)if(H0=Z0>>>0>>0,H0)v2();else{s1=F2+16|0,e[s1>>2]=Z0,Y0=Z0+24|0,e[Y0>>2]=F2;break}while(!1);if(I=D1+20|0,i1=t+I|0,x0=e[i1>>2]|0,h1=(x0|0)==0,!h1)if(u1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{f1=F2+20|0,e[f1>>2]=x0,d1=x0+24|0,e[d1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(g1=G&1,a1=I5|g1,$1=a1|2,e[N>>2]=$1,T=I5|4,j0=t+T|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=G&1,w1=B1|o,v1=w1|2,e[N>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,TQ(p1,g5),E5=t,E5|0)}function TQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,h1=0,u1=0,m1=0,f1=0,d1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,h2=0,s2=0,C2=0,a2=0,K1=0,d2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,T5=0,i5=0,x5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,N5=0,m5=0,L5=0,q5=0,M5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,d5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,h5=0,z2=0,f5=0,n5=0,R5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,h3=0,K5=0,r3=0,a3=0,B3=0,G5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,U5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,d3=0,J3=0,d6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,h6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,d9=0,o9=0,B9=0,Q9=0,y9=0,h9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,w9=0,we=0,ue=0,Ee=0,V9=0,ie=0,F9=0,v9=0,W6=0,$9=0,ve=0,Re=0,de=0,_9=0,Fe=0,Te=0,Ge=0,He=0,o4=0,ke=0,Ye=0,J9=0,Ve=0,he=0,Ue=0,Ce=0,v4=0,W9=0,k9=0,k4=0,Y4=0,nt=0,Je=0,V4=0,ze=0,s4=0,R4=0,ot=0,re=0,d4=0,Be=0,N6=0,Ke=0,P9=0,fe=0,Ne=0,h4=0,ne=0,f4=0,I4=0,Se=0,a4=0,Pe=0,m4=0,S9=0,f6=0,J4=0,Ie=0,S4=0,be=0;be=C,X=t+o|0,u0=t+4|0,q2=e[u0>>2]|0,C6=q2&1,e9=(C6|0)==0;do if(e9){if(O6=e[t>>2]|0,H9=q2&3,F9=(H9|0)==0,F9)return;if(He=0-O6|0,k9=t+He|0,c0=O6+o|0,S0=e[138266]|0,T0=k9>>>0>>0,T0&&v2(),q0=e[138267]|0,m1=(k9|0)==(q0|0),m1){if(v=o+4|0,re=t+v|0,$0=e[re>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){a=k9,$=c0;break}e[138264]=c0,I0=$0&-2,e[re>>2]=I0,g0=c0|1,L=4-O6|0,f0=t+L|0,e[f0>>2]=g0,e[X>>2]=c0;return}if(p1=O6>>>3,U1=O6>>>0<256,U1){if(W=8-O6|0,X1=t+W|0,d2=e[X1>>2]|0,r0=12-O6|0,D2=t+r0|0,Z2=e[D2>>2]|0,Y5=p1<<1,L5=553088+(Y5<<2)|0,l5=(d2|0)==(L5|0),l5||(e5=d2>>>0>>0,e5&&v2(),a3=d2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(k9|0),S5||v2()),a6=(Z2|0)==(d2|0),a6){R6=1<>>0>>0,Y6&&v2(),A6=Z2+8|0,D6=e[A6>>2]|0,U6=(D6|0)==(k9|0),U6?E=A6:v2()),t9=d2+12|0,e[t9>>2]=Z2,e[E>>2]=d2,a=k9,$=c0;break}R=24-O6|0,Q6=t+R|0,G3=e[Q6>>2]|0,F=12-O6|0,n9=t+F|0,V6=e[n9>>2]|0,s9=(V6|0)==(k9|0);do if(s9){if(T=16-O6|0,N=T+4|0,d9=t+N|0,o9=e[d9>>2]|0,B9=(o9|0)==0,B9)if(Q9=t+T|0,y9=e[Q9>>2]|0,h9=(y9|0)==0,h9){fe=0;break}else Ke=y9,f4=Q9;else Ke=o9,f4=d9;for(;;){if(f9=Ke+20|0,y6=e[f9>>2]|0,H6=(y6|0)==0,!H6){Ke=y6,f4=f9;continue}if(A9=Ke+16|0,Y9=e[A9>>2]|0,w9=(Y9|0)==0,w9){P9=Ke,I4=f4;break}else Ke=Y9,f4=A9}if(we=I4>>>0>>0,we)v2();else{e[I4>>2]=0,fe=P9;break}}else if(a0=8-O6|0,c9=t+a0|0,P6=e[c9>>2]|0,J6=P6>>>0>>0,J6&&v2(),T6=P6+12|0,i9=e[T6>>2]|0,_6=(i9|0)==(k9|0),_6||v2(),U3=V6+8|0,q6=e[U3>>2]|0,a9=(q6|0)==(k9|0),a9){e[T6>>2]=V6,e[U3>>2]=P6,fe=V6;break}else v2();while(!1);if(ue=(G3|0)==0,ue)a=k9,$=c0;else{if(V=28-O6|0,Ee=t+V|0,V9=e[Ee>>2]|0,ie=553352+(V9<<2)|0,v9=e[ie>>2]|0,W6=(k9|0)==(v9|0),W6){if(e[ie>>2]=fe,f6=(fe|0)==0,f6){$9=1<>>0<_9>>>0,Fe&&v2(),Te=G3+16|0,Ge=e[Te>>2]|0,o4=(Ge|0)==(k9|0),o4?e[Te>>2]=fe:(ke=G3+20|0,e[ke>>2]=fe),Ye=(fe|0)==0,Ye){a=k9,$=c0;break}J9=e[138266]|0,Ve=fe>>>0>>0,Ve&&v2(),he=fe+24|0,e[he>>2]=G3,e0=16-O6|0,Ue=t+e0|0,Ce=e[Ue>>2]|0,v4=(Ce|0)==0;do if(!v4)if(W9=Ce>>>0>>0,W9)v2();else{k4=fe+16|0,e[k4>>2]=Ce,Y4=Ce+24|0,e[Y4>>2]=fe;break}while(!1);if(K=e0+4|0,nt=t+K|0,Je=e[nt>>2]|0,V4=(Je|0)==0,V4)a=k9,$=c0;else if(ze=e[138266]|0,s4=Je>>>0>>0,s4)v2();else{R4=fe+20|0,e[R4>>2]=Je,ot=Je+24|0,e[ot>>2]=fe,a=k9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,h0=X>>>0>>0,h0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(X|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,K0=a+4|0,e[K0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(X|0)==(N0|0),U0){O0=e[138264]|0,k0=O0+$|0,e[138264]=k0,e[138267]=a,V0=k0|1,F0=a+4|0,e[F0>>2]=V0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,z0=G0+$|0,J0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,P0=t+x|0,H0=e[P0>>2]|0,M=o+12|0,s1=t+M|0,Y0=e[s1>>2]|0,i1=J0<<1,x0=553088+(i1<<2)|0,o1=(H0|0)==(x0|0),o1||(h1=H0>>>0>>0,h1&&v2(),u1=H0+12|0,f1=e[u1>>2]|0,d1=(f1|0)==(X|0),d1||v2()),A1=(Y0|0)==(H0|0),A1){g1=1<>>0>>0,I1&&v2(),Q1=Y0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(X|0),w1?I=Q1:v2()),v1=H0+12|0,e[v1>>2]=Y0,e[I>>2]=H0}else{G=o+24|0,k1=t+G|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(X|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,Y1=e[H1>>2]|0,V1=(Y1|0)==0,V1)if(J=o+16|0,n2=t+J|0,j1=e[n2>>2]|0,O1=(j1|0)==0,O1){ne=0;break}else Ne=j1,Se=n2;else Ne=Y1,Se=H1;for(;;){if(g2=Ne+20|0,W1=e[g2>>2]|0,h2=(W1|0)==0,!h2){Ne=W1,Se=g2;continue}if(s2=Ne+16|0,C2=e[s2>>2]|0,a2=(C2|0)==0,a2){h4=Ne,a4=Se;break}else Ne=C2,Se=s2}if(K1=a4>>>0>>0,K1)v2();else{e[a4>>2]=0,ne=h4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(X|0),G1||v2(),x1=b1+8|0,z1=e[x1>>2]|0,q1=(z1|0)==(X|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,ne=b1;break}else v2();while(!1);if(l2=(L1|0)==0,!l2){if(d0=o+28|0,i2=t+d0|0,c2=e[i2>>2]|0,r2=553352+(c2<<2)|0,A2=e[r2>>2]|0,e2=(X|0)==(A2|0),e2){if(e[r2>>2]=ne,J4=(ne|0)==0,J4){o2=1<>>0>>0,Q2&&v2(),N2=L1+16|0,L2=e[N2>>2]|0,U2=(L2|0)==(X|0),U2?e[N2>>2]=ne:(p2=L1+20|0,e[p2>>2]=ne),W2=(ne|0)==0,W2)break;P2=e[138266]|0,V2=ne>>>0>>0,V2&&v2(),G2=ne+24|0,e[G2>>2]=L1,i0=o+16|0,A5=t+i0|0,H2=e[A5>>2]|0,N1=(H2|0)==0;do if(!N1)if(t5=H2>>>0>>0,t5)v2();else{T5=ne+16|0,e[T5>>2]=H2,i5=H2+24|0,e[i5>>2]=ne;break}while(!1);if(D=o+20|0,x5=t+D|0,j2=e[x5>>2]|0,I5=(j2|0)==0,!I5)if(b5=e[138266]|0,g5=j2>>>0>>0,g5)v2();else{b2=ne+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=ne;break}}}while(!1);if(s5=z0|1,R2=a+4|0,e[R2>>2]=s5,M2=a+z0|0,e[M2>>2]=z0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=z0;return}else g=z0}else N5=C0&-2,e[p0>>2]=N5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,M5=a+$|0,e[M5>>2]=$,g=$;if(Y2=g>>>3,p5=g>>>0<256,p5){$5=Y2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=w5>>>0>>0,a5?v2():(Q=u2,d4=w5)),e[Q>>2]=a,h5=d4+12|0,e[h5>>2]=a,z2=a+8|0,e[z2>>2]=d4,f5=a+12|0,e[f5>>2]=u5;return}if(n5=g>>>8,R5=(n5|0)==0,R5?Be=0:(c5=g>>>0>16777215,c5?Be=31:(F2=n5+1048320|0,v5=F2>>>16,J5=v5&8,i3=n5<>>16,h3=I3&4,K5=h3|J5,r3=i3<>>16,W5=G5&2,D3=K5|W5,f3=14-D3|0,y3=r3<>>15,q3=f3+X3|0,X5=q3<<1,b3=q3+7|0,s6=g>>>b3,T3=s6&1,H3=T3|X5,Be=H3)),c3=553352+(Be<<2)|0,g3=a+28|0,e[g3>>2]=Be,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,z5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}N3=e[c3>>2]|0,E6=N3+4|0,k3=e[E6>>2]|0,_3=k3&-8,S3=(_3|0)==(g|0);e:do if(S3)Pe=N3;else{for(i6=(Be|0)==31,V3=Be>>>1,Z5=25-V3|0,x3=i6?0:Z5,d3=g<>>31,h6=(m4+16|0)+(r6<<2)|0,m3=e[h6>>2]|0,b6=(m3|0)==0,b6){h=h6,S9=m4;break}if(J3=N6<<1,d6=m3+4|0,L6=e[d6>>2]|0,M6=L6&-8,S6=(M6|0)==(g|0),S6){Pe=m3;break e}else N6=J3,m4=m3}G6=e[138266]|0,X6=h>>>0>>0,X6&&v2(),e[h>>2]=a,v6=a+24|0,e[v6>>2]=S9,L3=a+12|0,e[L3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Pe+8|0,M3=e[o6>>2]|0,K3=e[138266]|0,e6=M3>>>0>=K3>>>0,Ie=Pe>>>0>=K3>>>0,F6=e6&Ie,F6||v2(),l6=M3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=M3,K6=a+12|0,e[K6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function cD(){e[6410]=K9}function u4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,h=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,h=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(h|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function nl(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function NQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(nl(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function GQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,h=o+$+(g>>>0>>0|0)>>>0,j6=h,g|0|0}function ns(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(j6=0,o>>>a-32|0)}function ge(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return CS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function oA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ge(t,o,a)|0;return t|0}function kC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function os(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return g=t-a>>>0,h=o-$>>>0,h=o-$-(a>>>0>t>>>0|0)>>>0,j6=h,g|0|0}function q_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(j6=(o|0)<0?-1:0,o>>a-32|0)}function UQ(t){t=t|0;var o=0;return o=f[G9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[G9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[G9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[G9+(t>>>24)>>0]|0)+24|0))}function gD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,h=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,h=t>>>16,m=(g>>>16)+(o5($,h)|0)|0,I=o>>>16,E=o5(I,a)|0,j6=((m>>>16)+(o5(I,h)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function H_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,h=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=os(g^t,h^o,g,h)|0,Q=j6,B=os(m^a,I^$,m,I)|0,S=m^g,b=I^h,v=cE(E,Q,B,j6,0)|0,w=os(v^S,j6^b,S,b)|0,w|0}function Y_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,h=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=os(h^t,m^o,h,m)|0,B=j6,S=os(I^a,E^$,I,E)|0,cE(Q,B,S,j6,g)|0,b=os(e[g>>2]^h,e[g+4>>2]^m,h,m)|0,v=j6,C=w,j6=v,b|0}function uD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0,m=0,I=0,E=0;return g=t,h=a,m=gD(g,h)|0,I=j6,E=o5(o,h)|0,j6=((o5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function V_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=cE(t,o,a,$,0)|0,g|0}function J_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,h=0;return h=C,C=C+8|0,g=h|0,cE(t,o,a,$,g)|0,C=h,j6=e[g+4>>2]|0,e[g>>2]|0|0}function cE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var h=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,d0=0,i0=0,X=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,h0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;if(h=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0):(S&&(e[g>>2]=(h>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(h>>>0)/(E>>>0)>>>0,j6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(K=is(B|0)|0,a0=K-(is(I|0)|0)|0,a0>>>0<=31){W=a0+1|0,r0=31-a0|0,s0=a0-31>>31,i0=W,d0=h>>>(W>>>0)&s0|I<>>(W>>>0)&s0,o0=0,J=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(is(E|0)|0)+33|0,F=R-(is(I|0)|0)|0,T=64-F|0,N=32-F|0,G=N>>31,V=F-32|0,e0=V>>31,i0=F,d0=N-1>>31&I>>>(V>>>0)|(I<>>(F>>>0))&e0,H=e0&I>>>(F>>>0),o0=h<>>(V>>>0))&G|h<>31;break}return g|0&&(e[g>>2]=M&h,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,j6=L0,F0|0):(L=UQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|h>>>(L>>>0)|0,j6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,j6=L0,F0|0;if(!(h|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,j6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((UQ(B|0)|0)>>>0),j6=L0,F0|0;if(w=is(B|0)|0,D=w-(is(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,i0=y,d0=I<>>(y>>>0),H=I>>>(y>>>0),o0=0,J=h<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}while(!1);if(!(i0|0))U0=J,N0=o0,T0=H,v0=d0,M0=0,K0=0;else{for(X=0|a&-1,u0=Q|$&0,c0=rs(X|0,u0|0,-1,-1)|0,$0=j6,n0=J,f0=o0,g0=H,I0=d0,Z=i0,l0=0;h0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(I0<<1|n0>>>31),S0=I0>>>31|g0<<1|0,os(c0,$0,C0,S0)|0,Q0=j6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=os(C0,S0,b0&X,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=j6,_0=Z-1|0,_0|0;)n0=h0,f0=p0,g0=B0,I0=w0,Z=_0,l0=E0;U0=h0,N0=p0,T0=B0,v0=w0,M0=0,K0=E0}return O0=N0,k0=0,V0=U0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|O0)>>>31|V0<<1|(k0<<1|O0>>>31)&0|M0,F0=(O0<<1|0)&-2|K0,j6=L0,F0|0}function dD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,DC[t&3](o|0,a|0,$|0,g|0)|0}function hD(t,o){t=t|0,o=o|0,ss[t&7](o|0)}function fD(t,o,a){t=t|0,o=o|0,a=a|0,_C[t&3](o|0,a|0)}function ID(t,o){return t=t|0,o=o|0,qQ[t&1](o|0)|0}function mD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,HQ[t&1](o|0,a|0,$|0)}function pD(t,o,a,$,g,h,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,E=E|0,YQ[t&3](o|0,a|0,$|0,g|0,h|0,m|0,I|0,E|0)|0}function ED(t,o,a){return t=t|0,o=o|0,a=a|0,mi[t&15](o|0,a|0)|0}function CD(t,o,a,$,g,h){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,xC[t&7](o|0,a|0,$|0,g|0,h|0)|0}function BD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function SC(t){t=t|0,rn(1)}function PQ(t,o){t=t|0,o=o|0,rn(2)}function QD(t){return t=t|0,rn(3),0}function yD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function OQ(t,o,a,$,g,h,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,h=h|0,m=m|0,I=I|0,rn(5),0}function ol(t,o){return t=t|0,o=o|0,rn(6),0}function bC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var DC=[BD,$b,JS,zS],ss=[SC,sb,ab,pb,xb,Lb,SC,SC],_C=[PQ,rb,Mb,PQ],qQ=[QD,Eb],HQ=[yD,Ib],YQ=[OQ,Nb,Ob,OQ],mi=[ol,nb,ob,Ab,mb,Cb,Rb,Fb,lb,_b,zb,ol,ol,ol,ol,ol],xC=[bC,Tb,Gb,Ub,Pb,qb,bC,bC];return{_memmove:oA,_strlen:nl,_strcat:NQ,_free:E2,_i64Add:rs,_encoder_clear:iD,_encoder_transfer_data:sD,_encoder_data_len:oD,_memset:u4,_malloc:R9,_memcpy:ge,_encoder_init:tD,_encoder_process:nD,_bitshift64Lshr:ns,_bitshift64Shl:GQ,_strcpy:kC,_encoder_analysis_buffer:rD,runPostSets:cD,stackAlloc:yS,stackSave:wS,stackRestore:vS,establishStackSpace:kS,setThrew:SS,setTempRet0:bS,getTempRet0:DS,dynCall_iiiii:dD,dynCall_vi:hD,dynCall_vii:fD,dynCall_ii:ID,dynCall_viii:mD,dynCall_iiiiiiiii:pD,dynCall_iii:ED,dynCall_iiiiii:CD}}(n.asmGlobalArg,n.asmLibraryArg,O7),m_=n.runPostSets=ee.runPostSets,oS=n._strlen=ee._strlen,sS=n._strcat=ee._strcat,hC=n._free=ee._free,p_=n._encoder_init=ee._encoder_init,aS=n._i64Add=ee._i64Add,AS=n._memmove=ee._memmove,E_=n._encoder_transfer_data=ee._encoder_transfer_data,C_=n._encoder_process=ee._encoder_process,B_=n._encoder_data_len=ee._encoder_data_len,$S=n._memset=ee._memset,Ru=n._malloc=ee._malloc,lS=n._memcpy=ee._memcpy,Q_=n._encoder_clear=ee._encoder_clear,cS=n._bitshift64Lshr=ee._bitshift64Lshr,y_=n._encoder_analysis_buffer=ee._encoder_analysis_buffer,gS=n._strcpy=ee._strcpy,uS=n._bitshift64Shl=ee._bitshift64Shl,w_=n.dynCall_iiiii=ee.dynCall_iiiii,v_=n.dynCall_vi=ee.dynCall_vi,k_=n.dynCall_vii=ee.dynCall_vii,S_=n.dynCall_ii=ee.dynCall_ii,b_=n.dynCall_viii=ee.dynCall_viii,D_=n.dynCall_iiiiiiiii=ee.dynCall_iiiiiiiii,__=n.dynCall_iii=ee.dynCall_iii,x_=n.dynCall_iiiiii=ee.dynCall_iiiiii;_.stackAlloc=ee.stackAlloc,_.stackSave=ee.stackSave,_.stackRestore=ee.stackRestore,_.establishStackSpace=ee.establishStackSpace,_.setTempRet0=ee.setTempRet0,_.getTempRet0=ee.getTempRet0;var L_=function(){var r={math:{}};r.math.Long=function(z,D0){this.low_=z|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(z){if(-128<=z&&z<128){var D0=r.math.Long.IntCache_[z];if(D0)return D0}var e1=new r.math.Long(z|0,z<0?-1:0);return-128<=z&&z<128&&(r.math.Long.IntCache_[z]=e1),e1},r.math.Long.fromNumber=function(z){return isNaN(z)||!isFinite(z)?r.math.Long.ZERO:z<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:z+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:z<0?r.math.Long.fromNumber(-z).negate():new r.math.Long(z%r.math.Long.TWO_PWR_32_DBL_|0,z/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(z,D0){return new r.math.Long(z,D0)},r.math.Long.fromString=function(z,D0){if(z.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+z);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var z=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(z&1<0},r.math.Long.prototype.greaterThanOrEqual=function(z){return this.compare(z)>=0},r.math.Long.prototype.compare=function(z){if(this.equals(z))return 0;var D0=this.isNegative(),e1=z.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(z).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(z){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,r4=0,ai=0,nr=0;return nr+=e3+q9,ai+=nr>>>16,nr&=65535,ai+=B2+r9,r4+=ai>>>16,ai&=65535,r4+=e1+F3,U9+=r4>>>16,r4&=65535,U9+=D0+O5,U9&=65535,r.math.Long.fromBits(ai<<16|nr,U9<<16|r4)},r.math.Long.prototype.subtract=function(z){return this.add(z.negate())},r.math.Long.prototype.multiply=function(z){if(this.isZero())return r.math.Long.ZERO;if(z.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return z.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(z.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().multiply(z.negate()):this.negate().multiply(z).negate();if(z.isNegative())return this.multiply(z.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&z.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*z.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,r4=0,ai=0,nr=0;return nr+=e3*q9,ai+=nr>>>16,nr&=65535,ai+=B2*q9,r4+=ai>>>16,ai&=65535,ai+=e3*r9,r4+=ai>>>16,ai&=65535,r4+=e1*q9,U9+=r4>>>16,r4&=65535,r4+=B2*r9,U9+=r4>>>16,r4&=65535,r4+=e3*F3,U9+=r4>>>16,r4&=65535,U9+=D0*q9+e1*r9+B2*F3+e3*O5,U9&=65535,r.math.Long.fromBits(ai<<16|nr,U9<<16|r4)},r.math.Long.prototype.div=function(z){if(z.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(z.equals(r.math.Long.ONE)||z.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(z).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return z.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(z.multiply(e1)),B2=e1.add(O5.div(z));return B2}else if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().div(z.negate()):this.negate().div(z).negate();if(z.isNegative())return this.div(z.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(z);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/z.toNumber())),F3=Math.ceil(Math.log(e1)/Math.LN2),r9=F3<=48?1:Math.pow(2,F3-48),q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);U9.isNegative()||U9.greaterThan(O5);)e1-=r9,q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);q9.isZero()&&(q9=r.math.Long.ONE),e3=e3.add(q9),O5=O5.subtract(U9)}return e3},r.math.Long.prototype.modulo=function(z){return this.subtract(this.div(z).multiply(z))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(z){return r.math.Long.fromBits(this.low_&z.low_,this.high_&z.high_)},r.math.Long.prototype.or=function(z){return r.math.Long.fromBits(this.low_|z.low_,this.high_|z.high_)},r.math.Long.prototype.xor=function(z){return r.math.Long.fromBits(this.low_^z.low_,this.high_^z.high_)},r.math.Long.prototype.shiftLeft=function(z){if(z&=63,z==0)return this;var D0=this.low_;if(z<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-z)}else return r.math.Long.fromBits(0,D0<>>z|D0<<32-z,D0>>z)}else return r.math.Long.fromBits(D0>>z-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(z){if(z&=63,z==0)return this;var D0=this.high_;if(z<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>z|D0<<32-z,D0>>>z)}else return z==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>z-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,Y=(f&16777215)==15715070;function e(z,D0,e1){z!=null&&(typeof z=="number"?this.fromNumber(z,D0,e1):D0==null&&typeof z!="string"?this.fromString(z,256):this.fromString(z,D0))}function X0(){return new e(null)}function r1(z,D0,e1,B2,e3,O5){for(;--O5>=0;){var F3=D0*this[z++]+e1[B2]+e3;e3=Math.floor(F3/67108864),e1[B2++]=F3&67108863}return e3}function x2(z,D0,e1,B2,e3,O5){for(var F3=D0&32767,r9=D0>>15;--O5>=0;){var q9=this[z]&32767,U9=this[z++]>>15,r4=r9*q9+U9*F3;q9=F3*q9+((r4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(q9>>>30)+(r4>>>15)+r9*U9+(e3>>>30),e1[B2++]=q9&1073741823}return e3}function s(z,D0,e1,B2,e3,O5){for(var F3=D0&16383,r9=D0>>14;--O5>=0;){var q9=this[z]&16383,U9=this[z++]>>14,r4=r9*q9+U9*F3;q9=F3*q9+((r4&16383)<<14)+e1[B2]+e3,e3=(q9>>28)+(r4>>14)+r9*U9,e1[B2++]=q9&268435455}return e3}Y&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):Y&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)z[D0]=this[D0];z.t=this.t,z.s=this.s}function Dt(z){this.t=1,this.s=z<0?-1:0,z>0?this[0]=z:z<-1?this[0]=z+DV:this.t=0}function te(z){var D0=X0();return D0.fromInt(z),D0}function It(z,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(z,D0);return}this.t=0,this.s=0;for(var B2=z.length,e3=!1,O5=0;--B2>=0;){var F3=e1==8?z[B2]&255:K9(z,B2);if(F3<0){z.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=F3:O5+e1>this.DB?(this[this.t-1]|=(F3&(1<>this.DB-O5):this[this.t-1]|=F3<=this.DB&&(O5-=this.DB)}e1==8&&z[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==z;)--this.t}function V7(z){if(this.s<0)return"-"+this.negate().toString(z);var D0;if(z==16)D0=4;else if(z==8)D0=3;else if(z==2)D0=1;else if(z==32)D0=5;else if(z==4)D0=2;else return this.toRadix(z);var e1=(1<0)for(r9>r9)>0&&(e3=!0,O5=G9(B2));F3>=0;)r9>(r9+=this.DB-D0)):(B2=this[F3]>>(r9-=D0)&e1,r9<=0&&(r9+=this.DB,--F3)),B2>0&&(e3=!0),e3&&(O5+=G9(B2));return e3?O5:"0"}function J7(){var z=X0();return e.ZERO.subTo(this,z),z}function Qr(){return this.s<0?this.negate():this}function tl(z){var D0=this.s-z.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-z.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-z[e1])!=0)return D0;return 0}function rE(z){var D0=1,e1;return(e1=z>>>16)!=0&&(z=e1,D0+=16),(e1=z>>8)!=0&&(z=e1,D0+=8),(e1=z>>4)!=0&&(z=e1,D0+=4),(e1=z>>2)!=0&&(z=e1,D0+=2),(e1=z>>1)!=0&&(z=e1,D0+=1),D0}function GB(){return this.t<=0?0:this.DB*(this.t-1)+rE(this[this.t-1]^this.s&this.DM)}function UB(z,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+z]=this[e1];for(e1=z-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+z,D0.s=this.s}function PB(z,D0){for(var e1=z;e1=0;--r9)D0[r9+O5+1]=this[r9]>>B2|F3,F3=(this[r9]&e3)<=0;--r9)D0[r9]=0;D0[O5]=F3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function qB(z,D0){D0.s=this.s;var e1=Math.floor(z/this.DB);if(e1>=this.t){D0.t=0;return}var B2=z%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var F3=e1+1;F3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=z.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function HB(z,D0){var e1=this.abs(),B2=z.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)z[e1]=0;for(e1=0;e1=D0.DV&&(z[e1+D0.t]-=D0.DV,z[e1+D0.t+1]=1)}z.t>0&&(z[z.t-1]+=D0.am(e1,D0[e1],z,2*e1,0,1)),z.s=0,z.clamp()}function VB(z,D0,e1){var B2=z.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(q9,O5),e3.lShiftTo(q9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var U9=O5.t,r4=O5[U9-1];if(r4!=0){var ai=r4*(1<1?O5[U9-2]>>this.F2:0),nr=this.FV/ai,nQ=(1<=0&&(e1[e1.t++]=1,e1.subTo(Pi,e1)),e.ONE.dlShiftTo(U9,Pi),Pi.subTo(O5,O5);O5.t=0;){var nE=e1[--nA]==r4?this.DM:Math.floor(e1[nA]*nr+(e1[nA-1]+oQ)*nQ);if((e1[nA]+=O5.am(0,nE,e1,Tu,0,U9))0&&e1.rShiftTo(q9,e1),F3<0&&e.ZERO.subTo(e1,e1)}}}function JB(z){var D0=X0();return this.abs().divRemTo(z,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&z.subTo(D0,D0),D0}function tA(z){this.m=z}function zB(z){return z.s<0||z.compareTo(this.m)>=0?z.mod(this.m):z}function KB(z){return z}function WB(z){z.divRemTo(this.m,null,z)}function ZB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}function iA(z,D0){z.squareTo(D0),this.reduce(D0)}tA.prototype.convert=zB,tA.prototype.revert=KB,tA.prototype.reduce=WB,tA.prototype.mulTo=ZB,tA.prototype.sqrTo=iA;function rr(){if(this.t<1)return 0;var z=this[0];if(!(z&1))return 0;var D0=z&3;return D0=D0*(2-(z&15)*D0)&15,D0=D0*(2-(z&255)*D0)&255,D0=D0*(2-((z&65535)*D0&65535))&65535,D0=D0*(2-z*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function qn(z){this.m=z,this.mp=z.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function rA(z){var D0=X0();return z.copyTo(D0),this.reduce(D0),D0}function Hn(z){for(;z.t<=this.mt2;)z[z.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&z.DM;for(e1=D0+this.m.t,z[e1]+=this.m.am(0,B2,z,D0,0,this.m.t);z[e1]>=z.DV;)z[e1]-=z.DV,z[++e1]++}z.clamp(),z.drShiftTo(this.m.t,z),z.compareTo(this.m)>=0&&z.subTo(this.m,z)}function jB(z,D0){z.squareTo(D0),this.reduce(D0)}function XB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}qn.prototype.convert=Fu,qn.prototype.revert=rA,qn.prototype.reduce=Hn,qn.prototype.mulTo=XB,qn.prototype.sqrTo=jB;function eQ(){return(this.t>0?this[0]&1:this.s)==0}function ts(z,D0){if(z>4294967295||z<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=rE(z)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(z&1<0)D0.mulTo(B2,e3,e1);else{var F3=e1;e1=B2,B2=F3}return D0.revert(e1)}function tQ(z,D0){var e1;return z<256||D0.isEven()?e1=new tA(D0):e1=new qn(D0),this.exp(z,e1)}e.prototype.copyTo=ye,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=i4,e.prototype.dlShiftTo=UB,e.prototype.drShiftTo=PB,e.prototype.lShiftTo=OB,e.prototype.rShiftTo=qB,e.prototype.subTo=j6,e.prototype.multiplyTo=HB,e.prototype.squareTo=YB,e.prototype.divRemTo=VB,e.prototype.invDigit=rr,e.prototype.isEven=eQ,e.prototype.exp=ts,e.prototype.toString=V7,e.prototype.negate=J7,e.prototype.abs=Qr,e.prototype.compareTo=tl,e.prototype.bitLength=GB,e.prototype.mod=JB,e.prototype.modPowInt=tQ,e.ZERO=te(0),e.ONE=te(1);function Yn(z,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,F3=0,r9=0;r9=e1&&(this.dMultiply(B2),this.dAddOffset(F3,0),O5=0,F3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(F3,0)),e3&&e.ZERO.subTo(this,this)}function tn(z){return Math.floor(Math.LN2*this.DB/Math.log(z))}function IC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(z){this[this.t]=this.am(0,z-1,this,0,0,this.t),++this.t,this.clamp()}function iQ(z,D0){if(z!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=z;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function is(z){if(z==null&&(z=10),this.signum()==0||z<2||z>36)return"0";var D0=this.chunkSize(z),e1=Math.pow(z,D0),B2=te(e1),e3=X0(),O5=X0(),F3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)F3=(e1+O5.intValue()).toString(z).substr(1)+F3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(z)+F3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=z.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=tn,e.prototype.signum=IC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=iQ,e.prototype.toRadix=is,e.prototype.intValue=rn,e.prototype.addTo=rQ;var l7={abs:function(z,D0){var e1=new r.math.Long(z,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,N9[bt>>2]=B2.low_,N9[bt+4>>2]=B2.high_},ensureTemps:function(){l7.ensuredTemps||(l7.ensuredTemps=!0,l7.two32=new e,l7.two32.fromString("4294967296",10),l7.two64=new e,l7.two64.fromString("18446744073709551616",10),l7.temp1=new e,l7.temp2=new e)},lh2bignum:function(z,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(l7.two32,B2);var e3=new e;e3.fromString(z.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(z,D0,e1){var B2=new r.math.Long(z,D0).toString();if(e1&&B2[0]=="-"){l7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,l7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(z,D0,e1,B2,e3){l7.ensureTemps();var O5=new e;O5.fromString(z,D0);var F3=new e;F3.fromString(e1,10);var r9=new e;if(r9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var q9=new e;O5.addTo(l7.two64,q9),O5=q9}var U9=!1;O5.compareTo(F3)<0?(O5=F3,U9=!0):O5.compareTo(r9)>0&&(O5=r9,U9=!0);var r4=r.math.Long.fromString(O5.toString());if(N9[bt>>2]=r4.low_,N9[bt+4>>2]=r4.high_,U9)throw"range error"}};return l7}();function eA(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}eA.prototype=new Error,eA.prototype.constructor=eA;var RB,iE=null,dS=!1;H7=function r(){n.calledRun||fC(),n.calledRun||(H7=r)},n.callMain=n.callMain=function(l){t4(k8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),t4(Wp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Wo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)Y.push(0)}var Y=[C3(en(n.thisProgram),"i8",Za)];f();for(var e=0;e0||(Lu(),k8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!t0&&(Wo(),vB(),c&&iE!==null&&n.printErr("pre-main prep time: "+(Date.now()-iE)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&NB&&n.callMain(r),z$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=fC;function FB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(t0=!0,n1=r,v7=RB,Zp(),n.onExit&&n.onExit(r)),d?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):U&&typeof quit=="function"&&quit(r),new eA(r)}n.exit=n.exit=FB;var TB=[];function es(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",t0=!0,n1=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+Jp()+l;throw TB&&TB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=es,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var NB=!0;n.noInitialRun&&(NB=!1),fC();var hS=n._encoder_init,fS=n._encoder_clear,IS=n._encoder_analysis_buffer,mS=n._encoder_process,pS=n._encoder_data_len,ES=n._encoder_transfer_data,k7=n.HEAPU8,j$=n.HEAPU32,X$=n.HEAPF32,el=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=hS(this.numChannels,r,u)};el.prototype.encode=function(r){for(var l=r[0].length,u=IS(this.encoder,l)>>2,f=0;f>2);this.process(l)},el.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},el.prototype.cancel=el.prototype.cleanup=function(){fS(this.encoder),delete this.encoder,delete this.oggBuffers},el.prototype.process=function(r){mS(this.encoder,r);var l=pS(this.encoder);if(l>0){var u=ES(this.encoder);this.oggBuffers.push(new Uint8Array(k7.subarray(u,u+l)))}},nC.OggVorbisEncoder=el}};typeof window<"u"&&window===self&&nC.init();function Qk(n,i,A,c){let d=new nC.OggVorbisEncoder(A,i,c);d.encode(n);let p=d.finish(),U=p.reduce((P,W0)=>P+W0.length,0),j=new Uint8Array(U),O=0;for(let P of p)j.set(P,O),O+=P.length;return j}var oC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",d=>{d.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async d=>{d.preventDefault(),c.classList.add("hidden");let p=d.dataTransfer.files[0];if(!p)return;let U=p.name,j=await p.arrayBuffer(),O=j.slice(0,4),P=new TextDecoder;if(P.decode(O)==="RIFF"){let W0=j.slice(8,12);if(P.decode(W0)==="RMID"){i({buf:j,name:U});return}A(j);return}i({buf:j,name:U})})}};async function yk(){let n="locale.exportAudio.formats.formats.dls.warning.";qe(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"color: red"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;le(i.id),M7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),d=Ja(c.embeddedSoundFont||this.soundFont);Ua(c,await this.synth.getSynthesizerSnapshot()),A&&Cu(d,c);let p=d.writeDLS(),U=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(U,`${d.soundFontInfo.INAM||"unnamed"}.dls`),g9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var o_=!1,Kr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,d=o_){this.localeManager=c,this.context=i,this.enableDebug=d,this.isExporting=!1,this.compressionFunc=Qk;let p;this.ready=new Promise(U=>p=U),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),d=document.createElement("a");d.href=c,d.download=A,d.click(),_5(d)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let q of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(q,"innerText",q.getAttribute("translate-path"));for(let q of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(q,"innerText",q.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(q,"title",q.getAttribute("translate-path-title")+".description");this.soundFont=A;let d=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Bk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+d,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let U=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),O=await(await fetch(U)).arrayBuffer();this.impulseResponse=await i.decodeAudioData(O),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new fu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",q=>{this.sfError&&this.sfError(q.message)}),await this.synth.isReady,this.midHandler=new qE,this.wml=new HE(this.synth),this.keyboard=new Dp(this.channelColors,this.synth);let P=document.getElementById("note_canvas");P.width=window.innerWidth*window.devicePixelRatio,P.height=window.innerHeight*window.devicePixelRatio,this.renderer=new T7(this.channelColors,this.synth,P,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let W0=!1,_=()=>{if(P.width=window.innerWidth*window.devicePixelRatio,P.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),F7){if(window.innerWidth/window.innerHeight>1){if(!W0){let q=document.getElementById("title_wrapper"),t0=document.getElementById("settings_div");W0=!0,q.parentElement.insertBefore(t0,q)}}else if(W0){let q=document.getElementById("title_wrapper"),t0=document.getElementById("settings_div");W0=!1,q.parentElement.insertBefore(q,t0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),F7&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Jr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new KE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Po(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new w7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new oC(q=>{this.play([{binary:q.buf,altName:q.name}]),q.name.length>20&&(q.name=q.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=q.name},q=>{this.reloadSf(q)}),document.addEventListener("keydown",q=>{switch(q.key.toLowerCase()){case oi.cinematicMode:this.seq&&this.seq.pause();let t0=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),t0===null)return;P.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${t0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case oi.videoMode:this.seq&&this.seq.pause();let n1=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(a1===null)return;let _1=document.createElement("video");_1.src=a1,_1.classList.add("secret_video"),U.parentElement.appendChild(_1),_1.play(),window.video=_1,this.seq&&(_1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),_1.play(),this.seq.currentTime=0),document.addEventListener("keydown",f1=>{f1.key===" "&&(_1.paused?_1.play():_1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new j5(i),4).toLowerCase()==="dls "&&qe(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{le(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{le(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new GE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}downloadDesfont(){let i=Ja(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Kr.prototype.exportSong=pk;Kr.prototype._exportAudioData=Dv;Kr.prototype._doExportAudioData=bv;Kr.prototype.exportMidi=_v;Kr.prototype._exportSoundfont=mk;Kr.prototype._exportDLS=Qk;Kr.prototype._exportRMIDI=Ek;var s_=44100,a_="GeneralUserGS.sf3",sC=document.getElementById("title"),za=document.getElementById("midi_file_input"),A_=document.getElementById("sf_file_input"),yk=document.getElementById("demo_song"),uB=document.getElementById("export_button"),L$=document.getElementsByClassName("loading")[0],U7=document.getElementById("loading_message"),$_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=$_.version;var l_="spessasynth-db",R$="soundFontStore";function fB(n){let i=indexedDB.open(l_,1);i.onsuccess=()=>{let A=i.result;n(A)},i.onupgradeneeded=A=>{A.target.result.createObjectStore(R$,{keyPath:"id"})}}async function c_(){return await new Promise(n=>{fB(i=>{let d=i.transaction([R$],"readonly").objectStore(R$).get("buffer");d.onerror=p=>{console.error("Database error"),console.error(p),n(void 0)},d.onsuccess=async()=>{let p=d.result;if(!p){n(void 0);return}n(p.data)}})})}function M$(n,i=!0){let A=L$.getElementsByClassName("loading_icon")[0];A.innerHTML=n,A.style.animation=i?"none":""}async function wk(n){fB(i=>{let c=i.transaction([R$],"readwrite").objectStore(R$);try{let d=c.put({id:"buffer",data:n});d.onsuccess=()=>{_5("SoundFont stored successfully")},d.onerror=p=>{console.error("Error saving soundfont",p)}}catch(d){I9("Failed saving soundfont:",d)}})}async function g_(n){let i=new WE(n);try{let d=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new d({sampleRate:s_})}catch(d){throw M$(Fp(256)),U7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),d}U7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let A=await c_(),c=!0;if(A===void 0){I9("Failed to load from db, fetching online instead"),c=!1;let d=document.getElementById("progress_bar"),p=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");U7.textContent=p,A=await u_(`soundfonts/${a_}`,O=>{U7.textContent=`${p} ${O}%`}),d.style.width="0"}else _5("Loaded the soundfont from the database succesfully");window.soundFontParser=A,c||(U7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await wk(A)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),U7.textContent=i.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Kr(audioContextMain,soundFontParser,i),window.manager.sfError=d=>{M$(Fp(256)),c?(I9("Invalid soundfont in the database. Resetting."),fB(p=>{let P=p.transaction([R$],"readwrite").objectStore(R$).delete("buffer");P.onsuccess=()=>{location.reload()}})):sC.innerHTML=`Error parsing soundfont:
${d}
`,U7.innerHTML=`Error parsing soundfont:
${d}
`},await manager.ready,za.files[0]?await dB(za.files):(za.onclick=void 0,za.onchange=()=>{za.files[0]&&dB(za.files).then()}),M$(XC(256)),U7.textContent=i.getLocaleString("locale.synthInit.done")}async function u_(n,i){let A=await fetch(n);if(!A.ok)throw sC.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),d=await(await A.body).getReader(),p=!1,O=new Uint8Array(parseInt(c)),H=0;do{let P=await d.read();P.value&&(O.set(P.value,H),H+=P.value.length),p=P.done;let U=Math.round(H/c*100);i(U)}while(!p);return O.buffer}async function dB(n){yk.style.display="none";let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(A):manager.play(A),uB.style.display="flex",uB.onclick=window.manager.exportSong.bind(window.manager)}function d_(n){localStorage.setItem("spessasynth-settings",JSON.stringify(n)),_5("saved as",n)}window.saveSettings=d_;var Pp=JSON.parse(localStorage.getItem("spessasynth-settings"));Pp!==null&&(window.savedSettings=new Promise(n=>{n(Pp)}));var hB;Pp&&Pp.interface&&Pp.interface.language?hB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():hB=navigator.language.split("-")[0].toLowerCase();za.value="";za.focus();uB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function h_(n){sC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+n);i.name=n,await dB([i])}g_(hB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",L$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{L$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),F7&&window.chrome&&qe(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),A_.onchange=n=>{if(!n.target.files[0])return;let i=n.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,L$.style.display="",setTimeout(async()=>{L$.classList.remove("done"),M$(Yy(256),!1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let A=performance.now()/1e3,c;try{c=await i.arrayBuffer(),window.soundFontParser=c}catch(p){throw U7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),M$(Fp(256)),qe(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p}window.manager.sfError=p=>{U7.innerHTML=`Error parsing soundfont:
${p}
`,M$(Fp(256)),console.error(p)},U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(c),window.manager.seq&&(window.manager.seq.currentTime-=.1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await wk(c);let d=performance.now()/1e3-A;await new Promise(p=>setTimeout(p,1e3-d)),M$(XC(256)),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),L$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{L$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},yk.onclick=async()=>{let n=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];sC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),A=JSON.parse(i);for(let c of A)n.push({type:"button",textContent:c.name,onClick:d=>{le(d.id),qe(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:c.credits.replace(` +Note: the video will be available in console as 'video'`,"");if(n1===null)return;let S1=document.createElement("video");S1.src=n1,S1.classList.add("secret_video"),P.parentElement.appendChild(S1),S1.play(),window.video=S1,this.seq&&(S1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),S1.play(),this.seq.currentTime=0),document.addEventListener("keydown",c1=>{c1.key===" "&&(S1.paused?S1.play():S1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);y4(new j5(i),4).toLowerCase()==="dls "&&qe(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{le(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{le(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new GE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}downloadDesfont(){let i=Ja(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};Kr.prototype.exportSong=Ek;Kr.prototype._exportAudioData=_v;Kr.prototype._doExportAudioData=Dv;Kr.prototype.exportMidi=xv;Kr.prototype._exportSoundfont=pk;Kr.prototype._exportDLS=yk;Kr.prototype._exportRMIDI=Ck;var s_=44100,a_="GeneralUserGS.sf3",sC=document.getElementById("title"),za=document.getElementById("midi_file_input"),A_=document.getElementById("sf_file_input"),wk=document.getElementById("demo_song"),gB=document.getElementById("export_button"),L$=document.getElementsByClassName("loading")[0],U7=document.getElementById("loading_message"),$_=await(await fetch("package.json")).json();window.SPESSASYNTH_VERSION=$_.version;var l_="spessasynth-db",R$="soundFontStore";function hB(n){let i=indexedDB.open(l_,1);i.onsuccess=()=>{let A=i.result;n(A)},i.onupgradeneeded=A=>{A.target.result.createObjectStore(R$,{keyPath:"id"})}}async function c_(){return await new Promise(n=>{hB(i=>{let d=i.transaction([R$],"readonly").objectStore(R$).get("buffer");d.onerror=p=>{console.error("Database error"),console.error(p),n(void 0)},d.onsuccess=async()=>{let p=d.result;if(!p){n(void 0);return}n(p.data)}})})}function M$(n,i=!0){let A=L$.getElementsByClassName("loading_icon")[0];A.innerHTML=n,A.style.animation=i?"none":""}async function vk(n){hB(i=>{let c=i.transaction([R$],"readwrite").objectStore(R$);try{let d=c.put({id:"buffer",data:n});d.onsuccess=()=>{_5("SoundFont stored successfully")},d.onerror=p=>{console.error("Error saving soundfont",p)}}catch(d){I9("Failed saving soundfont:",d)}})}async function g_(n){let i=new WE(n);try{let d=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new d({sampleRate:s_})}catch(d){throw M$(Fp(256)),U7.textContent=i.getLocaleString("locale.synthInit.noWebAudio"),d}U7.textContent=i.getLocaleString("locale.synthInit.loadingSoundfont");let A=await c_(),c=!0;if(A===void 0){I9("Failed to load from db, fetching online instead"),c=!1;let d=document.getElementById("progress_bar"),p=i.getLocaleString("locale.synthInit.loadingBundledSoundfont");U7.textContent=p,A=await u_(`soundfonts/${a_}`,U=>{U7.textContent=`${p} ${U}%`}),d.style.width="0"}else _5("Loaded the soundfont from the database succesfully");window.soundFontParser=A,c||(U7.textContent=i.getLocaleString("locale.synthInit.savingSoundfont"),await vk(A)),window.audioContextMain.state!=="running"&&document.addEventListener("mousedown",()=>{window.audioContextMain.state!=="running"&&window.audioContextMain.resume().then()}),U7.textContent=i.getLocaleString("locale.synthInit.startingSynthesizer"),window.manager=new Kr(audioContextMain,soundFontParser,i),window.manager.sfError=d=>{M$(Fp(256)),c?(I9("Invalid soundfont in the database. Resetting."),hB(p=>{let O=p.transaction([R$],"readwrite").objectStore(R$).delete("buffer");O.onsuccess=()=>{location.reload()}})):sC.innerHTML=`Error parsing soundfont:
${d}
`,U7.innerHTML=`Error parsing soundfont:
${d}
`},await manager.ready,za.files[0]?await uB(za.files):(za.onclick=void 0,za.onchange=()=>{za.files[0]&&uB(za.files).then()}),M$(XC(256)),U7.textContent=i.getLocaleString("locale.synthInit.done")}async function u_(n,i){let A=await fetch(n);if(!A.ok)throw sC.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),d=await(await A.body).getReader(),p=!1,U=new Uint8Array(parseInt(c)),j=0;do{let O=await d.read();O.value&&(U.set(O.value,j),j+=O.value.length),p=O.done;let P=Math.round(j/c*100);i(P)}while(!p);return U.buffer}async function uB(n){wk.style.display="none";let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});manager.synth.setLogLevel(!1,!1,!1,!1),manager.seq?manager.seq.loadNewSongList(A):manager.play(A),gB.style.display="flex",gB.onclick=window.manager.exportSong.bind(window.manager)}function d_(n){localStorage.setItem("spessasynth-settings",JSON.stringify(n)),_5("saved as",n)}window.saveSettings=d_;var Pp=JSON.parse(localStorage.getItem("spessasynth-settings"));Pp!==null&&(window.savedSettings=new Promise(n=>{n(Pp)}));var dB;Pp&&Pp.interface&&Pp.interface.language?dB=(await savedSettings).interface.language||navigator.language.split("-")[0].toLowerCase():dB=navigator.language.split("-")[0].toLowerCase();za.value="";za.focus();gB.style.display="none";document.getElementById("sf_upload").style.display="none";document.getElementById("file_upload").style.display="none";async function h_(n){sC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_songs/"+n);i.name=n,await uB([i])}g_(dB).then(()=>{document.getElementById("sf_upload").style.display="flex",document.getElementById("file_upload").style.display="flex",L$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{L$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll"),F7&&window.chrome&&qe(window.manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.chromeMobile")}],7)},1e3),A_.onchange=n=>{if(!n.target.files[0])return;let i=n.target.files[0];window.manager.seq&&window.manager.seq.pause(),document.getElementById("sf_upload").firstElementChild.innerText=i.name,L$.style.display="",setTimeout(async()=>{L$.classList.remove("done"),M$(Hy(256),!1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.loadingSoundfont");let A=performance.now()/1e3,c;try{c=await i.arrayBuffer(),window.soundFontParser=c}catch(p){throw U7.textContent=window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory"),M$(Fp(256)),qe(manager.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:window.manager.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),p}window.manager.sfError=p=>{U7.innerHTML=`Error parsing soundfont:
${p}
`,M$(Fp(256)),console.error(p)},U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.startingSynthesizer"),await window.manager.reloadSf(c),window.manager.seq&&(window.manager.seq.currentTime-=.1),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.savingSoundfont"),await vk(c);let d=performance.now()/1e3-A;await new Promise(p=>setTimeout(p,1e3-d)),M$(XC(256)),U7.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.done"),L$.classList.add("done"),document.documentElement.classList.add("no_scroll"),document.body.classList.add("no_scroll"),setTimeout(()=>{L$.style.display="none",document.body.classList.remove("no_scroll"),document.documentElement.classList.remove("no_scroll")},1e3)},75)},wk.onclick=async()=>{let n=[{type:"button",textContent:"Bundled SoundFont Credits",onClick:()=>{window.open("https://schristiancollins.com/generaluser.php")}}];sC.textContent=window.manager.localeManager.getLocaleString("locale.synthInit.genericLoading");let i=await(await fetch("https://spessasus.github.io/spessasynth-demo-songs/demo_song_list.json")).text(),A=JSON.parse(i);for(let c of A)n.push({type:"button",textContent:c.name,onClick:d=>{le(d.id),qe(window.manager.localeManager.getLocaleString("locale.credits"),[{type:"text",textContent:c.credits.replace(` `,`\r \r `),attributes:{style:"white-space: pre-line;"}},{type:"button",textContent:"Ok",onClick:p=>{le(p.id)}}],999999,!0,void 0,void 0,async()=>{await h_(c.fileName)})}});qe(window.manager.localeManager.getLocaleString("locale.demoSongButton"),n,999999,!0,void 0)}}); diff --git a/src/website/minified/local_main.min.js b/src/website/minified/local_main.min.js index 3a172b2..1f72749 100644 --- a/src/website/minified/local_main.min.js +++ b/src/website/minified/local_main.min.js @@ -1,4 +1,4 @@ -var CE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var j5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((h,p)=>h+p.length,0),A=new j5(i),c=0;for(let h of n)A.set(h,c),c+=h.length;return A}function y$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function NC(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var y7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var Z3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function iy(n){let i=n&240,A=n&15,c=-1,h=n;return i>=128&&i<=224&&(c=A,h=i),{status:h,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var BE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&Object.values(this.events[i]).forEach(c=>c(A))}};var Hr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},yp=class{constructor(i,A=Hr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let h=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],O=[],H=A.oscillatorFrequency,P=A.defaultDelay;for(let U=0;U{let p=await h.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var B4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},wp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},s7=-1,w$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var ny=!1,oy=!0,QE=!1,CD=!0;function sy(n,i,A,c){ny=n,oy=i,QE=A,CD=c}function U5(...n){ny&&console.info(...n)}function T9(...n){oy&&console.warn(...n)}function M7(...n){QE&&console.group(...n)}function y8(...n){QE&&console.groupCollapsed(...n)}function g9(){QE&&console.groupEnd()}var ay={chorusEnabled:!0,chorusConfig:Hr,reverbEnabled:!0,reverbImpulseResponse:void 0};var vp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var yE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(h=>h.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(vp.addNewSoundFont,[i,A,c]),await new Promise(h=>this.synth.resolveWhenReady=h),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){T9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){T9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(vp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(vp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(vp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var m0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},Z6=[];Z6[m0.startAddrsOffset]={min:0,max:32768,def:0};Z6[m0.endAddrOffset]={min:-32768,max:32768,def:0};Z6[m0.startloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.endloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.startAddrsCoarseOffset]={min:0,max:32768,def:0};Z6[m0.modLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.initialFilterFc]={min:1500,max:13500,def:13500};Z6[m0.initialFilterQ]={min:0,max:960,def:0};Z6[m0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.modLfoToVolume]={min:-960,max:960,def:0};Z6[m0.chorusEffectsSend]={min:0,max:1e3,def:0};Z6[m0.reverbEffectsSend]={min:0,max:1e3,def:0};Z6[m0.pan]={min:-500,max:500,def:0};Z6[m0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqModLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqVibLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayModEnv]={min:-32768,max:5e3,def:-32768};Z6[m0.attackModEnv]={min:-32768,max:8e3,def:-32768};Z6[m0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainModEnv]={min:0,max:1e3,def:0};Z6[m0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainVolEnv]={min:0,max:1440,def:0};Z6[m0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.keyNum]={min:-1,max:127,def:-1};Z6[m0.velocity]={min:-1,max:127,def:-1};Z6[m0.initialAttenuation]={min:-250,max:1440,def:0};Z6[m0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.coarseTune]={min:-120,max:120,def:0};Z6[m0.fineTune]={min:-12700,max:12700,def:0};Z6[m0.scaleTuning]={min:0,max:1200,def:100};Z6[m0.exclusiveClass]={min:0,max:99999,def:0};Z6[m0.overridingRootKey]={min:-1,max:127,def:-1};Z6[m0.sampleModes]={min:0,max:3,def:0};var u6=class{generatorType=m0.INVALID;generatorValue=0;constructor(i=m0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let h=Z6[i];h!==void 0&&(this.generatorValue=Math.max(h.min,Math.min(h.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Z7={linear:0,concave:1,convex:2,switch:3},$e=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=m0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===m0.reverbEffectsSend||this.modulatorDestination===m0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(h,p){return Object.keys(h).find(O=>h[O]===p)}let A=i(Z7,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(Z7,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: +var CE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>(typeof require<"u"?require:i)[A]}):n)(function(n){if(typeof require<"u")return require.apply(this,arguments);throw Error('Dynamic require of "'+n+'" is not supported')});var j5=class extends Uint8Array{currentIndex;constructor(i){super(i),this.currentIndex=0}};function St(n){let i=n.reduce((h,p)=>h+p.length,0),A=new j5(i),c=0;for(let h of n)A.set(h,c),c+=h.length;return A}function y$(n){n=Math.floor(n);let i=Math.floor(n/60),A=Math.round(n-i*60);return{minutes:i,seconds:A,time:`${i.toString().padStart(2,"0")}:${A.toString().padStart(2,"0")}`}}function NC(n){return n.trim().replaceAll(".mid","").replaceAll(".rmi","").replaceAll("_"," ")}var C1={warn:"color: orange;",unrecognized:"color: red;",info:"color: aqua;",recognized:"color: lime",value:"color: yellow; background-color: black;"};var y7=class{constructor(i,A,c){this.ticks=i,this.messageStatusByte=A,this.messageData=c}};var Z3={noteOff:128,noteOn:144,polyPressure:160,controllerChange:176,programChange:192,channelPressure:208,pitchBend:224,systemExclusive:240,timecode:241,songPosition:242,songSelect:243,tuneRequest:246,clock:248,start:250,continue:251,stop:252,activeSensing:254,reset:255,sequenceNumber:0,text:1,copyright:2,trackName:3,instrumentName:4,lyric:5,marker:6,cuePoint:7,programName:8,midiChannelPrefix:32,midiPort:33,endOfTrack:47,setTempo:81,smpteOffset:84,timeSignature:88,keySignature:89,sequenceSpecific:127};function ty(n){let i=n&240,A=n&15,c=-1,h=n;return i>=128&&i<=224&&(c=A,h=i),{status:h,channel:c}}var $3={bankSelect:0,modulationWheel:1,breathController:2,footController:4,portamentoTime:5,dataEntryMsb:6,mainVolume:7,balance:8,pan:10,expressionController:11,effectControl1:12,effectControl2:13,generalPurposeController1:16,generalPurposeController2:17,generalPurposeController3:18,generalPurposeController4:19,lsbForControl0BankSelect:32,lsbForControl1ModulationWheel:33,lsbForControl2BreathController:34,lsbForControl4FootController:36,lsbForControl5PortamentoTime:37,lsbForControl6DataEntry:38,lsbForControl7MainVolume:39,lsbForControl8Balance:40,lsbForControl10Pan:42,lsbForControl11ExpressionController:43,lsbForControl12EffectControl1:44,lsbForControl13EffectControl2:45,sustainPedal:64,portamentoOnOff:65,sostenutoPedal:66,softPedal:67,legatoFootswitch:68,hold2Pedal:69,soundVariation:70,timbreHarmonicContent:71,releaseTime:72,attackTime:73,brightness:74,soundController6:75,soundController7:76,soundController8:77,soundController9:78,soundController10:79,generalPurposeController5:80,generalPurposeController6:81,generalPurposeController7:82,generalPurposeController8:83,portamentoControl:84,reverbDepth:91,tremoloDepth:92,chorusDepth:93,detuneDepth:94,phaserDepth:95,dataIncrement:96,dataDecrement:97,NRPNLsb:98,NRPNMsb:99,RPNLsb:100,RPNMsb:101,allSoundOff:120,resetAllControllers:121,localControlOnOff:122,allNotesOff:123,omniModeOff:124,omniModeOn:125,monoModeOn:126,polyModeOn:127};var BE=class{constructor(){this.events={noteoff:{},noteon:{},pitchwheel:{},controllerchange:{},programchange:{},channelpressure:{},polypressure:{},drumchange:{},stopall:{},newchannel:{},mutechannel:{},presetlistchange:{},allcontrollerreset:{},soundfonterror:{}}}addEvent(i,A,c){this.events[i][A]=c}removeEvent(i,A){delete this.events[i][A]}callEvent(i,A){this.events[i]&&Object.values(this.events[i]).forEach(c=>c(A))}};var Hr={nodesAmount:4,defaultDelay:.03,delayVariation:.01,stereoDifference:.02,oscillatorFrequency:.2,oscillatorFrequencyVariation:.05,oscillatorGain:.003},yp=class{constructor(i,A=Hr){let c=i.context;this.input=new ChannelSplitterNode(c,{numberOfOutputs:2});let h=new ChannelMergerNode(c,{numberOfInputs:2}),p=[],P=[],X=A.oscillatorFrequency,O=A.defaultDelay;for(let U=0;U{let p=await h.arrayBuffer();A.buffer=await n.decodeAudioData(p)})}return A}var B4={noteOff:0,noteOn:1,ccChange:2,programChange:3,channelPressure:4,polyPressure:5,killNote:6,ccReset:7,setChannelVibrato:8,soundFontManager:9,stopAll:10,killNotes:11,muteChannel:12,addNewChannel:13,customcCcChange:14,debugMessage:15,systemExclusive:16,setMasterParameter:17,setDrums:18,pitchWheel:19,transpose:20,highPerformanceMode:21,lockController:22,sequencerSpecific:23,requestSynthesizerSnapshot:24,setLogLevel:25,keyModifierManager:26,setEffectsGain:27,destroyWorklet:28},wp={mainVolume:0,masterPan:1,voicesCap:2,interpolationType:3},s7=-1,w$={channelProperties:0,eventCall:1,reportedCurrentTime:2,sequencerSpecific:3,synthesizerSnapshot:4,ready:5,soundfontError:6,identify:7};var ry=!1,ny=!0,QE=!1,BD=!0;function oy(n,i,A,c){ry=n,ny=i,QE=A,BD=c}function U5(...n){ry&&console.info(...n)}function T9(...n){ny&&console.warn(...n)}function M7(...n){QE&&console.group(...n)}function y8(...n){QE&&console.groupCollapsed(...n)}function g9(){QE&&console.groupEnd()}var sy={chorusEnabled:!0,chorusConfig:Hr,reverbEnabled:!0,reverbImpulseResponse:void 0};var vp={reloadSoundFont:0,addNewSoundFont:2,deleteSoundFont:3,rearrangeSoundFonts:4};var yE=class{constructor(i){this.soundfontList=[{id:"main",bankOffset:0}],this._port=i.worklet.port,this.synth=i}_sendToWorklet(i,A){this._port.postMessage({messageType:B4.soundFontManager,messageData:[i,A]})}async addNewSoundFont(i,A,c=0){if(this.soundfontList.find(h=>h.id===A)!==void 0)throw new Error("Cannot overwrite the existing soundfont. Use soundfontManager.delete(id) instead.");this._sendToWorklet(vp.addNewSoundFont,[i,A,c]),await new Promise(h=>this.synth.resolveWhenReady=h),this.soundfontList.push({id:A,bankOffset:c})}deleteSoundFont(i){if(this.soundfontList.length===0){T9("1 soundfont left. Aborting!");return}if(this.soundfontList.findIndex(A=>A.id===i)===-1){T9(`No soundfont with id of "${i}" found. Aborting!`);return}this._sendToWorklet(vp.deleteSoundFont,i)}rearrangeSoundFonts(i){this._sendToWorklet(vp.rearrangeSoundFonts,i),this.soundfontList.sort((A,c)=>i.indexOf(A.id)-i.indexOf(c.id))}async reloadManager(i){this._sendToWorklet(vp.reloadSoundFont,i),await new Promise(A=>this.synth.resolveWhenReady=A)}};var m0={INVALID:-1,startAddrsOffset:0,endAddrOffset:1,startloopAddrsOffset:2,endloopAddrsOffset:3,startAddrsCoarseOffset:4,modLfoToPitch:5,vibLfoToPitch:6,modEnvToPitch:7,initialFilterFc:8,initialFilterQ:9,modLfoToFilterFc:10,modEnvToFilterFc:11,endAddrsCoarseOffset:12,modLfoToVolume:13,unused1:14,chorusEffectsSend:15,reverbEffectsSend:16,pan:17,unused2:18,unused3:19,unused4:20,delayModLFO:21,freqModLFO:22,delayVibLFO:23,freqVibLFO:24,delayModEnv:25,attackModEnv:26,holdModEnv:27,decayModEnv:28,sustainModEnv:29,releaseModEnv:30,keyNumToModEnvHold:31,keyNumToModEnvDecay:32,delayVolEnv:33,attackVolEnv:34,holdVolEnv:35,decayVolEnv:36,sustainVolEnv:37,releaseVolEnv:38,keyNumToVolEnvHold:39,keyNumToVolEnvDecay:40,instrument:41,reserved1:42,keyRange:43,velRange:44,startloopAddrsCoarseOffset:45,keyNum:46,velocity:47,initialAttenuation:48,reserved2:49,endloopAddrsCoarseOffset:50,coarseTune:51,fineTune:52,sampleID:53,sampleModes:54,reserved3:55,scaleTuning:56,exclusiveClass:57,overridingRootKey:58,unused5:59,endOper:60},Z6=[];Z6[m0.startAddrsOffset]={min:0,max:32768,def:0};Z6[m0.endAddrOffset]={min:-32768,max:32768,def:0};Z6[m0.startloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.endloopAddrsOffset]={min:-32768,max:32768,def:0};Z6[m0.startAddrsCoarseOffset]={min:0,max:32768,def:0};Z6[m0.modLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.vibLfoToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToPitch]={min:-12e3,max:12e3,def:0};Z6[m0.initialFilterFc]={min:1500,max:13500,def:13500};Z6[m0.initialFilterQ]={min:0,max:960,def:0};Z6[m0.modLfoToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.modEnvToFilterFc]={min:-12e3,max:12e3,def:0};Z6[m0.endAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.modLfoToVolume]={min:-960,max:960,def:0};Z6[m0.chorusEffectsSend]={min:0,max:1e3,def:0};Z6[m0.reverbEffectsSend]={min:0,max:1e3,def:0};Z6[m0.pan]={min:-500,max:500,def:0};Z6[m0.delayModLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqModLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayVibLFO]={min:-12e3,max:5e3,def:-12e3};Z6[m0.freqVibLFO]={min:-16e3,max:4500,def:0};Z6[m0.delayModEnv]={min:-32768,max:5e3,def:-32768};Z6[m0.attackModEnv]={min:-32768,max:8e3,def:-32768};Z6[m0.holdModEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayModEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainModEnv]={min:0,max:1e3,def:0};Z6[m0.releaseModEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToModEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToModEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.delayVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.attackVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.holdVolEnv]={min:-12e3,max:5e3,def:-12e3};Z6[m0.decayVolEnv]={min:-12e3,max:8e3,def:-12e3};Z6[m0.sustainVolEnv]={min:0,max:1440,def:0};Z6[m0.releaseVolEnv]={min:-7200,max:8e3,def:-12e3};Z6[m0.keyNumToVolEnvHold]={min:-1200,max:1200,def:0};Z6[m0.keyNumToVolEnvDecay]={min:-1200,max:1200,def:0};Z6[m0.startloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.keyNum]={min:-1,max:127,def:-1};Z6[m0.velocity]={min:-1,max:127,def:-1};Z6[m0.initialAttenuation]={min:-250,max:1440,def:0};Z6[m0.endloopAddrsCoarseOffset]={min:-32768,max:32768,def:0};Z6[m0.coarseTune]={min:-120,max:120,def:0};Z6[m0.fineTune]={min:-12700,max:12700,def:0};Z6[m0.scaleTuning]={min:0,max:1200,def:100};Z6[m0.exclusiveClass]={min:0,max:99999,def:0};Z6[m0.overridingRootKey]={min:-1,max:127,def:-1};Z6[m0.sampleModes]={min:0,max:3,def:0};var u6=class{generatorType=m0.INVALID;generatorValue=0;constructor(i=m0.INVALID,A=0,c=!0){if(this.generatorType=i,A===void 0)throw new Error("No value provided.");if(this.generatorValue=Math.round(A),c){let h=Z6[i];h!==void 0&&(this.generatorValue=Math.max(h.min,Math.min(h.max,this.generatorValue)))}}};var q4={noController:0,noteOnVelocity:2,noteOnKeyNum:3,polyPressure:10,channelPressure:13,pitchWheel:14,pitchWheelRange:16,link:127},Z7={linear:0,concave:1,convex:2,switch:3},$e=class n{currentValue=0;constructor(i){this.sourceEnum=i.srcEnum,this.modulatorDestination=i.dest,this.secondarySourceEnum=i.secSrcEnum,this.transformAmount=i.amt,this.transformType=i.transform,this.modulatorDestination>58&&(this.modulatorDestination=m0.INVALID),this.sourcePolarity=this.sourceEnum>>9&1,this.sourceDirection=this.sourceEnum>>8&1,this.sourceUsesCC=this.sourceEnum>>7&1,this.sourceIndex=this.sourceEnum&127,this.sourceCurveType=this.sourceEnum>>10&3,this.secSrcPolarity=this.secondarySourceEnum>>9&1,this.secSrcDirection=this.secondarySourceEnum>>8&1,this.secSrcUsesCC=this.secondarySourceEnum>>7&1,this.secSrcIndex=this.secondarySourceEnum&127,this.secSrcCurveType=this.secondarySourceEnum>>10&3,this.isEffectModulator=(this.sourceEnum===219||this.sourceEnum===221)&&this.secondarySourceEnum===0&&(this.modulatorDestination===m0.reverbEffectsSend||this.modulatorDestination===m0.chorusEffectsSend)}static copy(i){return new n({srcEnum:i.sourceEnum,secSrcEnum:i.secondarySourceEnum,transform:i.transformType,amt:i.transformAmount,dest:i.modulatorDestination})}static isIdentical(i,A){return i.sourceEnum===A.sourceEnum&&i.modulatorDestination===A.modulatorDestination&&i.secondarySourceEnum===A.secondarySourceEnum&&i.transformType===A.transformType}sumTransform(i){return new n({srcEnum:this.sourceEnum,secSrcEnum:this.secondarySourceEnum,dest:this.modulatorDestination,transform:this.transformType,amt:this.transformAmount+i.transformAmount})}debugString(){function i(h,p){return Object.keys(h).find(P=>h[P]===p)}let A=i(Z7,this.sourceCurveType);A+=this.sourcePolarity===0?" unipolar ":" bipolar ",A+=this.sourceDirection===0?"forwards ":"backwards ",this.sourceUsesCC?A+=i($3,this.sourceIndex):A+=i(q4,this.sourceIndex);let c=i(Z7,this.secSrcCurveType);return c+=this.secSrcPolarity===0?" unipolar ":" bipolar ",c+=this.secSrcCurveType===0?"forwards ":"backwards ",this.secSrcUsesCC?c+=i($3,this.secSrcIndex):c+=i(q4,this.secSrcIndex),`Modulator: Source: ${A} Secondary source: ${c} Destination: ${i(m0,this.modulatorDestination)} @@ -6,12 +6,12 @@ var CE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( Transform type: ${this.transformType} -`}},GC=960,UC=Z7.concave;function Yr(n,i,A,c,h){return n<<10|i<<9|A<<8|c<<7|h}var wE=[new $e({srcEnum:Yr(UC,0,1,0,q4.noteOnVelocity),dest:m0.initialAttenuation,amt:GC,secSrcEnum:0,transform:0}),new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(UC,0,1,1,$3.mainVolume),dest:m0.initialAttenuation,amt:GC,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:526,dest:m0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new $e({srcEnum:650,dest:m0.pan,amt:500,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(UC,0,1,1,$3.expressionController),dest:m0.initialAttenuation,amt:GC,secSrcEnum:0,transform:0}),new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,0,0,0,q4.polyPressure),dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,0,0,1,$3.tremoloDepth),dest:m0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,1,0,1,$3.releaseTime),dest:m0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,1,0,1,$3.brightness),dest:m0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,1,0,1,$3.timbreHarmonicContent),dest:m0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var v$=128,Ay=147,BD=new Int16Array(Ay).fill(0),a7=(n,i)=>BD[n]=i<<7;a7($3.mainVolume,100);a7($3.balance,64);a7($3.expressionController,127);a7($3.pan,64);a7($3.timbreHarmonicContent,64);a7($3.releaseTime,64);a7($3.attackTime,64);a7($3.brightness,64);a7($3.soundController6,64);a7($3.soundController7,64);a7($3.soundController8,64);a7($3.soundController9,64);a7($3.generalPurposeController6,64);a7($3.generalPurposeController8,64);a7(v$+q4.pitchWheel,64);a7(v$+q4.pitchWheelRange,2);var vE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},$y=Object.keys(vE).length,QD=new Float32Array($y);QD[vE.modulationMultiplier]=1;var ly={velocityOverride:128};var kE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},SE={addMapping:0,deleteMapping:1,clearMappings:2};var bE=class{constructor(i){this.synth=i}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let h=c?.velocity??-1,p=c?.patch?.program??-1,O=c?.patch?.bank??-1;this._sendToWorklet(SE.addMapping,[i,A,new kE(h,O,p)])}deleteModifier(i,A){this._sendToWorklet(SE.deleteMapping,[i,A])}clearModifiers(){this._sendToWorklet(SE.clearMappings,void 0)}};var yD="spessasynth-worklet-system",PC=350,R7=9,wD=16;var uu=class{constructor(i,A,c=!0,h=void 0,p=ay){U5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let O=h?.oneOutput===!0;this.eventHandler=new BE,this._voiceCap=PC,this._destroyed=!1,this._outputsAmount=wD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(U=>this.resolveWhenReady=U),this.channelProperties=[];for(let U=0;Uthis.handleMessage(U.data),this.soundfontManager=new yE(this),this.keyModifierManager=new bE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!O&&(this.reverbProcessor=ry(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!O&&(this.chorusProcessor=new yp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),O)this.worklet.connect(i,0);else for(let U=2;U{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(wp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,h){this.post({channelNumber:s7,messageType:B4.setLogLevel,messageData:[i,A,c,h]})}_setMasterParam(i,A){this.post({channelNumber:s7,messageType:B4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(wp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case w$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,h)=>c+h.voicesAmount,0);break;case w$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case w$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case w$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case w$.ready:this.resolveWhenReady();break;case w$.soundfontError:T9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:s7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! - Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,h]})}resetControllers(){this.post({channelNumber:s7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(s7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(wp.mainVolume,i)}setMasterPan(i){this._setMasterParam(wp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[ly.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){T9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:s7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:B4.setDrums,messageData:A})}sendMessage(i,A=0){let c=iy(i[0]);switch(c.channel+=A,c.status){case Z3.noteOn:let h=i[2];h>0?this.noteOn(c.channel,i[1],h):this.noteOff(c.channel,i[1]);break;case Z3.noteOff:this.noteOff(c.channel,i[1]);break;case Z3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case Z3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case Z3.programChange:this.programChange(c.channel,i[1]);break;case Z3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case Z3.channelPressure:this.channelPressure(c.channel,i[1]);break;case Z3.systemExclusive:this.systemExclusive(new j5(i.slice(1)));break;case Z3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new yp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:B4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,h)=>{let p;if(Ir)p=127;else{let H=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let P=h.clientX-H.left,U=H.width;p=Math.floor((U-P)/U*127)}else{let P=h.clientY-H.top,U=H.height;p=Math.floor(P/U*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let h=c.touches?Array.from(c.touches):[c],p=new Set;h.forEach(O=>{let H=document.elementFromPoint(O.clientX,O.clientY),P=parseInt(H.id.replace("note",""));p.add(P),!(isNaN(P)||P<0||this.pressedKeys.has(P))&&(this.pressedKeys.add(P),i(P,O))}),this.pressedKeys.forEach(O=>{p.has(O)||n(O)})};Ir||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var gy=20,kp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let h=0;h<128;h++)this.releaseNote(h,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(O=A(i+1)),O&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):O&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let h=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,O;for(let H of p)if(H.selectorText==="#keyboard .key"){O=H;break}if(O.style.setProperty("--pressed-transform-skew",`${8e-4/(h/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let H=getComputedStyle(this.keyboard),P=parseFloat(H.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),U=this.keyboard.getBoundingClientRect().height,W0=h/P,_=U*W0-U,e0=(this._keyRange.min+this._keyRange.max)/2,i0=(i.min+i.max)/2;this._keyRange=i;let a1=this.keys.find(C2=>C2.classList.contains("sharp_key")).getBoundingClientRect().width,_1=(e0-i0)*a1,f1=parseFloat(H.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${W0}) translateX(${_1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${f1/W0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${h}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${h}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let h=this.keys[i-this._keyRange.min];if(h===void 0)return;h.classList.add("pressed");let p=h.classList.contains("sharp_key"),O=c/127,H=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),P;if(!p&&this.mode==="light"?P=`rgba(${H.slice(0,3).map(W0=>255-(255-W0)*O).join(", ")}, ${H[3]})`:P=`rgba(${H.slice(0,3).map(W0=>W0*O).join(", ")}, ${H[3]})`,h.style.background=P,this.mode==="dark"){let U=gy*O;h.style.boxShadow=`${P} 0px 0px ${U}px ${U/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let h=this.keyColors[i-this._keyRange.min];if(!h)return;let p=h.findLastIndex(O=>O===this.channelColors[A]);p!==-1&&(h.splice(p,1),c.style.background=h[h.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${gy}px ${h[h.length-1]}`),h.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};kp.prototype._handlePointers=cy;function k$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var kD="#000";function uy(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let h=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*h,A){i.fillRect(c.xPos,c.yPos-c.height*h,c.width,c.height*(h*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*h,c.yPos,c.width*(h*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=kD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var OC=!1;function hy(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(OC){n&&requestAnimationFrame(this.render.bind(this));return}else OC=!0;else OC=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||uy(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let h=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${DE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,DE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(h).toString()+" FPS",this.canvas.width,DE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function dy(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,h=i/(c+1),p=h-b$*2,O=this.noteFallingTimeMs/1e3,H=this.noteAfterTriggerTimeMs/1e3,P=this.seq.currentHighResolutionTime,U=P-H,W0=O+H,_=U+W0,e0=Iy/W0,i0=[];this.synth.channelProperties.forEach(_1=>{if(this.showVisualPitch){let f1=_1.pitchBend-8192+this.visualPitchBendOffset;i0.push(_1.pitchBendRangeSemitones*(f1/8192*h))}else i0.push(0)});let a1=[];return this.noteTimes.forEach((_1,f1)=>{if(_1.renderStartIndex>=_1.notes.length||!this.renderChannels[f1])return;let C2=_1.renderStartIndex,u2=_1.notes,I2=u2[C2],K2=-1;for(;I2.start<=_&&(C2++,!(this.notesOnScreen>my));){let J2=I2.start+I2.length;if(J2>U&&I2.length>0){let A0=I2.length/W0*A-b$*2;if(this.notesOnScreen<1e3||A0>e0){K2===-1&&(K2=C2-1);let C5=(I2.start-U)/W0*A,p3;if(this._notesFall?p3=A-A0-C5+b$:p3=C5+b$,I2.midiNotethis.keyRange.max){if(C2>=u2.length)break;I2=u2[C2];continue}let w3=I2.midiNote-this.keyRange.min,m6=h*w3+b$,v3,x6,u9,P3;if(this.sideways?(v3=p3,x6=m6,P3=p,u9=A0):(x6=p3,v3=m6,u9=p,P3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[f1],this.drawingContext.fillRect(v3+S$+b$,x6+S$,u9-S$*2,P3-S$*2);else{let w6;if(I2.start>P||J2=u2.length)break;I2=u2[C2]}K2>-1&&(_1.renderStartIndex=K2)}),a1.sort((_1,f1)=>f1.height-_1.height),a1}function py(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let h=c%4,p=Math.floor(c/4),O=!1;for(let _=c;_0){O=!0;break}if(!O){let _=this.canvas.width/4,e0=this.canvas.height/4,i0=_*h,a1=e0*p+e0/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(i0,a1),this.drawingContext.lineTo(i0+_,a1),this.drawingContext.stroke();return}let H=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(H);let P=n*h,U=i*p+i/2,W0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=H.length/4,e0=n/_,i0=Math.floor(_/2),a1=H.length-i0;for(let u2=a1;u2>=1;u2--)if(H[u2-1]<0&&H[u2]>=0){a1=u2;break}let _1=P,f1=a1-i0,C2=a1+i0;for(let u2=f1;u2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function By(){for(let n=0;n4096?this.delayNode.delayTime.value=h/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function Qy(n){n.connectIndividualOutputs(this.channelAnalysers),n.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{setTimeout(this.updateFftSize.bind(this),100)})}function yy(){for(let n of this.channelAnalysers)n.disconnect();U5("%cAnalysers disconnected!",C1.recognized)}function wy(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),h=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${h}), rgba(0, 0, 0, ${h})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function vy(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function qC(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function Sp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var hu=.02;function ky(n){function i(U){return U.messageData=new j5(U.messageData.buffer),U.messageData.currentIndex=0,6e7/qC(U.messageData,3)}let A=[],h=n.tracks.flat();h.sort((U,W0)=>U.ticks-W0.ticks);for(let U=0;U<16;U++)A.push({renderStartIndex:0,notes:[]});let p=0,O=60/(120*n.timeDivision),H=0,P=0;for(;H>4,_=U.messageStatusByte&15;if(W0===8){let e0=A[_].notes.findLast(i0=>i0.midiNote===U.messageData[0]&&i0.length===-1);if(e0){let i0=p-e0.start;e0.length=i0i0.midiNote===U.messageData[0]&&i0.length===-1);if(e0){let i0=p-e0.start;e0.length=i0=h.length)break;p+=O*(h[H].ticks-U.ticks)}P>0&&A.forEach((U,W0)=>U.notes.filter(_=>_.length===-1).forEach(_=>{let e0=p-_.start;_.length=e0i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,k$(i,c=>c*xE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,k$(i,c=>c*xE*_E)),A.addColorStop(1,k$(i,c=>c*_E)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,k$(i,c=>c*xE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,k$(i,c=>c*xE*_E)),A.addColorStop(1,k$(i,c=>c*_E)),A})}};F7.prototype.render=hy;F7.prototype.computeNotePositions=dy;F7.prototype.createChannelAnalysers=Cy;F7.prototype.updateFftSize=By;F7.prototype.connectChannelAnalysers=Qy;F7.prototype.disconnectChannelAnalysers=yy;F7.prototype.connectSequencer=wy;F7.prototype.calculateNoteTimes=ky;F7.prototype.resetIndexes=vy;F7.prototype.renderWaveforms=py;function s3(n,i){let A=0;for(let c=0;c>>0}function fi(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function m9(n,i){fi(n,i,4)}function Ga(n,i){let A=i<<8|n;return A>32767?A-65536:A}function Sy(n){return n>127?n-256:n}function Q4(n,i,A=void 0,c=!0){if(A){let h=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(h.buffer)}else{let h=!1,p="";for(let O=0;O127)&&H!==10){if(c){h=!0;continue}else if(H===0){h=!0;continue}}p+=String.fromCharCode(H)}}return p}}function T7(n,i=0){let A=n.length;i>0&&(A=i);let c=new j5(A);return U8(c,n,i),c}function U8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,Q4(A.chunkData,4)===i))}function LE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function ME(n){let i=[];for(let h of n.tracks){let p=[],O=0,H;for(let P of h){let U=P.ticks-O,W0;P.messageStatusByte<=Z3.keySignature||P.messageStatusByte===Z3.sequenceSpecific?W0=[255,P.messageStatusByte,...LE(P.messageData.length),...P.messageData]:P.messageStatusByte===Z3.systemExclusive?W0=[240,...LE(P.messageData.length),...P.messageData]:(W0=[],H!==P.messageStatusByte&&(H=P.messageStatusByte,W0.push(P.messageStatusByte)),W0.push(...P.messageData)),p.push(...LE(U)),p.push(...W0),O+=U}i.push(new Uint8Array(p))}function A(h,p){for(let O=0;O{n.tracks.forEach((a1,_1)=>{if(n.midiPorts[_1]===i0)for(let f1=a1.length-1;f1>=0;f1--)a1[f1].messageStatusByte>=128&&a1[f1].messageStatusByte<240&&(a1[f1].messageStatusByte&15)===e0&&a1.splice(f1,1)})};c.forEach(e0=>{let i0=e0%16,a1=e0-i0,_1=n.midiPortChannelOffsets.findIndex(f1=>f1===a1);p(i0,_1),U5(`%cRemoving channel %c${e0}%c!`,C1.info,C1.recognized,C1.info)});let O=!1,H="gs",P=[],U=[];n.tracks.forEach((e0,i0)=>{e0.forEach(a1=>{let _1=a1.messageStatusByte&240;_1===Z3.controllerChange?P.push({track:i0,message:a1,channel:a1.messageStatusByte&15}):_1===Z3.programChange?U.push({track:i0,message:a1,channel:a1.messageStatusByte&15}):a1.messageStatusByte===Z3.systemExclusive&&(a1.messageData[0]===67&&a1.messageData[2]===76&&a1.messageData[5]===126&&a1.messageData[6]===0?(U5("%cXG system on detected",C1.info),H="xg",O=!0):a1.messageData[0]===67&&a1.messageData[2]===76&&a1.messageData[3]===8&&a1.messageData[5]===3&&U.push({track:i0,message:a1,channel:a1.messageData[4]}))})});let W0=(e0,i0,a1)=>n.tracks.reduce((_1,f1,C2)=>{if(n.usedChannelsOnTrack[C2].has(e0)&&n.midiPorts[C2]===i0){let u2;a1?u2=f1.findIndex(I2=>(I2.messageStatusByte&240)===Z3.noteOn):u2=f1.findIndex(I2=>I2.messageStatusByte>128&&I2.messageStatusByte<240&&(I2.messageStatusByte&15)===e0&&!(I2.messageStatusByte&Z3.controllerChange===240&&(I2.messageData[0]===$3.resetAllControllers||I2.messageData[0]===$3.allNotesOff||I2.messageData[0]===$3.allSoundOff))),u2!==-1&&_1.push({index:u2,track:C2})}return _1},[]),_=(e0,i0,a1)=>{let _1=P.filter(f1=>f1.channel===e0&&f1.message.messageData[0]===a1&&n.midiPorts[f1.track]===i0);for(let f1=0;f1<_1.length;f1++){let C2=_1[f1];n.tracks[C2.track].splice(n.tracks[C2.track].indexOf(C2.message),1),P.splice(P.indexOf(C2),1)}};A.forEach(e0=>{let i0=e0.channel,a1=i0%16,_1=i0-a1,f1=n.midiPortChannelOffsets.findIndex(A0=>A0===_1),C2=e0.controllerValue,u2=e0.controllerNumber;_(a1,f1,u2),U5(`%cNo controller %c${u2}%c on channel %c${i0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let I2=W0(a1,f1,!0);if(I2.length===0){T9("Program change but no notes... ignoring!");return}let K2=I2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let i0=e0.channel%16,a1=e0.channel-i0,_1=n.midiPortChannelOffsets.findIndex(w3=>w3===a1),f1=e0.isDrum?0:e0.bank,C2=e0.program,u2=U.filter(w3=>n.midiPorts[w3.track]===_1&&w3.channel===i0);if(_(i0,_1,$3.bankSelect),_(i0,_1,$3.lsbForControl0BankSelect),(e0.isDrum||f1>0)&&!O&&(n.tracks.forEach(w3=>{for(let m6=0;m60);if(I2.length===0){T9("Program change but no notes... ignoring!");return}let K2=I2.reduce((w3,m6)=>n.tracks[m6.track][m6.index].ticks{if(n.midiPorts[u2]!==a1||!n.usedChannelsOnTrack[u2].has(i0))return;let I2=Z3.noteOn|i0,K2=Z3.noteOff|i0,J2=Z3.polyPressure|i0;C2.forEach(A0=>{A0.messageStatusByte!==I2&&A0.messageStatusByte!==K2&&A0.messageStatusByte!==J2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+_1)))})}),f1!==0){let C2=n.tracks.find((v3,x6)=>n.usedChannelsOnTrack[x6].has(e0.channel));if(C2===void 0){T9(`Channel ${e0.channel} unused but transpose requested???`);continue}let u2=Z3.noteOn|e0.channel%16,I2=C2.findIndex(v3=>v3.messageStatusByte===u2);if(I2===-1){T9(`No notes on channel ${e0.channel} but transpose requested???`);continue}let K2=C2[I2].ticks,J2=f1*64+64,A0=Z3.controllerChange|e0.channel%16,C5=new y7(K2,A0,new j5([$3.RPNMsb,0])),p3=new y7(K2,A0,new j5([$3.RPNLsb,1])),w3=new y7(K2,A0,new j5([$3.dataEntryMsb,J2])),m6=new y7(K2,A0,new j5([$3.lsbForControl6DataEntry,0]));C2.splice(I2,0,m6),C2.splice(I2,0,w3),C2.splice(I2,0,p3),C2.splice(I2,0,C5)}}g9()}function Ua(n,i){let A=[],c=[],h=[],p=[];i.channelSnapshots.forEach((O,H)=>{if(O.isMuted){c.push(H);return}let P=O.channelTransposeKeyShift+O.customControllers[vE.channelTransposeFine]/100;P!==0&&A.push({channel:H,keyShift:P}),O.lockPreset&&h.push({channel:H,program:O.program,bank:O.bank,isDrum:O.drumChannel}),O.lockedControllers.forEach((U,W0)=>{if(!U||W0>127||W0===$3.bankSelect)return;let _=O.midiControllers[W0]>>7;p.push({channel:H,controllerNumber:W0,controllerValue:_})})}),LD(n,h,p,c,A)}var P8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Pa="utf-8",MD="Created using SpessaSynth";function by(n,i,A,c=0,h="Shift_JIS",p={},O=!0){if(M7("%cWriting the RMIDI File...",C1.info),U5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${h}`,C1.info,C1.value,C1.info,C1.value),U5("metadata",p),U5("Initial bank offset",i.bankOffset),O){let C2=function(){let J2=0,A0=1/0;return i.tracks.forEach((C5,p3)=>{_1[p3]>=C5.length||C5[_1[p3]].ticksA0>J2?A0:J2),K2=[];for(let J2=0;J20;){let J2=C2(),A0=i.tracks[J2];if(_1[J2]>=A0.length){f1--;continue}let C5=A0[_1[J2]];_1[J2]++;let p3=i.midiPortChannelOffsets[u2[J2]];if(C5.messageStatusByte===Z3.midiPort){u2[J2]=C5.messageData[0];continue}let w3=C5.messageStatusByte&240;if(w3!==Z3.controllerChange&&w3!==Z3.programChange&&w3!==Z3.systemExclusive)continue;if(w3===Z3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?i0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?i0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(i0="gm",a1.push({tNum:J2,e:C5}));continue}let x6=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+p3;K2[x6].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let m6=(C5.messageStatusByte&15)+p3,v3=K2[m6];if(w3===Z3.programChange){v3.drums?A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank===128)?.program||0):A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank!==128)?.program||0),v3.program=C5.messageData[0];let x6=Math.max(0,v3.lastBank?.messageData[1]-i.bankOffset),u9=v3.drums?128:x6;if(v3.lastBank===void 0)continue;if(i0==="xg"&&v3.drums&&(K2[m6].lastBank.messageData[1]=127),A.presets.findIndex(P3=>P3.bank===u9&&P3.program===C5.messageData[0])===-1){let P3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;v3.lastBank.messageData[1]=P3,U5(`%cNo preset %c${u9}:${C5.messageData[0]}%c. Changing bank to ${P3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(u9===128?i0==="xg"?127:0:x6)+c;v3.lastBank.messageData[1]=w6,U5(`%cPreset %c${u9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(v3.hasBankSelect=!0,i0==="xg"&&(v3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),v3.lastBank=C5)}if(K2.forEach((J2,A0)=>{if(J2.hasBankSelect===!0)return;let C5=A0%16,p3=Z3.programChange|C5,w3=Math.floor(A0/16)*16,m6=i.midiPortChannelOffsets.indexOf(w3),v3=i.tracks.find((w6,Me)=>i.midiPorts[Me]===m6&&i.usedChannelsOnTrack[Me].has(C5));if(v3===void 0)return;let x6=v3.findIndex(w6=>w6.messageStatusByte===p3);if(x6===-1){let w6=v3.findIndex(j7=>j7.messageStatusByte>128&&j7.messageStatusByte<240&&(j7.messageStatusByte&15)===C5);if(w6===-1)return;let Me=v3[w6].ticks,Wr=A.getPreset(0,0).program;v3.splice(w6,0,new y7(Me,Z3.programChange|C5,new j5([Wr]))),x6=w6}U5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let u9=v3[x6].ticks,P3=A.getPreset(0,J2.program)?.bank+c||c;v3.splice(x6,0,new y7(u9,Z3.controllerChange|C5,new j5([$3.bankSelect,P3])))}),i0!=="gs"&&i0!=="xg"){for(let A0 of a1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let J2=0;i.tracks[0][0].messageStatusByte===Z3.trackName&&J2++,i.tracks[0].splice(J2,0,YC(0))}}let H=new j5(ME(i).buffer),P=[T7("INFO")],U=new TextEncoder;if(P.push(k6(P8.software,U.encode("SpessaSynth"),!0)),p.name!==void 0?(P.push(k6(P8.name,U.encode(p.name),!0)),h=Pa):P.push(k6(P8.name,i.rawMidiName,!0)),p.creationDate!==void 0)h=Pa,P.push(k6(P8.creationDate,U.encode(p.creationDate),!0));else{let i0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});P.push(k6(P8.creationDate,T7(i0),!0))}if(p.comment!==void 0&&(h=Pa,P.push(k6(P8.comment,U.encode(p.comment)))),p.engineer!==void 0&&P.push(k6(P8.engineer,U.encode(p.engineer),!0)),p.album!==void 0&&(h=Pa,P.push(k6(P8.album,U.encode(p.album),!0))),p.artist!==void 0&&(h=Pa,P.push(k6(P8.artist,U.encode(p.artist),!0))),p.genre!==void 0&&(h=Pa,P.push(k6(P8.genre,U.encode(p.genre),!0))),p.picture!==void 0&&P.push(k6(P8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)h=Pa,P.push(k6(P8.copyright,U.encode(p.copyright),!0));else{let i0=i.copyright.length>0?i.copyright:MD;P.push(k6(P8.copyright,T7(i0)))}let W0=new j5(2);fi(W0,c,2),P.push(k6(P8.bankOffset,W0)),p.midiEncoding!==void 0&&(P.push(k6(P8.midiEncoding,U.encode(p.midiEncoding))),h=Pa),P.push(k6(P8.encoding,T7(h)));let _=St(P),e0=St([T7("RMID"),k6("data",H),k6("LIST",_),n]);return U5("%cFinished!",C1.info),g9(),k6("RIFF",e0)}function bp(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case Oa.songChange:let h=A[0];this.songIndex=A[1],this.midiData=h,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(H=>H[1](h)),A[2]===!0&&this.unpause();break;case Oa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case Oa.timeChange:let O=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(H=>H[1](O)),this._recalculateStartTime(O),this.paused&&this._preservePlaybackState?this.pausedTime=O:this.unpause();break;case Oa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(H=>H[1]());break;case Oa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case Oa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(A)}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage(A7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=Dy,this.hasDummyData=!0,this.duration=99999,this._sendMessage(A7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage(A7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){T9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(A7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(A7.play,i)}stop(){this._sendMessage(A7.stop)}};var Dp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function _y(n){return` +`}},GC=960,UC=Z7.concave;function Yr(n,i,A,c,h){return n<<10|i<<9|A<<8|c<<7|h}var wE=[new $e({srcEnum:Yr(UC,0,1,0,q4.noteOnVelocity),dest:m0.initialAttenuation,amt:GC,secSrcEnum:0,transform:0}),new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(UC,0,1,1,$3.mainVolume),dest:m0.initialAttenuation,amt:GC,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:526,dest:m0.fineTune,amt:12700,secSrcEnum:16,transform:0}),new $e({srcEnum:650,dest:m0.pan,amt:500,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(UC,0,1,1,$3.expressionController),dest:m0.initialAttenuation,amt:GC,secSrcEnum:0,transform:0}),new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,0,0,0,q4.polyPressure),dest:m0.vibLfoToPitch,amt:50,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,0,0,1,$3.tremoloDepth),dest:m0.modLfoToVolume,amt:24,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,1,0,1,$3.releaseTime),dest:m0.releaseVolEnv,amt:1200,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,1,0,1,$3.brightness),dest:m0.initialFilterFc,amt:6e3,secSrcEnum:0,transform:0}),new $e({srcEnum:Yr(Z7.linear,1,0,1,$3.timbreHarmonicContent),dest:m0.initialFilterQ,amt:250,secSrcEnum:0,transform:0})];var v$=128,ay=147,QD=new Int16Array(ay).fill(0),a7=(n,i)=>QD[n]=i<<7;a7($3.mainVolume,100);a7($3.balance,64);a7($3.expressionController,127);a7($3.pan,64);a7($3.timbreHarmonicContent,64);a7($3.releaseTime,64);a7($3.attackTime,64);a7($3.brightness,64);a7($3.soundController6,64);a7($3.soundController7,64);a7($3.soundController8,64);a7($3.soundController9,64);a7($3.generalPurposeController6,64);a7($3.generalPurposeController8,64);a7(v$+q4.pitchWheel,64);a7(v$+q4.pitchWheelRange,2);var vE={channelTuning:0,channelTransposeFine:1,modulationMultiplier:2,masterTuning:3,channelTuningSemitones:4},Ay=Object.keys(vE).length,yD=new Float32Array(Ay);yD[vE.modulationMultiplier]=1;var $y={velocityOverride:128};var kE=class{velocity=-1;patch={bank:-1,program:-1};constructor(i=-1,A=-1,c=-1){this.velocity=i,this.patch={bank:A,program:c}}},SE={addMapping:0,deleteMapping:1,clearMappings:2};var bE=class{constructor(i){this.synth=i,this._keyModifiers=[]}_sendToWorklet(i,A){this.synth.post({messageType:B4.keyModifierManager,messageData:[i,A]})}addModifier(i,A,c){let h=c?.velocity??-1,p=c?.patch?.program??-1,P=c?.patch?.bank??-1,X=new kE(h,P,p);this._keyModifiers[i]===void 0&&(this._keyModifiers[i]=[]),this._keyModifiers[i][A]=X,this._sendToWorklet(SE.addMapping,[i,A,X])}getModifier(i,A){return this._keyModifiers?.[i]?.[A]}deleteModifier(i,A){this._sendToWorklet(SE.deleteMapping,[i,A]),this._keyModifiers[i]?.[A]!==void 0&&(this._keyModifiers[i][A]=void 0)}clearModifiers(){this._sendToWorklet(SE.clearMappings,void 0),this._keyModifiers=[]}};var wD="spessasynth-worklet-system",PC=350,R7=9,vD=16;var uu=class{constructor(i,A,c=!0,h=void 0,p=sy){U5("%cInitializing SpessaSynth synthesizer...",C1.info),this.context=i.context,this.targetNode=i;let P=h?.oneOutput===!0;this.eventHandler=new BE,this._voiceCap=PC,this._destroyed=!1,this._outputsAmount=vD,this.channelsAmount=this._outputsAmount,this.resolveWhenReady=void 0,this.isReady=new Promise(U=>this.resolveWhenReady=U),this.channelProperties=[];for(let U=0;Uthis.handleMessage(U.data),this.soundfontManager=new yE(this),this.keyModifierManager=new bE(this),this._snapshotCallback=void 0,this.sequencerCallbackFunction=void 0,this.effectsConfig.reverbEnabled&&!P&&(this.reverbProcessor=iy(this.context,this.effectsConfig.reverbImpulseResponse),this.reverbProcessor.connect(i),this.worklet.connect(this.reverbProcessor,0)),this.effectsConfig.chorusEnabled&&!P&&(this.chorusProcessor=new yp(i,this.effectsConfig.chorusConfig),this.worklet.connect(this.chorusProcessor.input,1)),P)this.worklet.connect(i,0);else for(let U=2;U{this.channelsAmount++})}get voiceCap(){return this._voiceCap}set voiceCap(i){this._setMasterParam(wp.voicesCap,i),this._voiceCap=i}get highPerformanceMode(){return this._highPerformanceMode}set highPerformanceMode(i){this._highPerformanceMode=i}get currentTime(){return this.context.currentTime}get voicesAmount(){return this._voicesAmount}setLogLevel(i,A,c,h){this.post({channelNumber:s7,messageType:B4.setLogLevel,messageData:[i,A,c,h]})}_setMasterParam(i,A){this.post({channelNumber:s7,messageType:B4.setMasterParameter,messageData:[i,A]})}setInterpolationType(i){this._setMasterParam(wp.interpolationType,i)}handleMessage(i){let A=i.messageData;switch(i.messageType){case w$.channelProperties:this.channelProperties=A,this._voicesAmount=this.channelProperties.reduce((c,h)=>c+h.voicesAmount,0);break;case w$.eventCall:this.eventHandler.callEvent(A.eventName,A.eventData);break;case w$.sequencerSpecific:this.sequencerCallbackFunction&&this.sequencerCallbackFunction(A.messageType,A.messageData);break;case w$.synthesizerSnapshot:this._snapshotCallback&&this._snapshotCallback(A);break;case w$.ready:this.resolveWhenReady();break;case w$.soundfontError:T9(new Error(A)),this.eventHandler.callEvent("soundfonterror",A);break}}async getSynthesizerSnapshot(){return new Promise(i=>{this._snapshotCallback=A=>{this._snapshotCallback=void 0,A.effectsConfig=this.effectsConfig,i(A)},this.post({messageType:B4.requestSynthesizerSnapshot,messageData:void 0,channelNumber:s7})})}addNewChannel(i=!0){this.channelProperties.push({voicesAmount:0,pitchBend:0,pitchBendRangeSemitones:0,isMuted:!1,isDrum:!1}),i&&this.post({channelNumber:0,messageType:B4.addNewChannel,messageData:null})}setVibrato(i,A){this.post({channelNumber:i,messageType:B4.setChannelVibrato,messageData:A})}connectIndividualOutputs(i){if(i.length!==this._outputsAmount)throw new Error(`input nodes amount differs from the system's outputs amount! + Expected ${this._outputsAmount} got ${i.length}`);for(let A=0;A127||A<0)throw new Error(`Invalid controller number: ${A}`);c=Math.floor(c),A=Math.floor(A),this.post({channelNumber:i,messageType:B4.ccChange,messageData:[A,c,h]})}resetControllers(){this.post({channelNumber:s7,messageType:B4.ccReset,messageData:void 0})}channelPressure(i,A){this.post({channelNumber:i,messageType:B4.channelPressure,messageData:A})}polyPressure(i,A,c){this.post({channelNumber:i,messageType:B4.polyPressure,messageData:[A,c]})}post(i){if(this._destroyed)throw new Error("This synthesizer instance has been destroyed!");this.worklet.port.postMessage(i)}pitchWheel(i,A,c){this.post({channelNumber:i,messageType:B4.pitchWheel,messageData:[A,c]})}transpose(i){this.transposeChannel(s7,i,!1)}transposeChannel(i,A,c=!1){this.post({channelNumber:i,messageType:B4.transpose,messageData:[A,c]})}setMainVolume(i){this._setMasterParam(wp.mainVolume,i)}setMasterPan(i){this._setMasterParam(wp.masterPan,i)}setPitchBendRange(i,A){this.controllerChange(i,$3.RPNMsb,0),this.controllerChange(i,$3.dataEntryMsb,A),this.controllerChange(i,$3.RPNMsb,127),this.controllerChange(i,$3.RPNLsb,127),this.controllerChange(i,$3.dataEntryMsb,0)}programChange(i,A,c=!1){this.post({channelNumber:i,messageType:B4.programChange,messageData:[A,c]})}velocityOverride(i,A){this.post({channelNumber:i,messageType:B4.ccChange,messageData:[$y.velocityOverride,A,!0]})}lockController(i,A,c){this.post({channelNumber:i,messageType:B4.lockController,messageData:[A,c]})}muteChannel(i,A){this.post({channelNumber:i,messageType:B4.muteChannel,messageData:A})}async reloadSoundFont(i){T9("reloadSoundFont is deprecated. Please use the soundfontManager property instead."),await this.soundfontManager.reloadManager(i)}systemExclusive(i){this.post({channelNumber:s7,messageType:B4.systemExclusive,messageData:Array.from(i)})}setDrums(i,A){this.post({channelNumber:i,messageType:B4.setDrums,messageData:A})}sendMessage(i,A=0){let c=ty(i[0]);switch(c.channel+=A,c.status){case Z3.noteOn:let h=i[2];h>0?this.noteOn(c.channel,i[1],h):this.noteOff(c.channel,i[1]);break;case Z3.noteOff:this.noteOff(c.channel,i[1]);break;case Z3.pitchBend:this.pitchWheel(c.channel,i[2],i[1]);break;case Z3.controllerChange:this.controllerChange(c.channel,i[1],i[2]);break;case Z3.programChange:this.programChange(c.channel,i[1]);break;case Z3.polyPressure:this.polyPressure(c.channel,i[0],i[1]);break;case Z3.channelPressure:this.channelPressure(c.channel,i[1]);break;case Z3.systemExclusive:this.systemExclusive(new j5(i.slice(1)));break;case Z3.reset:this.stopAll(!0),this.resetControllers();break;default:break}}setReverbResponse(i){this.reverbProcessor.buffer=i,this.effectsConfig.reverbImpulseResponse=i}setChorusConfig(i){this.worklet.disconnect(this.chorusProcessor.input),this.chorusProcessor.delete(),delete this.chorusProcessor,this.chorusProcessor=new yp(this.targetNode,i),this.worklet.connect(this.chorusProcessor.input,1),this.effectsConfig.chorusConfig=i}setEffectsGain(i,A){this.post({messageType:B4.setEffectsGain,messageData:[i,A]})}destroy(){this.reverbProcessor.disconnect(),this.chorusProcessor.delete(),this.post({messageType:B4.destroyWorklet,messageData:void 0}),this.worklet.disconnect(),delete this.worklet,delete this.reverbProcessor,delete this.chorusProcessor,this._destroyed=!0}reverbateEverythingBecauseWhyNot(){for(let i=0;i{this.pressedKeys.delete(c),this.releaseNote(c,this.channel),this.synth.noteOff(this.channel,c)},i=(c,h)=>{let p;if(Ir)p=127;else{let X=this.keys[0].getBoundingClientRect();if(this.keyboard.classList.contains("sideways")){let O=h.clientX-X.left,U=X.width;p=Math.floor((U-O)/U*127)}else{let O=h.clientY-X.top,U=X.height;p=Math.floor(O/U*127)}}this.onNotePressed&&this.onNotePressed(c,p),this.synth.noteOn(this.channel,c,p,this.enableDebugging)},A=c=>{let h=c.touches?Array.from(c.touches):[c],p=new Set;h.forEach(P=>{let X=document.elementFromPoint(P.clientX,P.clientY),O=parseInt(X.id.replace("note",""));p.add(O),!(isNaN(O)||O<0||this.pressedKeys.has(O))&&(this.pressedKeys.add(O),i(O,P))}),this.pressedKeys.forEach(P=>{p.has(P)||n(P)})};Ir||(document.addEventListener("mousedown",c=>{this.mouseHeld=!0,A(c)}),document.addEventListener("mouseup",()=>{this.mouseHeld=!1,this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.onmousemove=c=>{this.mouseHeld&&A(c)},this.keyboard.onmouseleave=()=>{this.pressedKeys.forEach(c=>{n(c)})}),this.keyboard.ontouchstart=A.bind(this),this.keyboard.ontouchend=A.bind(this),this.keyboard.ontouchmove=A.bind(this)}var cy=20,kp=class{onNotePressed=void 0;constructor(i,A){this.mouseHeld=!1,this.pressedKeys=new Set,this.mode="light",this.enableDebugging=!1,this.sizeChangeAnimationId=-1,this.modeChangeAnimationId=-1,this._keyRange={min:0,max:127},document.addEventListener("keydown",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,127),this.keyboard.style.filter="brightness(0.5)")}),document.addEventListener("keyup",c=>{c.key==="Shift"&&(this.synth.controllerChange(this.channel,$3.sustainPedal,0),this.keyboard.style.filter="")}),this.synth=A,this.channel=0,this.channelColors=i,this._shown=!0,this._createKeyboard(),this.synth.eventHandler.addEvent("noteon","keyboard-note-on",c=>{this.pressNote(c.midiNote,c.channel,c.velocity)}),this.synth.eventHandler.addEvent("noteoff","keyboard-note-off",c=>{this.releaseNote(c.midiNote,c.channel)}),this.synth.eventHandler.addEvent("stopall","keyboard-stop-all",()=>{this.clearNotes()}),this.synth.eventHandler.addEvent("mutechannel","keyboard-mute-channel",c=>{if(c.isMuted)for(let h=0;h<128;h++)this.releaseNote(h,c.channel)})}get shown(){return this._shown}set shown(i){i===!0?this.keyboard.style.display="":this.keyboard.style.display="none",this._shown=i}get keyRange(){return this._keyRange}set keyRange(i){if(i.max===void 0||i.min===void 0)throw new TypeError("No min or max property!");if(i.min>i.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this.setKeyRange(i,!0)}_createKeyboard(){this.keyboard=document.getElementById("keyboard"),this.keyboard.innerHTML="",this.keys=[],this.keyColors=[];for(let i=this._keyRange.min;i=0&&(p=A(i-1)),i<127&&(P=A(i+1)),P&&p?c.classList.add("between_sharps"):p?c.classList.add("left_sharp"):P&&c.classList.add("right_sharp")}return c}toggleMode(i=!0){if(this.mode==="light"?this.mode="dark":this.mode="light",!i){this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")});return}this.modeChangeAnimationId&&clearTimeout(this.modeChangeAnimationId),this.keyboard.classList.add("mode_transform"),document.body.scrollHeight<=window.innerHeight&&document.body.classList.add("no_scroll"),this.modeChangeAnimationId=setTimeout(()=>{this.keys.forEach(c=>{c.classList.contains("flat_key")&&c.classList.toggle("flat_dark_key")}),this.keyboard.classList.remove("mode_transform"),setTimeout(()=>document.body.classList.remove("no_scroll"),500)},500)}setKeyRange(i,A=!0){Math.abs(i.max-i.min)<12&&(i.min-=6,i.max=i.min+12);let h=900/(i.max-i.min+5),p=document.styleSheets[0].cssRules,P;for(let X of p)if(X.selectorText==="#keyboard .key"){P=X;break}if(P.style.setProperty("--pressed-transform-skew",`${8e-4/(h/7)}`),A){this.sizeChangeAnimationId&&clearTimeout(this.sizeChangeAnimationId);let X=getComputedStyle(this.keyboard),O=parseFloat(X.getPropertyValue("--current-min-height").replace(/[^\d.]+/g,"")),U=this.keyboard.getBoundingClientRect().height,W0=h/O,_=U*W0-U,q=(this._keyRange.min+this._keyRange.max)/2,t0=(i.min+i.max)/2;this._keyRange=i;let n1=this.keys.find(I2=>I2.classList.contains("sharp_key")).getBoundingClientRect().width,S1=(q-t0)*n1,c1=parseFloat(X.getPropertyValue("--key-border-radius").replace(/[^\d.]+/g,""));this.keyboard.style.marginTop=`${_}px`,this.keyboard.style.transition="",this.keyboard.style.transform=`scale(${W0}) translateX(${S1}px)`,this.keyboard.style.setProperty("--key-border-radius",`${c1/W0}vmin`),this.sizeChangeAnimationId=setTimeout(()=>{this.keyboard.style.setProperty("--current-min-height",`${h}`),this.keyboard.style.transition="none",this.keyboard.style.transform="",this.keyboard.style.marginTop="",this.keyboard.style.setProperty("--key-border-radius",""),this._createKeyboard(),setTimeout(()=>this.keyboard.style.transition="",75)},500)}else this.keyboard.style.setProperty("--current-min-height",`${h}`),this._keyRange=i,this._createKeyboard()}selectChannel(i){this.channel=i}pressNote(i,A,c){let h=this.keys[i-this._keyRange.min];if(h===void 0)return;h.classList.add("pressed");let p=h.classList.contains("sharp_key"),P=c/127,X=this.channelColors[A%16].match(/\d+(\.\d+)?/g).map(parseFloat),O;if(!p&&this.mode==="light"?O=`rgba(${X.slice(0,3).map(W0=>255-(255-W0)*P).join(", ")}, ${X[3]})`:O=`rgba(${X.slice(0,3).map(W0=>W0*P).join(", ")}, ${X[3]})`,h.style.background=O,this.mode==="dark"){let U=cy*P;h.style.boxShadow=`${O} 0px 0px ${U}px ${U/5}px`}this.keyColors[i-this._keyRange.min].push(this.channelColors[A%16])}releaseNote(i,A){let c=this.keys[i-this._keyRange.min];if(c===void 0)return;A%=this.channelColors.length;let h=this.keyColors[i-this._keyRange.min];if(!h)return;let p=h.findLastIndex(P=>P===this.channelColors[A]);p!==-1&&(h.splice(p,1),c.style.background=h[h.length-1],this.mode==="dark"&&(c.style.boxShadow=`0px 0px ${cy}px ${h[h.length-1]}`),h.length<1&&(c.classList.remove("pressed"),c.style.background="",c.style.boxShadow=""))}clearNotes(){this.keys.forEach((i,A)=>{i.classList.remove("pressed"),i.style.background="",i.style.boxShadow="",this.keyColors[A]=[]})}};kp.prototype._handlePointers=ly;function k$(n,i){let A=n.replace(/[^\d,]/g,"").split(",");return`rgb(${i(parseInt(A[0]))}, ${i(parseInt(A[1]))}, ${i(parseInt(A[2]))})`}var SD="#000";function gy(n,i,A){n.forEach(c=>{if(c.pressedProgress===0)return;i.fillStyle=c.color;let h=c.pressedProgress*c.velocity;if(i.globalAlpha=.5*h,A){i.fillRect(c.xPos,c.yPos-c.height*h,c.width,c.height*(h*2+1)),i.globalAlpha=1;return}i.fillRect(c.xPos-c.width*h,c.yPos,c.width*(h*2+1),c.height),i.globalAlpha=1}),n.forEach(c=>{i.fillStyle=c.color,i.save(),i.translate(c.xPos,c.yPos),i.fillRect(0,0,c.width,c.height),i.restore(),i.strokeStyle=SD,i.lineWidth=c.stroke,i.strokeRect(c.xPos,c.yPos,c.width,c.height)})}var OC=!1;function uy(n=!0,i=!1){let A=(this.seq===void 0||this?.seq?.paused===!0)&&this.synth.voicesAmount===0&&!i;if(!this.renderBool||A)if(OC){n&&requestAnimationFrame(this.render.bind(this));return}else OC=!0;else OC=!1;if(n&&this.drawingContext.clearRect(0,0,this.canvas.width,this.canvas.height),this.renderAnalysers&&!this.synth.highPerformanceMode&&this.renderWaveforms(),this.renderNotes&&this.noteTimes){let p=this.computeNotePositions(this.synth.highPerformanceMode);this.synth.highPerformanceMode||gy(p,this.drawingContext,this.sideways)}let c=performance.now()-this.frameTimeStart;this.frameTimeStart=performance.now();let h=1e3/c;this.drawingContext.textBaseline="hanging",this.drawingContext.textAlign="end",this.drawingContext.font=`${DE}px system-ui`,this.drawingContext.fillStyle="white",this.drawingContext.strokeStyle="white",this.drawingContext.fillText(`${this.notesOnScreen} notes`,this.canvas.width,DE*2+5),this.drawingContext.fillText(this.version,this.canvas.width,5),this.drawingContext.fillText(Math.round(h).toString()+" FPS",this.canvas.width,DE+5),this.onRender&&this.onRender(),n&&requestAnimationFrame(this.render.bind(this))}function hy(n=!1){this.notesOnScreen=0;let i=this.sideways?this.canvas.height:this.canvas.width,A=this.sideways?this.canvas.width:this.canvas.height,c=this.keyRange.max-this.keyRange.min,h=i/(c+1),p=h-b$*2,P=this.noteFallingTimeMs/1e3,X=this.noteAfterTriggerTimeMs/1e3,O=this.seq.currentHighResolutionTime,U=O-X,W0=P+X,_=U+W0,q=fy/W0,t0=[];this.synth.channelProperties.forEach(S1=>{if(this.showVisualPitch){let c1=S1.pitchBend-8192+this.visualPitchBendOffset;t0.push(S1.pitchBendRangeSemitones*(c1/8192*h))}else t0.push(0)});let n1=[];return this.noteTimes.forEach((S1,c1)=>{if(S1.renderStartIndex>=S1.notes.length||!this.renderChannels[c1])return;let I2=S1.renderStartIndex,$2=S1.notes,f2=$2[I2],K2=-1;for(;f2.start<=_&&(I2++,!(this.notesOnScreen>Iy));){let J2=f2.start+f2.length;if(J2>U&&f2.length>0){let A0=f2.length/W0*A-b$*2;if(this.notesOnScreen<1e3||A0>q){K2===-1&&(K2=I2-1);let C5=(f2.start-U)/W0*A,p3;if(this._notesFall?p3=A-A0-C5+b$:p3=C5+b$,f2.midiNotethis.keyRange.max){if(I2>=$2.length)break;f2=$2[I2];continue}let w3=f2.midiNote-this.keyRange.min,m6=h*w3+b$,v3,x6,u9,P3;if(this.sideways?(v3=p3,x6=m6,P3=p,u9=A0):(x6=p3,v3=m6,u9=p,P3=A0),this.notesOnScreen++,n)this.drawingContext.fillStyle=this.plainColors[c1],this.drawingContext.fillRect(v3+S$+b$,x6+S$,u9-S$*2,P3-S$*2);else{let w6;if(f2.start>O||J2=$2.length)break;f2=$2[I2]}K2>-1&&(S1.renderStartIndex=K2)}),n1.sort((S1,c1)=>c1.height-S1.height),n1}function my(){let n=this.canvas.width/4,i=this.canvas.height/4;this.channelAnalysers.forEach((A,c)=>{let h=c%4,p=Math.floor(c/4),P=!1;for(let _=c;_0){P=!0;break}if(!P){let _=this.canvas.width/4,q=this.canvas.height/4,t0=_*h,n1=q*p+q/2;this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this.drawingContext.moveTo(t0,n1),this.drawingContext.lineTo(t0+_,n1),this.drawingContext.stroke();return}let X=new Float32Array(A.frequencyBinCount);A.getFloatTimeDomainData(X);let O=n*h,U=i*p+i/2,W0=this.waveMultiplier*i;if(this.drawingContext.lineWidth=this.lineThickness,this.drawingContext.strokeStyle=this.channelColors[c],this.drawingContext.beginPath(),this._stabilizeWaveforms){let _=X.length/4,q=n/_,t0=Math.floor(_/2),n1=X.length-t0;for(let $2=n1;$2>=1;$2--)if(X[$2-1]<0&&X[$2]>=0){n1=$2;break}let S1=O,c1=n1-t0,I2=n1+t0;for(let $2=c1;$2{this.renderChannels[i.channel]=!i.isMuted}),this.updateFftSize()}function Cy(){for(let n=0;n4096?this.delayNode.delayTime.value=h/this.synth.context.sampleRate/2:this.delayNode.delayTime.value=0)}}function By(n){n.connectIndividualOutputs(this.channelAnalysers),n.eventHandler.addEvent("drumchange","renderer-drum-change",()=>{setTimeout(this.updateFftSize.bind(this),100)})}function Qy(){for(let n of this.channelAnalysers)n.disconnect();U5("%cAnalysers disconnected!",C1.recognized)}function yy(n){this.seq=n,this.seq.addOnTimeChangeEvent(()=>this.resetIndexes(),"renderer-time-change"),this.seq.addOnSongChangeEvent(async i=>{if(this.calculateNoteTimes(await this.seq.getMIDI()),this.resetIndexes(),i.RMIDInfo?.IPIC!==void 0){let A=new Blob([i.RMIDInfo?.IPIC.buffer]),c=URL.createObjectURL(A),h=this.canvas.classList.contains("light_mode")?0:.9;this.canvas.style.background=`linear-gradient(rgba(0, 0, 0, ${h}), rgba(0, 0, 0, ${h})), center center / cover url("${c}")`}else this.canvas.style.background=""},"renderer-song-change")}function wy(){this.noteTimes&&this.noteTimes.forEach(n=>n.renderStartIndex=0)}function qC(n,i){let A=0;for(let c=8*(i-1);c>=0;c-=8)A|=n[n.currentIndex++]<>>0}function Sp(n,i){let A=new Array(i).fill(0);for(let c=i-1;c>=0;c--)A[c]=n&255,n>>=8;return A}var hu=.02;function vy(n){function i(U){return U.messageData=new j5(U.messageData.buffer),U.messageData.currentIndex=0,6e7/qC(U.messageData,3)}let A=[],h=n.tracks.flat();h.sort((U,W0)=>U.ticks-W0.ticks);for(let U=0;U<16;U++)A.push({renderStartIndex:0,notes:[]});let p=0,P=60/(120*n.timeDivision),X=0,O=0;for(;X>4,_=U.messageStatusByte&15;if(W0===8){let q=A[_].notes.findLast(t0=>t0.midiNote===U.messageData[0]&&t0.length===-1);if(q){let t0=p-q.start;q.length=t0t0.midiNote===U.messageData[0]&&t0.length===-1);if(q){let t0=p-q.start;q.length=t0=h.length)break;p+=P*(h[X].ticks-U.ticks)}O>0&&A.forEach((U,W0)=>U.notes.filter(_=>_.length===-1).forEach(_=>{let q=p-_.start;_.length=qi.max){let A=i.min;i.min=i.max,i.max=A}i.min=Math.max(0,i.min),i.max=Math.min(127,i.max),this._keyRange=i}toggleDarkMode(){this.canvas.classList.toggle("light_mode")}computeColors(){this.channelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,k$(i,c=>c*xE)),A.addColorStop(1,i),A}),this.darkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,this.canvas.width/128,0);return A.addColorStop(0,k$(i,c=>c*xE*_E)),A.addColorStop(1,k$(i,c=>c*_E)),A}),this.sidewaysChannelColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,k$(i,c=>c*xE)),A.addColorStop(1,i),A}),this.sidewaysDarkerColors=this.plainColors.map(i=>{let A=this.drawingContext.createLinearGradient(0,0,0,this.canvas.width/128);return A.addColorStop(0,k$(i,c=>c*xE*_E)),A.addColorStop(1,k$(i,c=>c*_E)),A})}};F7.prototype.render=uy;F7.prototype.computeNotePositions=hy;F7.prototype.createChannelAnalysers=Ey;F7.prototype.updateFftSize=Cy;F7.prototype.connectChannelAnalysers=By;F7.prototype.disconnectChannelAnalysers=Qy;F7.prototype.connectSequencer=yy;F7.prototype.calculateNoteTimes=vy;F7.prototype.resetIndexes=wy;F7.prototype.renderWaveforms=my;function s3(n,i){let A=0;for(let c=0;c>>0}function fi(n,i,A){for(let c=0;c>c*8&255}function j3(n,i){n[n.currentIndex++]=i&255,n[n.currentIndex++]=i>>8}function m9(n,i){fi(n,i,4)}function Ga(n,i){let A=i<<8|n;return A>32767?A-65536:A}function ky(n){return n>127?n-256:n}function Q4(n,i,A=void 0,c=!0){if(A){let h=n.slice(n.currentIndex,n.currentIndex+i);return n.currentIndex+=i,new TextDecoder(A.replace(/[^\x20-\x7E]/g,"")).decode(h.buffer)}else{let h=!1,p="";for(let P=0;P127)&&X!==10){if(c){h=!0;continue}else if(X===0){h=!0;continue}}p+=String.fromCharCode(X)}}return p}}function T7(n,i=0){let A=n.length;i>0&&(A=i);let c=new j5(A);return U8(c,n,i),c}function U8(n,i,A=0){A>0&&i.length>A&&(i=i.slice(0,A));for(let c=0;ci.length)for(let c=0;cA.header!=="LIST"?!1:(A.chunkData.currentIndex=0,Q4(A.chunkData,4)===i))}function LE(n){let i=[n&127];for(n>>=7;n>0;)i.unshift(n&127|128),n>>=7;return i}function ME(n){let i=[];for(let h of n.tracks){let p=[],P=0,X;for(let O of h){let U=O.ticks-P,W0;O.messageStatusByte<=Z3.keySignature||O.messageStatusByte===Z3.sequenceSpecific?W0=[255,O.messageStatusByte,...LE(O.messageData.length),...O.messageData]:O.messageStatusByte===Z3.systemExclusive?W0=[240,...LE(O.messageData.length),...O.messageData]:(W0=[],X!==O.messageStatusByte&&(X=O.messageStatusByte,W0.push(O.messageStatusByte)),W0.push(...O.messageData)),p.push(...LE(U)),p.push(...W0),P+=U}i.push(new Uint8Array(p))}function A(h,p){for(let P=0;P{n.tracks.forEach((n1,S1)=>{if(n.midiPorts[S1]===t0)for(let c1=n1.length-1;c1>=0;c1--)n1[c1].messageStatusByte>=128&&n1[c1].messageStatusByte<240&&(n1[c1].messageStatusByte&15)===q&&n1.splice(c1,1)})};c.forEach(q=>{let t0=q%16,n1=q-t0,S1=n.midiPortChannelOffsets.findIndex(c1=>c1===n1);p(t0,S1),U5(`%cRemoving channel %c${q}%c!`,C1.info,C1.recognized,C1.info)});let P=!1,X="gs",O=[],U=[];n.tracks.forEach((q,t0)=>{q.forEach(n1=>{let S1=n1.messageStatusByte&240;S1===Z3.controllerChange?O.push({track:t0,message:n1,channel:n1.messageStatusByte&15}):S1===Z3.programChange?U.push({track:t0,message:n1,channel:n1.messageStatusByte&15}):n1.messageStatusByte===Z3.systemExclusive&&(n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[5]===126&&n1.messageData[6]===0?(U5("%cXG system on detected",C1.info),X="xg",P=!0):n1.messageData[0]===67&&n1.messageData[2]===76&&n1.messageData[3]===8&&n1.messageData[5]===3&&U.push({track:t0,message:n1,channel:n1.messageData[4]}))})});let W0=(q,t0,n1)=>n.tracks.reduce((S1,c1,I2)=>{if(n.usedChannelsOnTrack[I2].has(q)&&n.midiPorts[I2]===t0){let $2;n1?$2=c1.findIndex(f2=>(f2.messageStatusByte&240)===Z3.noteOn):$2=c1.findIndex(f2=>f2.messageStatusByte>128&&f2.messageStatusByte<240&&(f2.messageStatusByte&15)===q&&!(f2.messageStatusByte&Z3.controllerChange===240&&(f2.messageData[0]===$3.resetAllControllers||f2.messageData[0]===$3.allNotesOff||f2.messageData[0]===$3.allSoundOff))),$2!==-1&&S1.push({index:$2,track:I2})}return S1},[]),_=(q,t0,n1)=>{let S1=O.filter(c1=>c1.channel===q&&c1.message.messageData[0]===n1&&n.midiPorts[c1.track]===t0);for(let c1=0;c1{let t0=q.channel,n1=t0%16,S1=t0-n1,c1=n.midiPortChannelOffsets.findIndex(A0=>A0===S1),I2=q.controllerValue,$2=q.controllerNumber;_(n1,c1,$2),U5(`%cNo controller %c${$2}%c on channel %c${t0}%c found. Adding it!`,C1.info,C1.unrecognized,C1.info,C1.value,C1.info);let f2=W0(n1,c1,!0);if(f2.length===0){T9("Program change but no notes... ignoring!");return}let K2=f2.reduce((A0,C5)=>n.tracks[C5.track][C5.index].ticks{let t0=q.channel%16,n1=q.channel-t0,S1=n.midiPortChannelOffsets.findIndex(w3=>w3===n1),c1=q.isDrum?0:q.bank,I2=q.program,$2=U.filter(w3=>n.midiPorts[w3.track]===S1&&w3.channel===t0);if(_(t0,S1,$3.bankSelect),_(t0,S1,$3.lsbForControl0BankSelect),(q.isDrum||c1>0)&&!P&&(n.tracks.forEach(w3=>{for(let m6=0;m60);if(f2.length===0){T9("Program change but no notes... ignoring!");return}let K2=f2.reduce((w3,m6)=>n.tracks[m6.track][m6.index].ticks{if(n.midiPorts[$2]!==n1||!n.usedChannelsOnTrack[$2].has(t0))return;let f2=Z3.noteOn|t0,K2=Z3.noteOff|t0,J2=Z3.polyPressure|t0;I2.forEach(A0=>{A0.messageStatusByte!==f2&&A0.messageStatusByte!==K2&&A0.messageStatusByte!==J2||(A0.messageData[0]=Math.max(0,Math.min(127,A0.messageData[0]+S1)))})}),c1!==0){let I2=n.tracks.find((v3,x6)=>n.usedChannelsOnTrack[x6].has(q.channel));if(I2===void 0){T9(`Channel ${q.channel} unused but transpose requested???`);continue}let $2=Z3.noteOn|q.channel%16,f2=I2.findIndex(v3=>v3.messageStatusByte===$2);if(f2===-1){T9(`No notes on channel ${q.channel} but transpose requested???`);continue}let K2=I2[f2].ticks,J2=c1*64+64,A0=Z3.controllerChange|q.channel%16,C5=new y7(K2,A0,new j5([$3.RPNMsb,0])),p3=new y7(K2,A0,new j5([$3.RPNLsb,1])),w3=new y7(K2,A0,new j5([$3.dataEntryMsb,J2])),m6=new y7(K2,A0,new j5([$3.lsbForControl6DataEntry,0]));I2.splice(f2,0,m6),I2.splice(f2,0,w3),I2.splice(f2,0,p3),I2.splice(f2,0,C5)}}g9()}function Ua(n,i){let A=[],c=[],h=[],p=[];i.channelSnapshots.forEach((P,X)=>{if(P.isMuted){c.push(X);return}let O=P.channelTransposeKeyShift+P.customControllers[vE.channelTransposeFine]/100;O!==0&&A.push({channel:X,keyShift:O}),P.lockPreset&&h.push({channel:X,program:P.program,bank:P.bank,isDrum:P.drumChannel}),P.lockedControllers.forEach((U,W0)=>{if(!U||W0>127||W0===$3.bankSelect)return;let _=P.midiControllers[W0]>>7;p.push({channel:X,controllerNumber:W0,controllerValue:_})})}),MD(n,h,p,c,A)}var P8={name:"INAM",album:"IPRD",artist:"IART",genre:"IGNR",picture:"IPIC",copyright:"ICOP",creationDate:"ICRD",comment:"ICMT",engineer:"IENG",software:"ISFT",encoding:"IENC",midiEncoding:"MENC",bankOffset:"DBNK"},Pa="utf-8",RD="Created using SpessaSynth";function Sy(n,i,A,c=0,h="Shift_JIS",p={},P=!0){if(M7("%cWriting the RMIDI File...",C1.info),U5(`%cConfiguration: Bank offset: %c${c}%c, encoding: %c${h}`,C1.info,C1.value,C1.info,C1.value),U5("metadata",p),U5("Initial bank offset",i.bankOffset),P){let I2=function(){let J2=0,A0=1/0;return i.tracks.forEach((C5,p3)=>{S1[p3]>=C5.length||C5[S1[p3]].ticksA0>J2?A0:J2),K2=[];for(let J2=0;J20;){let J2=I2(),A0=i.tracks[J2];if(S1[J2]>=A0.length){c1--;continue}let C5=A0[S1[J2]];S1[J2]++;let p3=i.midiPortChannelOffsets[$2[J2]];if(C5.messageStatusByte===Z3.midiPort){$2[J2]=C5.messageData[0];continue}let w3=C5.messageStatusByte&240;if(w3!==Z3.controllerChange&&w3!==Z3.programChange&&w3!==Z3.systemExclusive)continue;if(w3===Z3.systemExclusive){if(C5.messageData[0]!==65||C5.messageData[2]!==66||C5.messageData[3]!==18||C5.messageData[4]!==64||!(C5.messageData[5]&16)||C5.messageData[6]!==21){C5.messageData[0]===67&&C5.messageData[2]===76&&C5.messageData[5]===126&&C5.messageData[6]===0?t0="xg":C5.messageData[0]===65&&C5.messageData[2]===66&&C5.messageData[6]===127?t0="gs":C5.messageData[0]===126&&C5.messageData[2]===9&&(t0="gm",n1.push({tNum:J2,e:C5}));continue}let x6=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][C5.messageData[5]&15]+p3;K2[x6].drums=!!(C5.messageData[7]>0&&C5.messageData[5]>>4);continue}let m6=(C5.messageStatusByte&15)+p3,v3=K2[m6];if(w3===Z3.programChange){v3.drums?A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank===128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank===128)?.program||0):A.presets.findIndex(P3=>P3.program===C5.messageData[0]&&P3.bank!==128)===-1&&(C5.messageData[0]=A.presets.find(P3=>P3.bank!==128)?.program||0),v3.program=C5.messageData[0];let x6=Math.max(0,v3.lastBank?.messageData[1]-i.bankOffset),u9=v3.drums?128:x6;if(v3.lastBank===void 0)continue;if(t0==="xg"&&v3.drums&&(K2[m6].lastBank.messageData[1]=127),A.presets.findIndex(P3=>P3.bank===u9&&P3.program===C5.messageData[0])===-1){let P3=A.presets.find(w6=>w6.program===C5.messageData[0])?.bank+c||c;v3.lastBank.messageData[1]=P3,U5(`%cNo preset %c${u9}:${C5.messageData[0]}%c. Changing bank to ${P3}.`,C1.info,C1.recognized,C1.info)}else{let w6=(u9===128?t0==="xg"?127:0:x6)+c;v3.lastBank.messageData[1]=w6,U5(`%cPreset %c${u9}:${C5.messageData[0]}%c exists. Changing bank to ${w6}.`,C1.info,C1.recognized,C1.info)}continue}C5.messageData[0]===$3.bankSelect&&(v3.hasBankSelect=!0,t0==="xg"&&(v3.drums=C5.messageData[1]===120||C5.messageData[1]===126||C5.messageData[1]===127),v3.lastBank=C5)}if(K2.forEach((J2,A0)=>{if(J2.hasBankSelect===!0)return;let C5=A0%16,p3=Z3.programChange|C5,w3=Math.floor(A0/16)*16,m6=i.midiPortChannelOffsets.indexOf(w3),v3=i.tracks.find((w6,Me)=>i.midiPorts[Me]===m6&&i.usedChannelsOnTrack[Me].has(C5));if(v3===void 0)return;let x6=v3.findIndex(w6=>w6.messageStatusByte===p3);if(x6===-1){let w6=v3.findIndex(j7=>j7.messageStatusByte>128&&j7.messageStatusByte<240&&(j7.messageStatusByte&15)===C5);if(w6===-1)return;let Me=v3[w6].ticks,Wr=A.getPreset(0,0).program;v3.splice(w6,0,new y7(Me,Z3.programChange|C5,new j5([Wr]))),x6=w6}U5(`%cAdding bank select for %c${A0}`,C1.info,C1.recognized);let u9=v3[x6].ticks,P3=A.getPreset(0,J2.program)?.bank+c||c;v3.splice(x6,0,new y7(u9,Z3.controllerChange|C5,new j5([$3.bankSelect,P3])))}),t0!=="gs"&&t0!=="xg"){for(let A0 of n1)i.tracks[A0.tNum].splice(i.tracks[A0.tNum].indexOf(A0.e),1);let J2=0;i.tracks[0][0].messageStatusByte===Z3.trackName&&J2++,i.tracks[0].splice(J2,0,YC(0))}}let X=new j5(ME(i).buffer),O=[T7("INFO")],U=new TextEncoder;if(O.push(k6(P8.software,U.encode("SpessaSynth"),!0)),p.name!==void 0?(O.push(k6(P8.name,U.encode(p.name),!0)),h=Pa):O.push(k6(P8.name,i.rawMidiName,!0)),p.creationDate!==void 0)h=Pa,O.push(k6(P8.creationDate,U.encode(p.creationDate),!0));else{let t0=new Date().toLocaleString(void 0,{weekday:"long",year:"numeric",month:"long",day:"numeric",hour:"numeric",minute:"numeric"});O.push(k6(P8.creationDate,T7(t0),!0))}if(p.comment!==void 0&&(h=Pa,O.push(k6(P8.comment,U.encode(p.comment)))),p.engineer!==void 0&&O.push(k6(P8.engineer,U.encode(p.engineer),!0)),p.album!==void 0&&(h=Pa,O.push(k6(P8.album,U.encode(p.album),!0))),p.artist!==void 0&&(h=Pa,O.push(k6(P8.artist,U.encode(p.artist),!0))),p.genre!==void 0&&(h=Pa,O.push(k6(P8.genre,U.encode(p.genre),!0))),p.picture!==void 0&&O.push(k6(P8.picture,new Uint8Array(p.picture))),p.copyright!==void 0)h=Pa,O.push(k6(P8.copyright,U.encode(p.copyright),!0));else{let t0=i.copyright.length>0?i.copyright:RD;O.push(k6(P8.copyright,T7(t0)))}let W0=new j5(2);fi(W0,c,2),O.push(k6(P8.bankOffset,W0)),p.midiEncoding!==void 0&&(O.push(k6(P8.midiEncoding,U.encode(p.midiEncoding))),h=Pa),O.push(k6(P8.encoding,T7(h)));let _=St(O),q=St([T7("RMID"),k6("data",X),k6("LIST",_),n]);return U5("%cFinished!",C1.info),g9(),k6("RIFF",q)}function bp(n,i){let A=0;for(;n>0;){let c=i.tempoChanges.find(p=>p.ticks=128){this.MIDIout.send(c);return}break;case Oa.songChange:let h=A[0];this.songIndex=A[1],this.midiData=h,this.hasDummyData=!1,this.absoluteStartTime=0,this.duration=this.midiData.duration,Object.entries(this.onSongChange).forEach(X=>X[1](h)),A[2]===!0&&this.unpause();break;case Oa.textEvent:let p=A;this.onTextEvent&&this.onTextEvent(p[0],p[1]);break;case Oa.timeChange:let P=this.synth.currentTime-A;Object.entries(this.onTimeChange).forEach(X=>X[1](P)),this._recalculateStartTime(P),this.paused&&this._preservePlaybackState?this.pausedTime=P:this.unpause();break;case Oa.pause:this.pausedTime=this.currentTime,this.isFinished=A,this.isFinished&&Object.entries(this.onSongEnded).forEach(X=>X[1]());break;case Oa.midiError:if(this.onError)this.onError(A);else throw new Error("Sequencer error: "+A);return;case Oa.getMIDI:this._getMIDIResolve&&this._getMIDIResolve(A)}}_recalculateStartTime(i){this.absoluteStartTime=this.synth.currentTime-i/this._playbackRate,this.highResTimeOffset=(this.synth.currentTime-performance.now()/1e3)*this._playbackRate}async getMIDI(){return new Promise(i=>{this._getMIDIResolve=i,this._sendMessage(A7.getMIDI,void 0)})}loadNewSongList(i,A=!0){this.pause(),this.midiData=by,this.hasDummyData=!0,this.duration=99999,this._sendMessage(A7.loadNewSongList,[i,A]),this.songIndex=0,this.songsAmount=i.length,this.songsAmount>1&&(this.loop=!1),A===!1&&(this.pausedTime=this.currentTime)}connectMidiOutput(i){this.resetMIDIOut(),this.MIDIout=i,this._sendMessage(A7.changeMIDIMessageSending,i!==void 0),this.currentTime-=.1}pause(){if(this.paused){T9("Already paused");return}this.pausedTime=this.currentTime,this._sendMessage(A7.pause)}unpause(){this.pausedTime=void 0,this.isFinished=!1}play(i=!1){this.isFinished&&(i=!0),this._recalculateStartTime(this.pausedTime||0),this.unpause(),this._sendMessage(A7.play,i)}stop(){this._sendMessage(A7.stop)}};var Dp=["Shift_JIS","windows-1250","utf-8","utf-16","utf-16le","utf-16be","latin1","ISO-8859-1","ISO-8859-2","ISO-8859-3","ISO-8859-4","ISO-8859-5","ISO-8859-6","ISO-8859-7","ISO-8859-8","ISO-8859-9","ISO-8859-10","ISO-8859-11","ISO-8859-13","ISO-8859-14","ISO-8859-15","ISO-8859-16","windows-1251","windows-1252","windows-1253","windows-1254","windows-1255","windows-1256","windows-1257","windows-1258","EUC-JP","ISO-2022-JP","EUC-KR","Big5","GB18030"];function Dy(n){return` `}function D$(n){return` - `}function xy(n){return` + `}function _y(n){return` -`}function Ly(n){return` +`}function xy(n){return` -`}function My(n){return` +`}function Ly(n){return` -`}function Ry(n){return` +`}function My(n){return` `}function _p(n){return` @@ -37,10 +37,10 @@ var CE=(n=>typeof require<"u"?require:typeof Proxy<"u"?new Proxy(n,{get:(i,A)=>( `}function du(n){return` -`}function Fy(n){return` +`}function Ry(n){return` -`}function Ty(n){return` +`}function Fy(n){return` `}function FE(n){return` ( -`}function Ny(n){return` +`}function Ty(n){return` -`}function Gy(n){return` +`}function Ny(n){return` -`}function Uy(n){return` +`}function Gy(n){return` `}function xp(n){return` `}function VC(n){return` -`}function fu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var oi={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Py(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Oy(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=NC(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,h)=>c+h.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var FD=parseFloat(getComputedStyle(document.body).fontSize);function qy(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Dp.forEach(W0=>{let _=document.createElement("option");_.innerText=W0,_.value=W0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let h=document.createElement("p");h.classList.add("lyrics_text"),n.appendChild(h);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),h.appendChild(p);let O=document.createElement("span");O.classList.add("lyrics_text_gray"),h.appendChild(O);let H=document.createElement("details"),P=document.createElement("summary");this.locale.bindObjectProperty(P,"textContent","locale.sequencerController.lyrics.otherText.title"),H.appendChild(P);let U=document.createElement("div");U.innerText="",H.appendChild(U),n.appendChild(H),this.lyricsElement.text={highlight:p,gray:O,main:h,other:U},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function Hy(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-FD*5)}function Yy(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(Z3).find(A=>Z3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Vr=32,Vy="#ccc",Jy="#555",TD="#333",ND="#ddd",GD="Shift_JIS",Po=class{constructor(i,A,c){this.iconColor=Vy,this.iconDisabledColor=Jy,this.controls=i,this.encoding=GD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=TD,this.iconDisabledColor=ND):(this.mode="dark",this.iconColor=Vy,this.iconDisabledColor=Jy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=D$(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=_y(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Dp[c]),this.encodingSelector.value=Dp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let h=this.decodeTextFix(A.buffer);switch(c){default:return;case Z3.text:case Z3.copyright:case Z3.cuePoint:case Z3.trackName:case Z3.instrumentName:case Z3.programName:case Z3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case Z3.lyric:this.text+=h,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[P8.encoding]!==void 0,A.isEmbedded){let c=(H,P,U,W0="")=>this.seq.midiData.RMIDInfo?.[H]===void 0?P:W0+U.decode(this.seq.midiData.RMIDInfo?.[H]).replace(/\0$/,""),h=new TextDecoder,p=c(P8.midiEncoding,this.encoding,h),O=c(P8.encoding,"utf-8",h);this.infoDecoder=new TextDecoder(O),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let e0=i.getBoundingClientRect(),i0=_.clientX-e0.left,a1=e0.width;this.seq.currentTime=i0/a1*this.seq.duration,c.innerHTML=D$(Vr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=fu("Play/Pause",D$(Vr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let h=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=h;let p=fu("Previous song",Ry(Vr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let O=fu("Next song",My(Vr));this.locale.bindObjectProperty(O,"title","locale.sequencerController.nextSong"),O.onclick=()=>this.switchToNextSong();let H=fu("Loop this",xy(Vr));this.locale.bindObjectProperty(H,"title","locale.sequencerController.loopThis");let P=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),H.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};H.onclick=P,this.loopButton=H;let U=fu("Show lyrics",Ly(Vr));this.locale.bindObjectProperty(U,"title","locale.sequencerController.lyrics.show"),U.firstElementChild.setAttribute("fill",this.iconDisabledColor);let W0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),U.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};U.onclick=W0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.playPause:_.preventDefault(),h();break;case oi.toggleLoop:_.preventDefault(),P();break;case oi.toggleLyrics:_.preventDefault(),W0();break;default:break}}),A.appendChild(p),A.appendChild(H),A.appendChild(c),A.appendChild(U),A.appendChild(O),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=D$(Vr);break;case oi.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=D$(Vr);break;case oi.previousSong:this.switchToPreviousSong();break;case oi.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let e0=parseInt(_.key);0<=e0&&e0<=9&&(this.seq.currentTime=this.seq.duration*(e0/10),c.innerHTML=D$(Vr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=y$(this.seq.currentTime),A=y$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Po.prototype.createNavigatorHandler=Py;Po.prototype.updateTitleAndMediaStatus=Oy;Po.prototype.createLyrics=qy;Po.prototype.setLyricsText=Hy;Po.prototype.updateOtherTextEvents=Yy;function zy(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function Ky(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function Wy(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var mr=class{constructor(i="none",A,c,h,p=0,O=100,H=!1,P=void 0,U=void 0,W0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=O,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=U,this.unlockCallback=W0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",h),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,H){if(P===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let e0=_.currentTarget.getBoundingClientRect(),i0=e0.left,a1=e0.width,_1=_.clientX-i0,f1=Math.max(0,Math.min(1,_1/a1));P(f1*(O-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,Ir&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Zy=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var NE=class{constructor(i,A,c,h,p=void 0,O=void 0){this.elements=i.map(H=>({name:H.name,program:H.program,bank:H.bank,stringified:`${H.bank.toString().padStart(3,"0")}:${H.program.toString().padStart(3,"0")} ${H.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",h),this.locale=A,this.localePath=c,this.localeArgs=h,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=O,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let h=document.createElement("input");h.type="text",this.locale.bindObjectProperty(h,"placeholder",this.localePath+".searchPrompt"),c.appendChild(h),h.onkeydown=U=>U.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?xp(si):VC(si),this.locale.bindObjectProperty(p,"title",Xe+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=xp(si):p.innerHTML=VC(si)},c.appendChild(p),this.presetLock=p;let O=document.createElement("div");O.classList.add("voice_selector_table_wrapper"),i.appendChild(O);let P=this.generateTable(O,this.elements).querySelector(".voice_selector_selected");h.oninput=U=>{U.stopPropagation();let W0=h.value,_=this.elements.filter(_1=>_1.stringified.search(new RegExp(W0,"i"))>=0);if(_.length===this.elements.length)return;O.replaceChildren();let e0=this.generateTable(O,_),i0=e0.querySelector(".voice_selector_selected");if(i0){P=i0;return}let a1=e0.querySelector(".voice_selector_option");a1.classList.add("voice_selector_selected"),P=a1},h.addEventListener("keydown",U=>{switch(U.key){case"Enter":let W0=P.getAttribute("bank"),_=P.getAttribute("program"),e0=`${W0}:${_}`;if(this.value===e0){this.hideSelectionMenu();return}this.editCallback(e0),this.locked=!0,this.presetLock.innerHTML=xp(si),this.hideSelectionMenu();break;case"ArrowDown":let i0=P.nextElementSibling;for(;i0;){if(i0.classList.contains("voice_selector_option")){P.classList.remove("voice_selector_selected"),i0.classList.add("voice_selector_selected"),P=i0;return}i0=i0.nextElementSibling}break;case"ArrowUp":let a1=P.previousElementSibling;for(;a1;){if(a1.classList.contains("voice_selector_option")){P.classList.remove("voice_selector_selected"),a1.classList.add("voice_selector_selected"),P=a1;return}a1=a1.previousElementSibling}break}}),i.onclick=U=>{U.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=U=>{U.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,Ir||h.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),O=-20;for(let H of A){let P=document.createElement("tr"),U=H.program;if(P.classList.add("voice_selector_option"),P.setAttribute("program",U.toString()),P.setAttribute("bank",H.bank.toString()),U===p&&H.bank===h&&(P.classList.add("voice_selector_selected"),setTimeout(()=>{P.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),P.onclick=()=>{let _1=`${H.bank}:${U}`;if(this.value===_1){this.hideSelectionMenu();return}this.editCallback(_1),this.locked=!0,this.presetLock.innerHTML=xp(si),this.hideSelectionMenu()},U!==O&&(O=U,H.bank!==128)){let _1=document.createElement("tr"),f1=document.createElement("th");f1.colSpan="3",f1.textContent=Zy[O],_1.appendChild(f1),c.appendChild(_1)}let W0=`${H.program.toString().padStart(3,"0")}`,_=`${H.bank.toString().padStart(3,"0")}`,e0=document.createElement("td");e0.classList.add("voice_selector_preset_name"),e0.textContent=H.name;let i0=document.createElement("td");e0.classList.add("voice_selector_preset_program"),i0.textContent=W0;let a1=document.createElement("td");e0.classList.add("voice_selector_preset_program"),a1.textContent=_,P.appendChild(a1),P.appendChild(i0),P.appendChild(e0),c.appendChild(P)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,h=parseInt(this.value.split(":")[1]),p=h;this.elements.find(O=>O.program===h)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let O of c.rows){if(O.cells.length===1)continue;let H=parseInt(O.cells[0].textContent),P=parseInt(O.cells[1].textContent);H===h&&P===p&&(O.classList.add("voice_selector_selected"),O.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),h=parseInt(A[1]),p=this.elements.find(O=>O.bank===c&&O.program===h);return p?c===128||this.elements.filter(O=>O.program===h&&O.bank!==128).length<2?`${h}. ${p.name}`:`${c}:${h} ${p.name}`:""}};var si=32;function jy(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,u2=>{let I2=c.isLocked;I2&&this.synth.lockController(n,v$+q4.pitchWheel,!1),u2=Math.round(u2)+8192;let K2=u2>>7,J2=u2&127;this.synth.pitchWheel(n,K2,J2),I2&&this.synth.lockController(n,v$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,v$+q4.pitchWheel,!0),()=>this.synth.lockController(n,v$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let h=(u2,I2,K2)=>{K2.isLocked?(this.synth.lockController(n,u2,!1),this.synth.controllerChange(n,u2,I2),this.synth.lockController(n,u2,!0)):this.synth.controllerChange(n,u2,I2)},p=(u2,I2,K2)=>{let J2=new mr(this.channelColors[n%this.channelColors.length],Xe+I2,this.locale,[n+1],0,127,!0,A0=>h(u2,Math.round(A0),J2),()=>this.synth.lockController(n,u2,!0),()=>this.synth.lockController(n,u2,!1));return J2.update(K2),J2},O=p($3.pan,"channelController.panMeter",64);i.appendChild(O.div);let H=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(H.div);let P=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(P.div);let U=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(U.div);let W0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(W0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let e0=p($3.brightness,"channelController.filterMeter",64);i.appendChild(e0.div);let i0=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,u2=>{u2=Math.round(u2),this.synth.transposeChannel(n,u2,!0),i0.update(u2)});i0.update(0),i.appendChild(i0.div);let a1=new NE([],this.locale,Xe+"channelController.presetSelector",[n+1],async u2=>{let I2=u2.split(":");this.synth.lockController(n,s7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(I2[0]),!0),this.synth.programChange(n,parseInt(I2[1]),!0),a1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,s7,!0)},u2=>this.synth.lockController(n,s7,u2));i.appendChild(a1.mainButton);let _1=document.createElement("div");_1.innerHTML=du(si),this.locale.bindObjectProperty(_1,"title",Xe+"channelController.soloButton.description",[n+1]),_1.classList.add("controller_element"),_1.classList.add("mute_button"),_1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let u2=0;u2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let u2=0;u2{if(f1.hasAttribute("is_muted")){f1.removeAttribute("is_muted");let u2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!u2),f1.innerHTML=_p(si)}else this.synth.muteChannel(n,!0),f1.setAttribute("is_muted","true"),f1.innerHTML=Ty(si)},i.appendChild(f1);let C2=document.createElement("div");return C2.innerHTML=n===R7?FE(si):TE(si),this.locale.bindObjectProperty(C2,"title",Xe+"channelController.drumToggleButton.description",[n+1]),C2.classList.add("controller_element"),C2.classList.add("mute_button"),C2.onclick=()=>{a1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,s7,!1),a1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(C2),{controller:i,voiceMeter:A,pitchWheel:c,pan:O,expression:H,volume:P,mod:U,chorus:W0,reverb:_,brightness:e0,preset:a1,drumsToggle:C2,soloButton:_1,muteButton:f1,transpose:i0}}function Xy(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function JC(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),h=n.getAttribute("max"),p=n.getAttribute("value"),O=n.getAttribute("units"),H=n.getAttribute("input_id"),P=document.createElement("input");P.classList.add("settings_slider"),P.type="range",P.id=H,P.min=c,P.max=h,P.value=p;let U;i&&(U=document.createElement("span"),U.textContent=p+O);let W0=document.createElement("div");W0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),W0.appendChild(_);let e0=document.createElement("div");return e0.classList.add("settings_slider_thumb"),W0.appendChild(e0),W0.appendChild(P),P.addEventListener("input",()=>{let i0=parseInt(W0.style.getPropertyValue("--visual-width").replace("%","")),a1=Math.round((P.value-P.min)/(P.max-P.min)*100);Math.abs((i0-a1)/100)>.05?W0.classList.add("settings_slider_transition"):W0.classList.remove("settings_slider_transition"),W0.style.setProperty("--visual-width",`${a1}%`)}),W0.style.setProperty("--visual-width",`${(P.value-P.min)/(P.max-P.min)*100}%`),A.appendChild(W0),i&&A.appendChild(U),A}function Oo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function tw(n,i){switch(n.type){case"button":let A=document.createElement("button");return Oo(A,n,i),qa(n,[A]),A;case"text":let c=document.createElement("p");return Oo(c,n,i),qa(n,[c]),c;case"input":let h=document.createElement("div");h.classList.add("notification_input_wrapper");let p=document.createElement("input");Oo(p,n,i),p.addEventListener("keydown",K2=>K2.stopPropagation());let O=document.createElement("label");return Oo(O,n,i),qa(n,[p,O]),h.append(O),h.appendChild(p),h;case"select":let H=document.createElement("div");H.classList.add("notification_input_wrapper");let P=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let K2 of Object.entries(n.selectOptions)){let J2=document.createElement("option");J2.value=K2[0],J2.textContent=K2[1],P.appendChild(J2)}let U=document.createElement("label");return Oo(U,n,i),qa(n,[P,U]),H.appendChild(U),H.appendChild(P),H;case"file":let W0=document.createElement("label");W0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let e0=document.createElement("label");e0.classList.add("notification_file_button"),Oo(e0,n,i);let i0=document.createElement("label");return Oo(i0,n,i),qa(n,[e0,_,i0]),e0.appendChild(_),W0.append(i0),W0.appendChild(e0),W0;case"progress":let a1=document.createElement("div");a1.classList.add("notification_progress_background");let _1=document.createElement("div");return _1.classList.add("notification_progress"),qa(n,[_1,a1]),a1.appendChild(_1),a1;case"toggle":return UD(n,i);case"range":let f1=document.createElement("input");f1.type="range";let C2=document.createElement("label");qa(n,[f1,C2]),Oo(C2,n,i);let u2=JC(f1,!1),I2=document.createElement("div");return I2.classList.add("notification_slider_wrapper"),I2.appendChild(C2),I2.appendChild(u2),I2}}function qa(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let h of i)A.startsWith("onchange")?h[A]=c:h.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let h of i)h.addEventListener(A,c)}function UD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");Oo(c,n,i);let h=document.createElement("input");h.type="checkbox",qa(n,[c,h]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(h);let O=document.createElement("div");return O.classList.add("notification_switch_slider"),p.appendChild(O),A.appendChild(c),A.appendChild(p),A}var PD=13,OD=0,Lp={};function w4(n,i,A=PD,c=!0,h=void 0,p=void 0,O=void 0){let H=document.createElement("div"),P=OD++;H.classList.add("notification"),H.innerHTML=` +`}function fu(n,i){let A=document.createElement("div");return A.classList.add("control_buttons"),A.title=n,A.innerHTML=i,A}var oi={synthesizerUIShow:"s",settingsShow:"r",blackMidiMode:"b",midiPanic:"backspace",playPause:" ",toggleLoop:"l",toggleLyrics:"t",seekBackwards:"arrowleft",seekForwards:"arrowright",previousSong:"[",nextSong:"]",cinematicMode:"c",videoMode:"v"};function Uy(){navigator.mediaSession&&(navigator.mediaSession.metadata=new MediaMetadata({title:this.currentSongTitle,artist:"SpessaSynth"}),navigator.mediaSession.setActionHandler("play",()=>{this.seqPlay()}),navigator.mediaSession.setActionHandler("pause",()=>{this.seqPause()}),navigator.mediaSession.setActionHandler("stop",()=>{this.seq.currentTime=0,this.seqPause()}),navigator.mediaSession.setActionHandler("seekbackward",n=>{this.seq.currentTime-=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekforward",n=>{this.seq.currentTime+=n.seekOffset||10}),navigator.mediaSession.setActionHandler("seekto",n=>{this.seq.currentTime=n.seekTime}),navigator.mediaSession.setActionHandler("previoustrack",()=>{this.switchToPreviousSong()}),navigator.mediaSession.setActionHandler("nexttrack",()=>{this.switchToNextSong()}),navigator.mediaSession.playbackState="playing")}function Py(n=!0){if(this.seq?.hasDummyData===!0)this.currentSongTitle=this.locale.getLocaleString("locale.synthInit.genericLoading");else{let i=this.infoDecoder.decode(this.seq.midiData.rawMidiName.buffer).replace(/\0$/,"");this.currentSongTitle=NC(i)}if(this.seq.midiData){let i=this.seq.midiData.lyrics;this.currentLyrics=new Uint8Array(i.reduce((c,h)=>c+h.length,0));let A=0;for(let c of i)this.currentLyrics.set(c,A),A+=c.length;this.currentLyricsString=this.decodeTextFix(this.currentLyrics.buffer)||this.locale.getLocaleString("locale.sequencerController.lyrics.noLyrics"),this.setLyricsText(""),n&&(this.rawOtherTextEvents=[])}if(document.getElementById("title").innerText=this.currentSongTitle,document.title=this.currentSongTitle+" - SpessaSynth",this.musicModeUI.setTitle(this.currentSongTitle),!!navigator.mediaSession)try{navigator.mediaSession.setPositionState({duration:this.seq.duration,playbackRate:this.seq.playbackRate,position:this.seq.currentTime})}catch{}}var TD=parseFloat(getComputedStyle(document.body).fontSize);function Oy(){this.lyricsElement={};let n=document.createElement("div");n.classList.add("lyrics");let i=document.createElement("div");i.classList.add("lyrics_title_wrapper"),n.append(i),this.lyricsElement.titleWrapper=i;let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent","locale.sequencerController.lyrics.title"),A.classList.add("lyrics_title"),i.appendChild(A),this.lyricsElement.title=A;let c=document.createElement("select");Dp.forEach(W0=>{let _=document.createElement("option");_.innerText=W0,_.value=W0,c.appendChild(_)}),c.value=this.encoding,c.onchange=()=>this.changeEncoding(c.value),c.classList.add("lyrics_selector"),this.encodingSelector=c,i.appendChild(c);let h=document.createElement("p");h.classList.add("lyrics_text"),n.appendChild(h);let p=document.createElement("span");p.classList.add("lyrics_text_highlight"),h.appendChild(p);let P=document.createElement("span");P.classList.add("lyrics_text_gray"),h.appendChild(P);let X=document.createElement("details"),O=document.createElement("summary");this.locale.bindObjectProperty(O,"textContent","locale.sequencerController.lyrics.otherText.title"),X.appendChild(O);let U=document.createElement("div");U.innerText="",X.appendChild(U),n.appendChild(X),this.lyricsElement.text={highlight:p,gray:P,main:h,other:U},this.lyricsElement.mainDiv=n,this.lyricsElement.selector=c,this.controls.appendChild(n),this.requiresTextUpdate=!0}function qy(n){let i=this.lyricsElement.text.highlight,A=this.lyricsElement.text.gray;A.innerText=this.currentLyricsString.replace(n,""),i.innerText=n,this.lyricsElement.text.main.scrollTo(0,i.offsetHeight-TD*5)}function Hy(){let n="";for(let i of this.rawOtherTextEvents)n+=`
${Object.keys(Z3).find(A=>Z3[A]===i.type).replace(/([a-z])([A-Z])/g,"$1 $2")}:
${this.decodeTextFix(i.data.buffer)}

`;this.lyricsElement.text.other.innerHTML=n}var Vr=32,Yy="#ccc",Vy="#555",ND="#333",GD="#ddd",UD="Shift_JIS",Po=class{constructor(i,A,c){this.iconColor=Yy,this.iconDisabledColor=Vy,this.controls=i,this.encoding=UD,this.decoder=new TextDecoder(this.encoding),this.infoDecoder=new TextDecoder(this.encoding),this.hasInfoDecoding=!1,this.text="",this.requiresTextUpdate=!1,this.rawLyrics=[],this.rawOtherTextEvents=[],this.mode="dark",this.locale=A,this.currentSongTitle="",this.currentLyrics=new Uint8Array(0),this.currentLyricsString="",this.musicModeUI=c}toggleDarkMode(){if(this.mode==="dark"?(this.mode="light",this.iconColor=ND,this.iconDisabledColor=GD):(this.mode="dark",this.iconColor=Yy,this.iconDisabledColor=Vy),!this.seq){this.requiresThemeUpdate=!0;return}this.progressBar.classList.toggle("note_progress_light"),this.progressBarBackground.classList.toggle("note_progress_background_light"),this.lyricsElement.mainDiv.classList.toggle("lyrics_light"),this.lyricsElement.titleWrapper.classList.toggle("lyrics_light"),this.lyricsElement.selector.classList.toggle("lyrics_light")}seqPlay(i=!0){i&&this.seq.play(),this.playPause.innerHTML=D$(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="playing")}seqPause(i=!0){i&&this.seq.pause(),this.playPause.innerHTML=Dy(Vr),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),navigator.mediaSession&&(navigator.mediaSession.playbackState="paused")}switchToNextSong(){this.seq.nextSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}switchToPreviousSong(){this.seq.previousSong(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus()}decodeTextFix(i,A=!1){let c=0;for(;;)try{return this.decoder.decode(i)}catch{c++,this.changeEncoding(Dp[c]),this.encodingSelector.value=Dp[c]}}connectSequencer(i){this.seq=i,this.createControls(),this.setSliderInterval(),this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seq.onTextEvent=(A,c)=>{let h=this.decodeTextFix(A.buffer);switch(c){default:return;case Z3.text:case Z3.copyright:case Z3.cuePoint:case Z3.trackName:case Z3.instrumentName:case Z3.programName:case Z3.marker:this.rawOtherTextEvents.push({type:c,data:A}),this.requiresTextUpdate=!0;return;case Z3.lyric:this.text+=h,this.rawLyrics.push(...A),this.setLyricsText(this.text);break}},this.seq.addOnTimeChangeEvent(()=>{this.text="",this.rawLyrics=[],this.seqPlay(!1)},"sequi-time-change"),this.seq.addOnSongChangeEvent(A=>{if(this.createNavigatorHandler(),this.updateTitleAndMediaStatus(),this.seqPlay(!1),this.seq.songsAmount>1&&(this.seq.loop=!1,this.loopButton.firstElementChild.setAttribute("fill",this.iconDisabledColor)),this.hasInfoDecoding=this.seq.midiData.RMIDInfo?.[P8.encoding]!==void 0,A.isEmbedded){let c=(X,O,U,W0="")=>this.seq.midiData.RMIDInfo?.[X]===void 0?O:W0+U.decode(this.seq.midiData.RMIDInfo?.[X]).replace(/\0$/,""),h=new TextDecoder,p=c(P8.midiEncoding,this.encoding,h),P=c(P8.encoding,"utf-8",h);this.infoDecoder=new TextDecoder(P),this.changeEncoding(p)}},"sequi-song-change"),this.requiresThemeUpdate&&this.mode==="light"&&(this.mode="dark",this.toggleDarkMode())}changeEncoding(i){this.encoding=i,this.decoder=new TextDecoder(i),this.hasInfoDecoding||(this.infoDecoder=new TextDecoder(i)),this.updateOtherTextEvents(),this.text=this.decodeTextFix(new Uint8Array(this.rawLyrics).buffer),this.lyricsElement.selector.value=i,this.updateTitleAndMediaStatus(!1),this.setLyricsText(this.text)}createControls(){this.progressTime=document.createElement("p"),this.progressTime.id="note_time",this.progressTime.onclick=_=>{_.preventDefault();let q=i.getBoundingClientRect(),t0=_.clientX-q.left,n1=q.width;this.seq.currentTime=t0/n1*this.seq.duration,c.innerHTML=D$(Vr)},this.createLyrics();let i=document.createElement("div");i.id="note_progress_background",this.progressBarBackground=i,this.progressBar=document.createElement("div"),this.progressBar.id="note_progress",this.progressBar.min="0",this.progressBar.max=this.seq.duration.toString();let A=document.createElement("div"),c=fu("Play/Pause",D$(Vr));this.playPause=c,this.locale.bindObjectProperty(c,"title","locale.sequencerController.playPause");let h=()=>{this.seq.paused?this.seqPlay():this.seqPause()};c.onclick=h;let p=fu("Previous song",My(Vr));this.locale.bindObjectProperty(p,"title","locale.sequencerController.previousSong"),p.onclick=()=>this.switchToPreviousSong();let P=fu("Next song",Ly(Vr));this.locale.bindObjectProperty(P,"title","locale.sequencerController.nextSong"),P.onclick=()=>this.switchToNextSong();let X=fu("Loop this",_y(Vr));this.locale.bindObjectProperty(X,"title","locale.sequencerController.loopThis");let O=()=>{this.seq.loop?this.seq.loop=!1:(this.seq.loop=!0,this.seq.currentTime>=this.seq.duration&&(this.seq.currentTime=0)),X.firstElementChild.setAttribute("fill",this.seq.loop?this.iconColor:this.iconDisabledColor)};X.onclick=O,this.loopButton=X;let U=fu("Show lyrics",xy(Vr));this.locale.bindObjectProperty(U,"title","locale.sequencerController.lyrics.show"),U.firstElementChild.setAttribute("fill",this.iconDisabledColor);let W0=()=>{this.lyricsElement.mainDiv.classList.toggle("lyrics_show"),U.firstElementChild.setAttribute("fill",this.lyricsElement.mainDiv.classList.contains("lyrics_show")?this.iconColor:this.iconDisabledColor)};U.onclick=W0,document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.playPause:_.preventDefault(),h();break;case oi.toggleLoop:_.preventDefault(),O();break;case oi.toggleLyrics:_.preventDefault(),W0();break;default:break}}),A.appendChild(p),A.appendChild(X),A.appendChild(c),A.appendChild(U),A.appendChild(P),this.controls.appendChild(i),i.appendChild(this.progressBar),this.controls.appendChild(this.progressTime),this.controls.appendChild(A),document.addEventListener("keydown",_=>{switch(_.key.toLowerCase()){case oi.seekBackwards:_.preventDefault(),this.seq.currentTime-=5,c.innerHTML=D$(Vr);break;case oi.seekForwards:_.preventDefault(),this.seq.currentTime+=5,c.innerHTML=D$(Vr);break;case oi.previousSong:this.switchToPreviousSong();break;case oi.nextSong:this.switchToNextSong();break;default:if(!isNaN(parseFloat(_.key))){_.preventDefault();let q=parseInt(_.key);0<=q&&q<=9&&(this.seq.currentTime=this.seq.duration*(q/10),c.innerHTML=D$(Vr))}break}})}_updateInterval(){this.progressBar.style.width=`${this.seq.currentTime/this.seq.duration*100}%`;let i=y$(this.seq.currentTime),A=y$(this.seq.duration);this.progressTime.innerText=`${i.time} / ${A.time}`,this.requiresTextUpdate&&(this.updateOtherTextEvents(),this.requiresTextUpdate=!1)}setSliderInterval(){setInterval(this._updateInterval.bind(this),100)}};Po.prototype.createNavigatorHandler=Uy;Po.prototype.updateTitleAndMediaStatus=Py;Po.prototype.createLyrics=Oy;Po.prototype.setLyricsText=qy;Po.prototype.updateOtherTextEvents=Hy;function Jy(){this.controllers.forEach(n=>{n.voiceMeter.hide(),n.pitchWheel.hide(),n.pan.hide(),n.expression.hide(),n.volume.hide(),n.mod.hide(),n.chorus.hide(),n.reverb.hide(),n.brightness.hide()})}function zy(){this.controllers.forEach(n=>{n.voiceMeter.show(),n.pitchWheel.show(),n.pan.show(),n.expression.show(),n.volume.show(),n.mod.show(),n.chorus.show(),n.reverb.show(),n.brightness.show()})}function Ky(){this.mainControllerDiv.classList.toggle("synthui_controller_light"),this.mainButtons.forEach(n=>{n.classList.toggle("synthui_button"),n.classList.toggle("synthui_button_light")}),this.mainMeters.forEach(n=>{n.toggleMode(!0)}),this.controllers.forEach(n=>{n.voiceMeter.toggleMode(),n.pitchWheel.toggleMode(),n.pan.toggleMode(),n.expression.toggleMode(),n.volume.toggleMode(),n.mod.toggleMode(),n.chorus.toggleMode(),n.reverb.toggleMode(),n.brightness.toggleMode(),n.preset.toggleMode(),n.drumsToggle.classList.toggle("mute_button_light"),n.muteButton.classList.toggle("mute_button_light")})}var mr=class{constructor(i="none",A,c,h,p=0,P=100,X=!1,O=void 0,U=void 0,W0=void 0){if(this.meterText="",c.bindObjectProperty(this,"meterText",A+".title"),this.min=p,this.max=P,this.currentValue=-1,this.isShown=!0,this.isVisualValueSet=!0,this.isLocked=!1,this.lockCallback=U,this.unlockCallback=W0,this.div=document.createElement("div"),this.div.classList.add("voice_meter"),this.div.classList.add("controller_element"),i!=="none"&&i!==""&&(this.div.style.borderColor=i),c.bindObjectProperty(this.div,"title",A+".description",h),this.bar=document.createElement("div"),this.bar.classList.add("voice_meter_bar"),this.bar.style.background=i,this.div.appendChild(this.bar),this.text=document.createElement("p"),this.text.classList.add("voice_meter_text"),this.div.appendChild(this.text),this.isActive=!1,X){if(O===void 0)throw new Error("No editable function given!");this.div.onmousedown=_=>{_.preventDefault(),_.button===0?this.isActive=!0:this.lockMeter()},this.div.onmousemove=_=>{if(!this.isActive)return;let q=_.currentTarget.getBoundingClientRect(),t0=q.left,n1=q.width,S1=_.clientX-t0,c1=Math.max(0,Math.min(1,S1/n1));O(c1*(P-p)+p)},this.div.onmouseup=()=>this.isActive=!1,this.div.onmouseleave=_=>{this.div.onmousemove(_),this.isActive=!1},this.text.oncontextmenu=_=>{_.preventDefault()},this.div.onclick=_=>{_.preventDefault(),this.isActive=!0,this.div.onmousemove(_),this.isActive=!1,Ir&&this.lockMeter()},this.div.classList.add("editable")}}lockMeter(){this.lockCallback!==void 0&&(this.isLocked?(this.text.classList.remove("locked_meter"),this.unlockCallback()):(this.text.classList.add("locked_meter"),this.lockCallback()),this.isLocked=!this.isLocked)}toggleMode(i=!1){i&&(this.bar.classList.toggle("voice_meter_light_color"),this.div.classList.toggle("voice_meter_light_color")),this.text.classList.toggle("voice_meter_text_light")}show(){if(this.isShown=!0,!this.isVisualValueSet){let i=Math.max(0,Math.min((this.currentValue-this.min)/(this.max-this.min),1));this.bar.style.width=`${i*100}%`,this.text.textContent=this.meterText+(Math.round(this.currentValue*100)/100).toString(),this.isVisualValueSet=!0}}hide(){this.isShown=!1}update(i,A=!1){if(!(i===this.currentValue&&A===!1))if(this.currentValue=i,this.isShown){let c=Math.max(0,Math.min((i-this.min)/(this.max-this.min),1));this.bar.style.width=`${c*100}%`,this.text.textContent=this.meterText+(Math.round(i*100)/100).toString(),this.isVisualValueSet=!0}else this.isVisualValueSet=!1}};var Wy=["Acoustic Grand Piano","Bright Acoustic Piano","Electric Grand Piano","Honky-tonk Piano","Electric Piano 1","Electric Piano 2","Harpsichord","Clavi","Celesta","Glockenspiel","Music Box","Vibraphone","Marimba","Xylophone","Tubular Bells","Dulcimer","Drawbar Organ","Percussive Organ","Rock Organ","Church Organ","Reed Organ","Accordion","Harmonica","Tango Accordion","Acoustic Guitar (nylon)","Acoustic Guitar (steel)","Electric Guitar (jazz)","Electric Guitar (clean)","Electric Guitar (muted)","Overdriven Guitar","Distortion Guitar","Guitar Harmonics","Acoustic Bass","Electric Bass (finger)","Electric Bass (pick)","Fretless Bass","Slap Bass 1","Slap Bass 2","Synth Bass 1","Synth Bass 2","Violin","Viola","Cello","Contrabass","Tremolo Strings","Pizzicato Strings","Orchestral Harp","Timpani","String Ensemble 1","String Ensemble 2","Synth Strings 1","Synth Strings 2","Choir Aahs","VoiceGroup Oohs","Synth Choir","Orchestra Hit","Trumpet","Trombone","Tuba","Muted Trumpet","French Horn","Brass Section","Synth Brass 1","Synth Brass 2","Soprano Sax","Alto Sax","Tenor Sax","Baritone Sax","Oboe","English Horn","Bassoon","Clarinet","Piccolo","Flute","Recorder","Pan Flute","Blown Bottle","Shakuhachi","Whistle","Ocarina","Lead 1 (square)","Lead 2 (sawtooth)","Lead 3 (calliope)","Lead 4 (chiff)","Lead 5 (charang)","Lead 6 (voice)","Lead 7 (fifths)","Lead 8 (bass + lead)","Pad 1 (new age)","Pad 2 (warm)","Pad 3 (polysynth)","Pad 4 (choir)","Pad 5 (bowed)","Pad 6 (metallic)","Pad 7 (halo)","Pad 8 (sweep)","FX 1 (rain)","FX 2 (soundtrack)","FX 3 (crystal)","FX 4 (atmosphere)","FX 5 (brightness)","FX 6 (goblins)","FX 7 (echoes)","FX 8 (sci-fi)","Sitar","Banjo","Shamisen","Koto","Kalimba","Bagpipe","Fiddle","Shanai","Tinkle Bell","Agogo","Steel Drums","Woodblock","Taiko Drum","Melodic Tom","Synth Drum","Reverse Cymbal","Guitar Fret Noise","Breath Noise","Seashore","Bird Tweet","Telephone Ring","Attack Helicopter","Applause","Gunshot"];var NE=class{constructor(i,A,c,h,p=void 0,P=void 0){this.elements=i.map(X=>({name:X.name,program:X.program,bank:X.bank,stringified:`${X.bank.toString().padStart(3,"0")}:${X.program.toString().padStart(3,"0")} ${X.name}`})),this.elements.length>0?this.value=`${this.elements[0].bank}:${this.elements[0].program}`:this.value="",this.mainButton=document.createElement("button"),this.mainButton.classList.add("voice_selector"),this.mainButton.classList.add("controller_element"),A.bindObjectProperty(this.mainButton,"title",c+".description",h),this.locale=A,this.localePath=c,this.localeArgs=h,this.reload(),this.mainButton.onclick=()=>{this.showSelectionMenu()},this.editCallback=p,this.selectionMenu=void 0,this.lockCallback=P,this.locked=!1,this.isWindowShown=!1}showSelectionMenu(){this.selectionMenu=document.createElement("div"),this.selectionMenu.classList.add("voice_selector_wrapper"),document.getElementsByClassName("spessasynth_main")[0].appendChild(this.selectionMenu);let i=document.createElement("div");i.classList.add("voice_selector_window");let A=document.createElement("h2");this.locale.bindObjectProperty(A,"textContent",this.localePath+".selectionPrompt",this.localeArgs),i.appendChild(A);let c=document.createElement("div");c.classList.add("voice_selector_search_wrapper"),i.appendChild(c);let h=document.createElement("input");h.type="text",this.locale.bindObjectProperty(h,"placeholder",this.localePath+".searchPrompt"),c.appendChild(h),h.onkeydown=U=>U.stopPropagation();let p=document.createElement("div");p.innerHTML=this.locked?xp(si):VC(si),this.locale.bindObjectProperty(p,"title",Xe+"channelController.presetReset.description",this.localeArgs),p.classList.add("voice_reset"),this.mainButton.classList.contains("voice_selector_light")&&p.classList.add("voice_reset_light"),p.onclick=()=>{this.locked=!this.locked,this.lockCallback(this.locked),this.mainButton.classList.toggle("locked_selector"),this.locked?p.innerHTML=xp(si):p.innerHTML=VC(si)},c.appendChild(p),this.presetLock=p;let P=document.createElement("div");P.classList.add("voice_selector_table_wrapper"),i.appendChild(P);let O=this.generateTable(P,this.elements).querySelector(".voice_selector_selected");h.oninput=U=>{U.stopPropagation();let W0=h.value,_=this.elements.filter(S1=>S1.stringified.search(new RegExp(W0,"i"))>=0);if(_.length===this.elements.length)return;P.replaceChildren();let q=this.generateTable(P,_),t0=q.querySelector(".voice_selector_selected");if(t0){O=t0;return}let n1=q.querySelector(".voice_selector_option");n1.classList.add("voice_selector_selected"),O=n1},h.addEventListener("keydown",U=>{switch(U.key){case"Enter":let W0=O.getAttribute("bank"),_=O.getAttribute("program"),q=`${W0}:${_}`;if(this.value===q){this.hideSelectionMenu();return}this.editCallback(q),this.locked=!0,this.presetLock.innerHTML=xp(si),this.hideSelectionMenu();break;case"ArrowDown":let t0=O.nextElementSibling;for(;t0;){if(t0.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),t0.classList.add("voice_selector_selected"),O=t0;return}t0=t0.nextElementSibling}break;case"ArrowUp":let n1=O.previousElementSibling;for(;n1;){if(n1.classList.contains("voice_selector_option")){O.classList.remove("voice_selector_selected"),n1.classList.add("voice_selector_selected"),O=n1;return}n1=n1.previousElementSibling}break}}),i.onclick=U=>{U.stopPropagation()},this.selectionMenu.appendChild(i),this.selectionMenu.onclick=U=>{U.stopPropagation(),this.hideSelectionMenu()},this.isWindowShown=!0,Ir||h.focus()}generateTable(i,A){let c=document.createElement("table");c.classList.add("voice_selector_table");let h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]),P=-20;for(let X of A){let O=document.createElement("tr"),U=X.program;if(O.classList.add("voice_selector_option"),O.setAttribute("program",U.toString()),O.setAttribute("bank",X.bank.toString()),U===p&&X.bank===h&&(O.classList.add("voice_selector_selected"),setTimeout(()=>{O.scrollIntoView({behavior:"instant",block:"center",inline:"center"})},20)),O.onclick=()=>{let S1=`${X.bank}:${U}`;if(this.value===S1){this.hideSelectionMenu();return}this.editCallback(S1),this.locked=!0,this.presetLock.innerHTML=xp(si),this.hideSelectionMenu()},U!==P&&(P=U,X.bank!==128)){let S1=document.createElement("tr"),c1=document.createElement("th");c1.colSpan="3",c1.textContent=Wy[P],S1.appendChild(c1),c.appendChild(S1)}let W0=`${X.program.toString().padStart(3,"0")}`,_=`${X.bank.toString().padStart(3,"0")}`,q=document.createElement("td");q.classList.add("voice_selector_preset_name"),q.textContent=X.name;let t0=document.createElement("td");q.classList.add("voice_selector_preset_program"),t0.textContent=W0;let n1=document.createElement("td");q.classList.add("voice_selector_preset_program"),n1.textContent=_,O.appendChild(n1),O.appendChild(t0),O.appendChild(q),c.appendChild(O)}return i.appendChild(c),c}hideSelectionMenu(){document.getElementsByClassName("spessasynth_main")[0].removeChild(this.selectionMenu),this.selectionMenu=void 0,this.isWindowShown=!1}toggleMode(){this.mainButton.classList.toggle("voice_selector_light")}reload(i=this.elements){if(this.elements=i.map(A=>({name:A.name,program:A.program,bank:A.bank,stringified:`${A.bank.toString().padStart(3,"0")}:${A.program.toString().padStart(3,"0")} ${A.name}`})),this.elements.length>0){let A=this.elements[0],c=A.bank,h=parseInt(this.value.split(":")[1]),p=h;this.elements.find(P=>P.program===h)===void 0&&(p=A.program),this.mainButton.textContent=this.getString(`${c}:${p}`)}}set(i){if(this.value=i,this.reload(),this.mainButton.textContent=this.getString(this.value),this.isWindowShown){let A=this.selectionMenu.getElementsByClassName("voice_selector_selected")[0];A!==void 0&&A.classList.remove("voice_selector_selected");let c=this.selectionMenu.getElementsByClassName("voice_selector_table")[0],h=parseInt(this.value.split(":")[0]),p=parseInt(this.value.split(":")[1]);for(let P of c.rows){if(P.cells.length===1)continue;let X=parseInt(P.cells[0].textContent),O=parseInt(P.cells[1].textContent);X===h&&O===p&&(P.classList.add("voice_selector_selected"),P.scrollIntoView({behavior:"smooth",block:"center",inline:"center"}))}}}getString(i){let A=i.split(":"),c=parseInt(A[0]),h=parseInt(A[1]),p=this.elements.find(P=>P.bank===c&&P.program===h);return p?c===128||this.elements.filter(P=>P.program===h&&P.bank!==128).length<2?`${h}. ${p.name}`:`${c}:${h} ${p.name}`:""}};var si=32;function Zy(n){this.soloChannels=new Set;let i=document.createElement("div");i.classList.add("channel_controller");let A=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.voiceMeter",this.locale,[n+1],0,100);A.bar.classList.add("voice_meter_bar_smooth"),i.appendChild(A.div);let c=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.pitchBendMeter",this.locale,[n+1],-8192,8191,!0,$2=>{let f2=c.isLocked;f2&&this.synth.lockController(n,v$+q4.pitchWheel,!1),$2=Math.round($2)+8192;let K2=$2>>7,J2=$2&127;this.synth.pitchWheel(n,K2,J2),f2&&this.synth.lockController(n,v$+q4.pitchWheel,!0)},()=>this.synth.lockController(n,v$+q4.pitchWheel,!0),()=>this.synth.lockController(n,v$+q4.pitchWheel,!1));c.update(0),i.appendChild(c.div);let h=($2,f2,K2)=>{K2.isLocked?(this.synth.lockController(n,$2,!1),this.synth.controllerChange(n,$2,f2),this.synth.lockController(n,$2,!0)):this.synth.controllerChange(n,$2,f2)},p=($2,f2,K2)=>{let J2=new mr(this.channelColors[n%this.channelColors.length],Xe+f2,this.locale,[n+1],0,127,!0,A0=>h($2,Math.round(A0),J2),()=>this.synth.lockController(n,$2,!0),()=>this.synth.lockController(n,$2,!1));return J2.update(K2),J2},P=p($3.pan,"channelController.panMeter",64);i.appendChild(P.div);let X=p($3.expressionController,"channelController.expressionMeter",127);i.appendChild(X.div);let O=p($3.mainVolume,"channelController.volumeMeter",100);i.appendChild(O.div);let U=p($3.modulationWheel,"channelController.modulationWheelMeter",0);i.appendChild(U.div);let W0=p($3.chorusDepth,"channelController.chorusMeter",0);i.appendChild(W0.div);let _=p($3.reverbDepth,"channelController.reverbMeter",0);i.appendChild(_.div);let q=p($3.brightness,"channelController.filterMeter",64);i.appendChild(q.div);let t0=new mr(this.channelColors[n%this.channelColors.length],Xe+"channelController.transposeMeter",this.locale,[n+1],-36,36,!0,$2=>{$2=Math.round($2),this.synth.transposeChannel(n,$2,!0),t0.update($2)});t0.update(0),i.appendChild(t0.div);let n1=new NE([],this.locale,Xe+"channelController.presetSelector",[n+1],async $2=>{let f2=$2.split(":");this.synth.lockController(n,s7,!1),this.synth.controllerChange(n,$3.bankSelect,parseInt(f2[0]),!0),this.synth.programChange(n,parseInt(f2[1]),!0),n1.mainButton.classList.add("locked_selector"),this.synth.lockController(n,s7,!0)},$2=>this.synth.lockController(n,s7,$2));i.appendChild(n1.mainButton);let S1=document.createElement("div");S1.innerHTML=du(si),this.locale.bindObjectProperty(S1,"title",Xe+"channelController.soloButton.description",[n+1]),S1.classList.add("controller_element"),S1.classList.add("mute_button"),S1.onclick=()=>{if(this.soloChannels.has(n)?this.soloChannels.delete(n):this.soloChannels.add(n),this.soloChannels.size===0||this.soloChannels.size>=this.synth.channelsAmount){for(let $2=0;$2=this.synth.channelsAmount&&this.soloChannels.clear();return}for(let $2=0;$2{if(c1.hasAttribute("is_muted")){c1.removeAttribute("is_muted");let $2=this.soloChannels.size===0||this.soloChannels.has(n);this.synth.muteChannel(n,!$2),c1.innerHTML=_p(si)}else this.synth.muteChannel(n,!0),c1.setAttribute("is_muted","true"),c1.innerHTML=Fy(si)},i.appendChild(c1);let I2=document.createElement("div");return I2.innerHTML=n===R7?FE(si):TE(si),this.locale.bindObjectProperty(I2,"title",Xe+"channelController.drumToggleButton.description",[n+1]),I2.classList.add("controller_element"),I2.classList.add("mute_button"),I2.onclick=()=>{n1.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(n,s7,!1),n1.mainButton.classList.remove("locked_selector")),this.synth.setDrums(n,!this.synth.channelProperties[n].isDrum)},i.appendChild(I2),{controller:i,voiceMeter:A,pitchWheel:c,pan:P,expression:X,volume:O,mod:U,chorus:W0,reverb:_,brightness:q,preset:n1,drumsToggle:I2,soloButton:S1,muteButton:c1,transpose:t0}}function jy(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.controllers=[];for(let i=0;i0;)i[0].parentNode.removeChild(i[0])}function JC(n,i=!0){let A=document.createElement("div");A.classList.add("settings_slider_wrapper");let c=n.getAttribute("min"),h=n.getAttribute("max"),p=n.getAttribute("value"),P=n.getAttribute("units"),X=n.getAttribute("input_id"),O=document.createElement("input");O.classList.add("settings_slider"),O.type="range",O.id=X,O.min=c,O.max=h,O.value=p;let U;i&&(U=document.createElement("span"),U.textContent=p+P);let W0=document.createElement("div");W0.classList.add("settings_visual_wrapper");let _=document.createElement("div");_.classList.add("settings_slider_progress"),W0.appendChild(_);let q=document.createElement("div");return q.classList.add("settings_slider_thumb"),W0.appendChild(q),W0.appendChild(O),O.addEventListener("input",()=>{let t0=parseInt(W0.style.getPropertyValue("--visual-width").replace("%","")),n1=Math.round((O.value-O.min)/(O.max-O.min)*100);Math.abs((t0-n1)/100)>.05?W0.classList.add("settings_slider_transition"):W0.classList.remove("settings_slider_transition"),W0.style.setProperty("--visual-width",`${n1}%`)}),W0.style.setProperty("--visual-width",`${(O.value-O.min)/(O.max-O.min)*100}%`),A.appendChild(W0),i&&A.appendChild(U),A}function Oo(n,i,A){if(i.textContent&&(n.textContent=i.textContent),i.translatePathTitle){if(!A)throw new Error("Translate path title provided but no locale provided.");A.bindObjectProperty(n,"textContent",i.translatePathTitle+".title",i?.translatePathTitleProps),A.bindObjectProperty(n,"title",i.translatePathTitle+".description",i?.translatePathTitleProps)}}function ew(n,i){switch(n.type){case"button":let A=document.createElement("button");return Oo(A,n,i),qa(n,[A]),A;case"text":let c=document.createElement("p");return Oo(c,n,i),qa(n,[c]),c;case"input":let h=document.createElement("div");h.classList.add("notification_input_wrapper");let p=document.createElement("input");Oo(p,n,i),p.addEventListener("keydown",K2=>K2.stopPropagation());let P=document.createElement("label");return Oo(P,n,i),qa(n,[p,P]),h.append(P),h.appendChild(p),h;case"select":let X=document.createElement("div");X.classList.add("notification_input_wrapper");let O=document.createElement("select");if(n.selectOptions===void 0)throw new Error("Select but no options given?");for(let K2 of Object.entries(n.selectOptions)){let J2=document.createElement("option");J2.value=K2[0],J2.textContent=K2[1],O.appendChild(J2)}let U=document.createElement("label");return Oo(U,n,i),qa(n,[O,U]),X.appendChild(U),X.appendChild(O),X;case"file":let W0=document.createElement("label");W0.classList.add("notification_input_wrapper");let _=document.createElement("input");_.type="file";let q=document.createElement("label");q.classList.add("notification_file_button"),Oo(q,n,i);let t0=document.createElement("label");return Oo(t0,n,i),qa(n,[q,_,t0]),q.appendChild(_),W0.append(t0),W0.appendChild(q),W0;case"progress":let n1=document.createElement("div");n1.classList.add("notification_progress_background");let S1=document.createElement("div");return S1.classList.add("notification_progress"),qa(n,[S1,n1]),n1.appendChild(S1),n1;case"toggle":return PD(n,i);case"range":let c1=document.createElement("input");c1.type="range";let I2=document.createElement("label");qa(n,[c1,I2]),Oo(I2,n,i);let $2=JC(c1,!1),f2=document.createElement("div");return f2.classList.add("notification_slider_wrapper"),f2.appendChild(I2),f2.appendChild($2),f2}}function qa(n,i){if(n.attributes)for(let[A,c]of Object.entries(n.attributes))for(let h of i)A.startsWith("onchange")?h[A]=c:h.setAttribute(A,c);if(n.listeners)for(let[A,c]of Object.entries(n.listeners))for(let h of i)h.addEventListener(A,c)}function PD(n,i){let A=document.createElement("label");A.classList.add("notification_switch_wrapper");let c=document.createElement("label");Oo(c,n,i);let h=document.createElement("input");h.type="checkbox",qa(n,[c,h]);let p=document.createElement("div");p.classList.add("notification_switch"),p.appendChild(h);let P=document.createElement("div");return P.classList.add("notification_switch_slider"),p.appendChild(P),A.appendChild(c),A.appendChild(p),A}var OD=13,qD=0,Lp={};function w4(n,i,A=OD,c=!0,h=void 0,p=void 0,P=void 0){let X=document.createElement("div"),O=qD++;X.classList.add("notification"),X.innerHTML=`

${n}

\xD7 -
`;let U=document.createElement("div");if(U.classList.add("notification_content"),p)for(let[_,e0]of Object.entries(p))U.style[_]=e0;H.appendChild(U);for(let _ of i){let e0=tw(_,h);_.onClick&&(e0.onclick=()=>_.onClick({div:H,id:P},e0)),U.appendChild(e0)}c?H.getElementsByClassName("close_btn")[0].onclick=()=>{_e(P)}:H.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{H.classList.add("drop")},75);let W0=setTimeout(()=>{_e(P)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(H),Lp[P]={div:H,timeout:W0,onclose:O},{div:H,id:P}}function _e(n){if(Lp[n]===void 0)return;let i=Lp[n],A=i.div;clearTimeout(Lp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Lp[n]=void 0}var $7={nodesAmount:Hr.nodesAmount,defaultDelay:Hr.defaultDelay,delayVariation:Hr.delayVariation,stereoDifference:Hr.stereoDifference,oscillatorFrequency:Hr.oscillatorFrequency,oscillatorFrequencyVariation:Hr.oscillatorFrequencyVariation,oscillatorGain:Hr.oscillatorGain};function iw(n,i,A){let c=i+"effectsConfig.",h=w4(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,O)=>{A.disableGSNRPparams(),O.parentNode.removeChild(O)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let O=p.target.parentElement.parentElement;O.textContent=n.getLocaleString("locale.synthInit.genericLoading");let H=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(H),O.textContent=n.getLocaleString("locale.synthInit.done"),U5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:$7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:$7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:$7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:$7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:$7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:$7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:$7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{$7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),$7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),$7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),$7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig($7)}}],999999,!0,n);return h.div.onclick=p=>p.stopImmediatePropagation(),h}var h8="locale.synthesizerController.keyModifiers.";async function rw(n,i){return new Promise(A=>{let c=w4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=h=>{_e(c.id),i.onNotePressed=void 0,A(h)}})}async function zC(n,i,A,c){let h=await rw(i,A),p=(H,P,U,W0)=>{let _={type:"number",min:P.toString(),max:U.toString(),value:W0.toString()};return _[H]="true",_},O={};O.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let H of c.toSorted((P,U)=>P.presetNameU.presetName?1:0))O[H.presetName]=H.presetName;w4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[h.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async H=>{_e(H.id),await zC(n,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:p("vel",0,127,-1)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:O},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:H=>{let P=parseInt(H.div.querySelector("input[chan]").value)??-1,U=parseInt(H.div.querySelector("input[vel]").value)??-1,W0=H.div.querySelector("select[preset-selector]").value,_=-1,e0=-1;if(W0!=="unchanged"){let i0=c.find(a1=>a1.presetName===W0);_=i0.bank,e0=i0.program}n.keyModifierManager.addModifier(P,h,{velocity:U,patch:{program:e0,bank:_}}),_e(H.id)}}],99999,!0,i)}async function qD(n,i,A){let c=await rw(i,A);w4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async h=>{_e(h.id),await zC(n,i,A)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:h=>{let p=parseInt(h.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),_e(h.id)}}],99999,!0,i)}function nw(n,i,A,c){w4(i.getLocaleString(h8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(h8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(h8+"prompt")},{type:"button",translatePathTitle:h8+"modifyKey",onClick:h=>{_e(h.id),zC(n,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:h=>{_e(h.id),qD(n,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:h=>{_e(h.id),w4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{_e(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{_e(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function ow(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new mr("",Xe+"mainVoiceMeter",this.locale,[],0,PC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new mr("",Xe+"mainVolumeMeter",this.locale,[],0,200,!0,U=>{this.synth.setMainVolume(Math.round(U)/100),this.volumeController.update(U)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new mr("",Xe+"mainPanMeter",this.locale,[],-1,1,!0,U=>{this.synth.setMasterPan(U),this.panController.update(U)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new mr("",Xe+"mainTransposeMeter",this.locale,[],-12,12,!0,U=>{this.synth.transpose(Math.round(U*2)/2),this.transposeController.update(Math.round(U*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",Xe+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",Xe+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",Xe+"systemReset.title"),this.locale.bindObjectProperty(A,"title",Xe+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((U,W0)=>{U.pitchWheel.isLocked&&U.pitchWheel.lockMeter(),U.pan.isLocked&&U.pan.lockMeter(),U.expression.isLocked&&U.expression.lockMeter(),U.volume.isLocked&&U.volume.lockMeter(),U.mod.isLocked&&U.mod.lockMeter(),U.chorus.isLocked&&U.chorus.lockMeter(),U.reverb.isLocked&&U.reverb.lockMeter(),U.brightness.isLocked&&U.brightness.lockMeter(),U.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(W0,s7,!1),U.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(W0,0,!0),U.transpose.update(0),U.soloButton.innerHTML=du(si),U.muteButton.innerHTML=_p(si),this.synth.muteChannel(W0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",Xe+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",Xe+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let h=document.createElement("button");this.locale.bindObjectProperty(h,"textContent",Xe+"keyModifiers.button.title"),this.locale.bindObjectProperty(h,"title",Xe+"keyModifiers.button.description"),h.classList.add("synthui_button"),h.classList.add("main_controller_element"),h.onclick=()=>{nw(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",Xe+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",Xe+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=iw(this.locale,Xe,this.synth).id};let O=document.createElement("select");O.classList.add("main_controller_element"),O.classList.add("synthui_button"),this.locale.bindObjectProperty(O,"title",Xe+"interpolation.description");{let U=document.createElement("option");U.value="0",this.locale.bindObjectProperty(U,"textContent",Xe+"interpolation.linear"),O.appendChild(U);let W0=document.createElement("option");W0.value="1",this.locale.bindObjectProperty(W0,"textContent",Xe+"interpolation.nearestNeighbor"),O.appendChild(W0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",Xe+"interpolation.cubic"),O.appendChild(_),O.onchange=()=>{this.synth.setInterpolationType(parseInt(O.value))}}let H=document.createElement("div");H.classList.add("synthui_controller"),this.uiDiv.appendChild(H);let P=document.createElement("button");this.locale.bindObjectProperty(P,"textContent",Xe+"toggleButton.title"),this.locale.bindObjectProperty(P,"title",Xe+"toggleButton.description"),P.classList.add("synthui_button"),P.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(h),n.appendChild(p),n.appendChild(O),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,h,p,P,O],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(P),H.appendChild(n),this.mainControllerDiv=H,this.mainControllerDiv.onclick=U=>U.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),H.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function sw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,h=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(h);break;case $3.mainVolume:p.volume.update(h);break;case $3.pan:p.pan.update(h);break;case $3.modulationWheel:p.mod.update(h);break;case $3.chorusDepth:p.chorus.update(h);break;case $3.reverbDepth:p.reverb.update(h);break;case $3.brightness:p.brightness.update(h)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?FE(32):TE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var Xe="locale.synthesizerController.",Jr=class{constructor(i,A,c){this.channelColors=i;let h=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),h.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case oi.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case oi.settingsShow:this.isShown=!0,this.toggleVisibility();break;case oi.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case oi.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,h)=>c.program===h.program?c.bank-h.bank:c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,h)=>c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,h)=>{let p=this.synth.channelProperties[h].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Jr.prototype.hideControllers=zy;Jr.prototype.showControllers=Ky;Jr.prototype.toggleDarkMode=Wy;Jr.prototype.createChannelController=jy;Jr.prototype.createChannelControllers=Xy;Jr.prototype.createMainSynthController=ow;Jr.prototype.setEventListeners=sw;var Mp=null,GE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Mp,this.selectedOutput=Mp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,U5("%cMIDI handler created!",C1.recognized),!0}catch(i){return T9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return T9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),U5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Mp,i.connectMidiOutput(void 0),U5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},U5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Mp,i.onmidimessage=void 0,U5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Mp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var UE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let h=c.map(p=>parseInt(p,16));i.sendMessage(h)}),U5("%cWeb MIDI Link handler created!",C1.recognized)}};var Ha="midi range";function aw(n,i,A){let c=0,h=this.htmlControls.keyboard,p=[],O=[],H,P=e0=>{let i0=O[e0],a1=i0.drum?128:i0.bank,_1=H.find(f1=>f1.bank===a1&&f1.program===i0.program);_1||(_1=H[0]),p[e0].textContent=": "+_1.presetName},U=()=>{if(H)for(let e0=0;e0{let e0=document.createElement("option");e0.value=c.toString();let i0=document.createElement("p");this.locale.bindObjectProperty(i0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let a1=document.createElement("p");a1.textContent=": not ",p.push(a1),O.push({program:0,bank:0,drum:c%16===9}),U(),e0.appendChild(i0),e0.appendChild(a1),e0.style.background=i.channelColors[c%i.channelColors.length],e0.style.color="rgb(0, 0, 0)",h.channelSelector.appendChild(e0),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",e0=>{H=e0,U()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),_.eventHandler.addEvent("programchange","settings-program-change",e0=>{let i0=O[e0.channel];i0.bank=e0.bank,i0.program=e0.program,P(e0.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",e0=>{O[e0.channel].drum=e0.isDrumChannel,P(e0.channel)});for(let e0=0;e0{n.selectChannel(parseInt(h.channelSelector.value))},h.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{h.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},600);return}h.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},this.addSequencer=e0=>{e0.addOnSongChangeEvent(i0=>{this.autoKeyRange&&(n.keyRange=i0.keyRange,A.keyRange=i0.keyRange),i0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",e0=>{e0.userCalled&&(n.selectChannel(e0.channel),h.channelSelector.value=e0.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",e0=>{if(e0.isMuted&&e0.channel===n.channel){let i0=0;for(;i.synth.channelProperties[i0].isMuted;)i0++;i0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},h.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var Aw=` + `;let U=document.createElement("div");if(U.classList.add("notification_content"),p)for(let[_,q]of Object.entries(p))U.style[_]=q;X.appendChild(U);for(let _ of i){let q=ew(_,h);_.onClick&&(q.onclick=()=>_.onClick({div:X,id:O},q)),U.appendChild(q)}c?X.getElementsByClassName("close_btn")[0].onclick=()=>{_e(O)}:X.getElementsByClassName("close_btn")[0].style.display="none",setTimeout(()=>{X.classList.add("drop")},75);let W0=setTimeout(()=>{_e(O)},A*1e3+75);return document.getElementsByClassName("notification_field")[0].appendChild(X),Lp[O]={div:X,timeout:W0,onclose:P},{div:X,id:O}}function _e(n){if(Lp[n]===void 0)return;let i=Lp[n],A=i.div;clearTimeout(Lp[n].timeout),A.classList.remove("drop"),setTimeout(()=>A.parentElement.removeChild(A),500),i.onclose&&i.onclose(),Lp[n]=void 0}var $7={nodesAmount:Hr.nodesAmount,defaultDelay:Hr.defaultDelay,delayVariation:Hr.delayVariation,stereoDifference:Hr.stereoDifference,oscillatorFrequency:Hr.oscillatorFrequency,oscillatorFrequencyVariation:Hr.oscillatorFrequencyVariation,oscillatorGain:Hr.oscillatorGain};function tw(n,i,A){let c=i+"effectsConfig.",h=w4(n.getLocaleString(c+"button.title"),[{type:"button",translatePathTitle:i+"disableCustomVibrato",onClick:(p,P)=>{A.disableGSNRPparams(),P.parentNode.removeChild(P)}},{type:"text",translatePathTitle:c+"reverbConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"file",translatePathTitle:c+"reverbConfig.impulseResponse",attributes:{accept:"audio/*"},listeners:{input:async p=>{if(p.target.files.length===0)return;p.stopImmediatePropagation(),p.preventDefault();let P=p.target.parentElement.parentElement;P.textContent=n.getLocaleString("locale.synthInit.genericLoading");let X=await A.context.decodeAudioData(await p.target.files[0].arrayBuffer());A.setReverbResponse(X),P.textContent=n.getLocaleString("locale.synthInit.done"),U5("%cReverb response set!",C1.info)}}},{type:"text",translatePathTitle:c+"chorusConfig",attributes:{style:"margin-bottom: -0.5rem"}},{type:"input",translatePathTitle:c+"chorusConfig.nodesAmount",attributes:{type:"number",min:"0",value:$7.nodesAmount,setting:"nodes"}},{type:"input",translatePathTitle:c+"chorusConfig.defaultDelay",attributes:{type:"number",min:"0",value:$7.defaultDelay,setting:"delay"}},{type:"input",translatePathTitle:c+"chorusConfig.delayVariation",attributes:{type:"number",min:"0",value:$7.delayVariation,setting:"delay-var"}},{type:"input",translatePathTitle:c+"chorusConfig.stereoDifference",attributes:{type:"number",min:"0",value:$7.stereoDifference,setting:"stereo"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorFrequency",attributes:{type:"number",min:"0",value:$7.oscillatorFrequency,setting:"osc-freq"}},{type:"input",translatePathTitle:c+"chorusConfig.frequencyVariation",attributes:{type:"number",min:"0",value:$7.oscillatorFrequencyVariation,setting:"freq-var"}},{type:"input",translatePathTitle:c+"chorusConfig.oscillatorGain",attributes:{type:"number",min:"0",value:$7.oscillatorGain,setting:"osc-gain"}},{type:"button",translatePathTitle:c+"chorusConfig.apply",onClick:p=>{$7.nodesAmount=parseFloat(p.div.querySelector("input[setting='nodes']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.delayVariation=parseFloat(p.div.querySelector("input[setting='delay-var']").value),$7.stereoDifference=parseFloat(p.div.querySelector("input[setting='stereo']").value),$7.oscillatorFrequency=parseFloat(p.div.querySelector("input[setting='osc-freq']").value),$7.defaultDelay=parseFloat(p.div.querySelector("input[setting='delay']").value),$7.oscillatorFrequencyVariation=parseFloat(p.div.querySelector("input[setting='freq-var']").value),$7.oscillatorGain=parseFloat(p.div.querySelector("input[setting='osc-gain']").value),A.setChorusConfig($7)}}],999999,!0,n);return h.div.onclick=p=>p.stopImmediatePropagation(),h}var h8="locale.synthesizerController.keyModifiers.";async function iw(n,i){return new Promise(A=>{let c=w4(n.getLocaleString(h8+"selectKey.title"),[{type:"text",textContent:n.getLocaleString(h8+"selectKey.prompt")}],999999,!1,n);i.onNotePressed=h=>{_e(c.id),i.onNotePressed=void 0,A(h)}})}async function rw(n,i,A,c){let h=await iw(i,A),p=(q,t0,n1,S1)=>{let c1={type:"number",min:t0.toString(),max:n1.toString(),value:S1.toString()};return c1[q]="true",c1},P={};P.unchanged=i.getLocaleString(h8+"modifyKey.preset.unchanged");for(let q of c.toSorted((t0,n1)=>t0.presetNamen1.presetName?1:0))P[q.presetName]=q.presetName;let X=n.keyModifierManager.getModifier(A.channel,h),O=X?.velocity??-1,U=w4(i.getLocaleString(h8+"modifyKey.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[h.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async q=>{_e(q.id),await rw(n,i,A,c)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:p("chan",0,(n.channelsAmount-1).toString(),A.channel.toString())},{type:"input",translatePathTitle:h8+"modifyKey.velocity",attributes:p("vel",0,127,O)},{type:"select",translatePathTitle:h8+"modifyKey.preset",attributes:{"preset-selector":"true"},selectOptions:P},{type:"button",translatePathTitle:h8+"modifyKey.apply",onClick:q=>{let t0=parseInt(q.div.querySelector("input[chan]").value)??-1,n1=parseInt(q.div.querySelector("input[vel]").value)??-1,S1=q.div.querySelector("select[preset-selector]").value,c1=-1,I2=-1;if(S1!=="unchanged"){let $2=c.find(f2=>f2.presetName===S1);c1=$2.bank,I2=$2.program}n.keyModifierManager.addModifier(t0,h,{velocity:n1,patch:{program:I2,bank:c1}}),_e(q.id)}}],99999,!0,i),W0=X?.patch?.program??-1,_=X?.patch?.bank??-1;_!==-1&&W0!==-1&&(U.div.querySelector("select[preset-selector]").value=c.find(q=>q.bank===_&&q.program===W0).presetName)}async function nw(n,i,A){let c=await iw(i,A);w4(i.getLocaleString(h8+"removeModification.title"),[{type:"text",translatePathTitle:h8+"selectedKey",translatePathTitleProps:[c.toString()]},{type:"button",textContent:i.getLocaleString(h8+"selectKey.change"),onClick:async h=>{_e(h.id),await nw(n,i,A)}},{type:"input",translatePathTitle:h8+"selectedChannel",attributes:{chan:"true",type:"number",value:A.channel.toString(),min:"0",max:(n.channelsAmount-1).toString()}},{type:"button",translatePathTitle:h8+"removeModification.remove",onClick:h=>{let p=parseInt(h.div.querySelector("input[chan]").value)??-1;n.keyModifierManager.deleteModifier(p,c),_e(h.id)}}],99999,!0,i)}function ow(n,i,A,c){w4(i.getLocaleString(h8+"mainTitle"),[{type:"text",textContent:i.getLocaleString(h8+"detailedDescription"),attributes:{style:"white-space: pre; font-style: italic;"}},{type:"text",textContent:i.getLocaleString(h8+"prompt")},{type:"button",translatePathTitle:h8+"modifyKey",onClick:h=>{_e(h.id),rw(n,i,A,c).then()}},{type:"button",translatePathTitle:h8+"removeModification",onClick:h=>{_e(h.id),nw(n,i,A).then()}},{type:"button",translatePathTitle:h8+"resetModifications",onClick:h=>{_e(h.id),w4(i.getLocaleString(h8+"resetModifications.confirmation.title"),[{type:"text",textContent:i.getLocaleString(h8+"resetModifications.confirmation.description")},{type:"button",textContent:i.getLocaleString("locale.yes"),onClick:p=>{_e(p.id),n.keyModifierManager.clearModifiers()}},{type:"button",textContent:i.getLocaleString("locale.no"),onClick:p=>{_e(p.id)}}],99999,!0,i)}}],9999999,!0,i)}function sw(){let n=document.createElement("div");n.classList.add("controls_wrapper"),this.voiceMeter=new mr("",Xe+"mainVoiceMeter",this.locale,[],0,PC),this.voiceMeter.bar.classList.add("voice_meter_bar_smooth"),this.voiceMeter.div.classList.add("main_controller_element"),this.volumeController=new mr("",Xe+"mainVolumeMeter",this.locale,[],0,200,!0,U=>{this.synth.setMainVolume(Math.round(U)/100),this.volumeController.update(U)}),this.volumeController.bar.classList.add("voice_meter_bar_smooth"),this.volumeController.div.classList.add("main_controller_element"),this.volumeController.update(100),this.panController=new mr("",Xe+"mainPanMeter",this.locale,[],-1,1,!0,U=>{this.synth.setMasterPan(U),this.panController.update(U)}),this.panController.bar.classList.add("voice_meter_bar_smooth"),this.panController.div.classList.add("main_controller_element"),this.panController.update(0),this.transposeController=new mr("",Xe+"mainTransposeMeter",this.locale,[],-12,12,!0,U=>{this.synth.transpose(Math.round(U*2)/2),this.transposeController.update(Math.round(U*2)/2)}),this.transposeController.bar.classList.add("voice_meter_bar_smooth"),this.transposeController.div.classList.add("main_controller_element"),this.transposeController.update(0);let i=document.createElement("button");this.locale.bindObjectProperty(i,"textContent",Xe+"midiPanic.title"),this.locale.bindObjectProperty(i,"title",Xe+"midiPanic.description"),i.classList.add("synthui_button"),i.classList.add("main_controller_element"),i.onclick=()=>this.synth.stopAll(!0);let A=document.createElement("button");this.locale.bindObjectProperty(A,"textContent",Xe+"systemReset.title"),this.locale.bindObjectProperty(A,"title",Xe+"systemReset.description"),A.classList.add("synthui_button"),A.classList.add("main_controller_element"),A.onclick=()=>{this.controllers.forEach((U,W0)=>{U.pitchWheel.isLocked&&U.pitchWheel.lockMeter(),U.pan.isLocked&&U.pan.lockMeter(),U.expression.isLocked&&U.expression.lockMeter(),U.volume.isLocked&&U.volume.lockMeter(),U.mod.isLocked&&U.mod.lockMeter(),U.chorus.isLocked&&U.chorus.lockMeter(),U.reverb.isLocked&&U.reverb.lockMeter(),U.brightness.isLocked&&U.brightness.lockMeter(),U.preset.mainButton.classList.contains("locked_selector")&&(this.synth.lockController(W0,s7,!1),U.preset.mainButton.classList.remove("locked_selector")),this.synth.transposeChannel(W0,0,!0),U.transpose.update(0),U.soloButton.innerHTML=du(si),U.muteButton.innerHTML=_p(si),this.synth.muteChannel(W0,!1)}),this.synth.resetControllers()};let c=document.createElement("button");this.locale.bindObjectProperty(c,"textContent",Xe+"blackMidiMode.title"),this.locale.bindObjectProperty(c,"title",Xe+"blackMidiMode.description"),c.classList.add("synthui_button"),c.classList.add("main_controller_element"),c.onclick=()=>{this.synth.highPerformanceMode=!this.synth.highPerformanceMode};let h=document.createElement("button");this.locale.bindObjectProperty(h,"textContent",Xe+"keyModifiers.button.title"),this.locale.bindObjectProperty(h,"title",Xe+"keyModifiers.button.description"),h.classList.add("synthui_button"),h.classList.add("main_controller_element"),h.onclick=()=>{ow(this.synth,this.locale,this.keyboard,this.presetList)};let p=document.createElement("button");this.locale.bindObjectProperty(p,"textContent",Xe+"effectsConfig.button.title"),this.locale.bindObjectProperty(p,"title",Xe+"effectsConfig.button.description"),p.classList.add("synthui_button"),p.classList.add("main_controller_element"),p.onclick=()=>{if(this.effectsConfigWindow!==void 0){_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0;return}this.effectsConfigWindow=tw(this.locale,Xe,this.synth).id};let P=document.createElement("select");P.classList.add("main_controller_element"),P.classList.add("synthui_button"),this.locale.bindObjectProperty(P,"title",Xe+"interpolation.description");{let U=document.createElement("option");U.value="0",this.locale.bindObjectProperty(U,"textContent",Xe+"interpolation.linear"),P.appendChild(U);let W0=document.createElement("option");W0.value="1",this.locale.bindObjectProperty(W0,"textContent",Xe+"interpolation.nearestNeighbor"),P.appendChild(W0);let _=document.createElement("option");_.value="2",_.selected=!0,this.locale.bindObjectProperty(_,"textContent",Xe+"interpolation.cubic"),P.appendChild(_),P.onchange=()=>{this.synth.setInterpolationType(parseInt(P.value))}}let X=document.createElement("div");X.classList.add("synthui_controller"),this.uiDiv.appendChild(X);let O=document.createElement("button");this.locale.bindObjectProperty(O,"textContent",Xe+"toggleButton.title"),this.locale.bindObjectProperty(O,"title",Xe+"toggleButton.description"),O.classList.add("synthui_button"),O.onclick=()=>{this.hideOnDocClick=!1,this.toggleVisibility()},n.appendChild(this.volumeController.div),n.appendChild(this.panController.div),n.appendChild(this.transposeController.div),n.appendChild(i),n.appendChild(A),n.appendChild(c),n.appendChild(h),n.appendChild(p),n.appendChild(P),this.mainMeters=[this.volumeController,this.panController,this.transposeController,this.voiceMeter],this.mainButtons=[i,A,c,h,p,O,P],this.uiDiv.appendChild(this.voiceMeter.div),this.uiDiv.appendChild(O),X.appendChild(n),this.mainControllerDiv=X,this.mainControllerDiv.onclick=U=>U.stopPropagation(),document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),X.classList.remove("synthui_controller_show"),this.isShown=!1,this.hideControllers()})}function aw(){let n=this.uiDiv.getElementsByClassName("synthui_controller")[0];this.synth.eventHandler.addEvent("programchange","synthui-program-change",i=>{this.controllers[i.channel].preset.set(`${i.bank}:${i.program}`)}),this.synth.eventHandler.addEvent("allcontrollerreset","synthui-all-controller-reset",()=>{for(let i of this.controllers)i.pan.update(64),i.mod.update(0),i.chorus.update(0),i.pitchWheel.update(0),i.expression.update(127),i.volume.update(100),i.reverb.update(0),i.brightness.update(64)}),this.synth.eventHandler.addEvent("controllerchange","synthui-controller-change",i=>{let A=i.controllerNumber,c=i.channel,h=i.controllerValue,p=this.controllers[c];if(p!==void 0)switch(A){default:break;case $3.expressionController:p.expression.update(h);break;case $3.mainVolume:p.volume.update(h);break;case $3.pan:p.pan.update(h);break;case $3.modulationWheel:p.mod.update(h);break;case $3.chorusDepth:p.chorus.update(h);break;case $3.reverbDepth:p.reverb.update(h);break;case $3.brightness:p.brightness.update(h)}}),this.synth.eventHandler.addEvent("pitchwheel","synthui-pitch-wheel",i=>{let A=i.MSB<<7|i.LSB;this.controllers[i.channel].pitchWheel.update(A-8192)}),this.synth.eventHandler.addEvent("drumchange","synthui-drum-change",i=>{this.controllers[i.channel].drumsToggle.innerHTML=i.isDrumChannel?FE(32):TE(32),this.controllers[i.channel].preset.reload(i.isDrumChannel?this.percussionList:this.instrumentList)}),this.synth.eventHandler.addEvent("newchannel","synthui-new-channel",()=>{let i=this.createChannelController(this.controllers.length);this.controllers.push(i),n.appendChild(i.controller),this.hideControllers()})}var Xe="locale.synthesizerController.",Jr=class{constructor(i,A,c){this.channelColors=i;let h=A;this.uiDiv=document.createElement("div"),this.uiDiv.classList.add("wrapper"),h.appendChild(this.uiDiv),this.uiDiv.style.visibility="visible",this.isShown=!1,this.animationId=-1,this.locale=c,this.hideOnDocClick=!0,this.effectsConfigWindow=void 0}connectKeyboard(i){this.keyboard=i}connectSynth(i){this.synth=i,this.getInstrumentList(),this.createMainSynthController(),this.createChannelControllers(),document.addEventListener("keydown",A=>{switch(A.key.toLowerCase()){case oi.synthesizerUIShow:A.preventDefault(),this.toggleVisibility();break;case oi.settingsShow:this.isShown=!0,this.toggleVisibility();break;case oi.blackMidiMode:A.preventDefault(),this.synth.highPerformanceMode=!this.synth.highPerformanceMode;break;case oi.midiPanic:A.preventDefault(),this.synth.stopAll(!0);break}}),this.locale.onLocaleChanged.push(()=>{this.voiceMeter.update(this.voiceMeter.currentValue,!0),this.volumeController.update(this.volumeController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.panController.update(this.panController.currentValue,!0),this.transposeController.update(this.transposeController.currentValue,!0);for(let A of this.controllers)A.voiceMeter.update(A.voiceMeter.currentValue,!0),A.pitchWheel.update(A.pitchWheel.currentValue,!0),A.pan.update(A.pan.currentValue,!0),A.volume.update(A.volume.currentValue,!0),A.expression.update(A.expression.currentValue,!0),A.mod.update(A.mod.currentValue,!0),A.chorus.update(A.chorus.currentValue,!0),A.reverb.update(A.reverb.currentValue,!0),A.brightness.update(A.brightness.currentValue,!0),A.transpose.update(A.transpose.currentValue,!0)})}toggleVisibility(){this.animationId!==-1&&clearTimeout(this.animationId);let i=document.getElementsByClassName("synthui_controller")[0];this.isShown=!this.isShown,this.isShown?(i.style.display="block",document.getElementsByClassName("top_part")[0].classList.add("synthui_shown"),this.showControllers(),setTimeout(()=>{i.classList.add("synthui_controller_show")},75)):(this.effectsConfigWindow!==void 0&&(_e(this.effectsConfigWindow),this.effectsConfigWindow=void 0),document.getElementsByClassName("top_part")[0].classList.remove("synthui_shown"),this.hideControllers(),i.classList.remove("synthui_controller_show"),this.animationId=setTimeout(()=>{i.style.display="none"},200))}updateVoicesAmount(){this.voiceMeter.update(this.synth.voicesAmount),this.controllers.forEach((i,A)=>{let c=this.synth.channelProperties[A].voicesAmount;i.voiceMeter.update(c),c<1&&this.synth.voicesAmount>0?i.controller.classList.add("no_voices"):i.controller.classList.remove("no_voices")})}getInstrumentList(){this.synth.eventHandler.addEvent("presetlistchange","synthui-preset-list-change",i=>{let A=i;this.presetList=A,this.instrumentList=A.filter(c=>c.bank!==128).sort((c,h)=>c.program===h.program?c.bank-h.bank:c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList=A.filter(c=>c.bank===128).sort((c,h)=>c.program-h.program).map(c=>({name:c.presetName,bank:c.bank,program:c.program})),this.percussionList.length===0?this.percussionList=this.instrumentList:this.instrumentList.length===0&&(this.instrumentList=this.percussionList),this.controllers.forEach((c,h)=>{let p=this.synth.channelProperties[h].isDrum?this.percussionList:this.instrumentList;c.preset.reload(p),c.preset.set(`${p[0].bank}:${p[0].program}`)})})}};Jr.prototype.hideControllers=Jy;Jr.prototype.showControllers=zy;Jr.prototype.toggleDarkMode=Ky;Jr.prototype.createChannelController=Zy;Jr.prototype.createChannelControllers=jy;Jr.prototype.createMainSynthController=sw;Jr.prototype.setEventListeners=aw;var Mp=null,GE=class{constructor(){}async createMIDIDeviceHandler(){if(this.selectedInput=Mp,this.selectedOutput=Mp,navigator.requestMIDIAccess)try{let i=await navigator.requestMIDIAccess({sysex:!0,software:!0});return this.inputs=i.inputs,this.outputs=i.outputs,U5("%cMIDI handler created!",C1.recognized),!0}catch(i){return T9("Could not get MIDI Devices:",i),this.inputs=[],this.outputs=[],!1}else return T9("Web MIDI Api not supported!",C1.unrecognized),this.inputs=[],this.outputs=[],!1}connectMIDIOutputToSeq(i,A){this.selectedOutput=i,A.connectMidiOutput(i),U5(`%cPlaying MIDI to %c${i.name}`,C1.info,C1.recognized)}disconnectSeqFromMIDI(i){this.selectedOutput=Mp,i.connectMidiOutput(void 0),U5("%cDisconnected from MIDI out.",C1.info)}connectDeviceToSynth(i,A){this.selectedInput=i,i.onmidimessage=c=>{A.sendMessage(c.data)},U5(`%cListening for messages on %c${i.name}`,C1.info,C1.recognized)}disconnectDeviceFromSynth(i){this.selectedInput=Mp,i.onmidimessage=void 0,U5(`%cDisconnected from %c${i.name}`,C1.info,C1.recognized)}disconnectAllDevicesFromSynth(){this.selectedInput=Mp;for(let i of this.inputs)i[1].onmidimessage=void 0}};var UE=class{constructor(i){window.addEventListener("message",A=>{if(typeof A.data!="string")return;let c=A.data.split(",");if(c[0]!=="midi")return;c.shift();let h=c.map(p=>parseInt(p,16));i.sendMessage(h)}),U5("%cWeb MIDI Link handler created!",C1.recognized)}};var Ha="midi range";function Aw(n,i,A){let c=0,h=this.htmlControls.keyboard,p=[],P=[],X,O=q=>{let t0=P[q],n1=t0.drum?128:t0.bank,S1=X.find(c1=>c1.bank===n1&&c1.program===t0.program);S1||(S1=X[0]),p[q].textContent=": "+S1.presetName},U=()=>{if(X)for(let q=0;q{let q=document.createElement("option");q.value=c.toString();let t0=document.createElement("p");this.locale.bindObjectProperty(t0,"textContent","locale.settings.keyboardSettings.selectedChannel.channelOption",[c+1]);let n1=document.createElement("p");n1.textContent=": not ",p.push(n1),P.push({program:0,bank:0,drum:c%16===9}),U(),q.appendChild(t0),q.appendChild(n1),q.style.background=i.channelColors[c%i.channelColors.length],q.style.color="rgb(0, 0, 0)",h.channelSelector.appendChild(q),c++},_=this.synthui.synth;_.eventHandler.addEvent("presetlistchange","settings-preset-list-change",q=>{X=q,U()}),_.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),_.eventHandler.addEvent("programchange","settings-program-change",q=>{let t0=P[q.channel];t0.bank=q.bank,t0.program=q.program,O(q.channel)}),_.eventHandler.addEvent("drumchange","settings-drum-change",q=>{P[q.channel].drum=q.isDrumChannel,O(q.channel)});for(let q=0;q{n.selectChannel(parseInt(h.channelSelector.value))},h.sizeSelector.onchange=()=>{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{h.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},600);return}h.sizeSelector.value===Ha?(this.autoKeyRange=!0,this?.sequi?.seq&&(n.keyRange=this.sequi.seq.midiData.keyRange,A.keyRange=this.sequi.seq.midiData.keyRange)):(this.autoKeyRange=!1,n.keyRange=this.keyboardSizes[h.sizeSelector.value],A.keyRange=this.keyboardSizes[h.sizeSelector.value]),this._saveSettings()},this.addSequencer=q=>{q.addOnSongChangeEvent(t0=>{this.autoKeyRange&&(n.keyRange=t0.keyRange,A.keyRange=t0.keyRange),t0.RMIDInfo?.IPIC!==void 0&&this.musicMode.visible===!1&&this.toggleMusicPlayerMode().then()},"settings-keyboard-handler-song-change")},i.synth.eventHandler.addEvent("newchannel","settings-new-channel",()=>{W0()}),i.synth.eventHandler.addEvent("programchange","settings-keyboard-program-change",q=>{q.userCalled&&(n.selectChannel(q.channel),h.channelSelector.value=q.channel)}),i.synth.eventHandler.addEvent("mutechannel","settings-keuboard-mute-channel",q=>{if(q.isMuted&&q.channel===n.channel){let t0=0;for(;i.synth.channelProperties[t0].isMuted;)t0++;t0{if(this.musicMode.visible){this.musicMode.setVisibility(!1,document.getElementById("keyboard_canvas_wrapper")),setTimeout(()=>{n.toggleMode(),this._saveSettings()},600);return}n.toggleMode(),this._saveSettings()},h.showSelector.onclick=()=>{n.shown=!n.shown,this._saveSettings()}}var $w=`

-`;async function $w(){let n=await window.savedSettings;if(!n.interface)return;U5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Fn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Fn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let h=c.sampleSize;i.analyserFftSlider.value=Math.log2(h),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=h,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(h)+2)),A.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${h}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Fn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let O=this.htmlControls.keyboard,H=this.midiKeyboard,P=n.keyboard;H.setKeyRange(P.keyRange,!1),P.autoRange?(O.sizeSelector.value=Ha,this.autoKeyRange=!0):(this.autoKeyRange=!1,O.sizeSelector.value=Object.keys(this.keyboardSizes).find(U=>this.keyboardSizes[U].min===P.keyRange.min&&this.keyboardSizes[U].max===P.keyRange.max)),P.mode==="dark"&&(H.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),P.show===!1&&(H.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function lw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function cw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Ha,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function gw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,h]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=h.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function uw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var PE={start:"#101010",end:"#212121"},OE={start:"#bbb",end:"#f0f0f0"},hw="#eee",dw="#333",qE={start:"#222",end:"#333"},HE={start:"#ccc",end:"#fff"},Tn=.2;function fw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Nn(dw,hw,Tn,i,"--font-color"),Nn(HE.start,qE.start,Tn,i,"--top-buttons-color-start"),Nn(HE.end,qE.end,Tn,i,"--top-buttons-color-end"),Nn(OE.start,PE.start,Tn,i,"--top-color-start"),Nn(OE.end,PE.end,Tn,i,"--top-color-end")):(Nn(hw,dw,Tn,i,"--font-color"),Nn(qE.start,HE.start,Tn,i,"--top-buttons-color-start"),Nn(qE.end,HE.end,Tn,i,"--top-buttons-color-end"),Nn(PE.start,OE.start,Tn,i,"--top-color-start"),Nn(PE.end,OE.end,Tn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Iu={};function Nn(n,i,A,c,h){Iu[h]&&(clearInterval(Iu[h]),Iu[h]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let e0=parseInt(_.slice(1),16);return{r:e0>>16&255,g:e0>>8&255,b:e0&255}}function O(_,e0,i0){return _+(e0-_)*i0}let H=p(n),P=p(i),U=performance.now()/1e3;function W0(){let e0=performance.now()/1e3-U,i0=Math.min(e0/A,1),a1=Math.round(O(H.r,P.r,i0)),_1=Math.round(O(H.g,P.g,i0)),f1=Math.round(O(H.b,P.b,i0));c.style.setProperty(h,`rgb(${a1}, ${_1}, ${f1})`),i0>=1&&(clearInterval(Iu[h]),Iu[h]=void 0)}Iu[h]=setInterval(W0,1e3/60)}function Iw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Fn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Fn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Fn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function mw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(Ir||w4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function pw(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function Ew(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var Cw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Bw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var Qw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var yw={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Cw,keyboardSettings:Bw,midiSettings:Qw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var ww={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var vw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var kw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var Sw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. +`;async function lw(){let n=await window.savedSettings;if(!n.interface)return;U5("Loading saved settings...",n);let i=this.htmlControls.renderer,A=this.renderer,c=n.renderer;A.noteFallingTimeMs=c.noteFallingTimeMs,i.noteTimeSlider.value=c.noteFallingTimeMs,i.noteTimeSlider.dispatchEvent(new Event("input")),Fn(i.noteTimeSlider).innerText=`${c.noteFallingTimeMs}ms`,i.analyserThicknessSlider.value=c.waveformThickness,i.analyserThicknessSlider.dispatchEvent(new Event("input")),A.lineThickness=c.waveformThickness,Fn(i.analyserThicknessSlider).innerText=`${c.waveformThickness}px`;let h=c.sampleSize;i.analyserFftSlider.value=Math.log2(h),i.analyserFftSlider.dispatchEvent(new Event("input")),A.normalAnalyserFft=h,A.drumAnalyserFft=Math.pow(2,Math.min(15,Math.log2(h)+2)),A.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${h}`,A.waveMultiplier=c.amplifier,i.waveMultiplierSlizer.value=c.amplifier,i.waveMultiplierSlizer.dispatchEvent(new Event("input")),Fn(i.waveMultiplierSlizer).innerText=c.amplifier.toString();let p=this.htmlControls.renderer;A.renderAnalysers=c.renderWaveforms,p.analyserToggler.checked=c.renderWaveforms,A.renderNotes=c.renderNotes,p.noteToggler.checked=c.renderNotes,A.drawActiveNotes=c.drawActiveNotes,p.activeNoteToggler.checked=c.drawActiveNotes,A.showVisualPitch=c.showVisualPitch,p.visualPitchToggler.checked=c.showVisualPitch,A.stabilizeWaveforms=c.stabilizeWaveforms,p.stabilizeWaveformsToggler.checked=c.stabilizeWaveforms,A.keyRange=c.keyRange;let P=this.htmlControls.keyboard,X=this.midiKeyboard,O=n.keyboard;X.setKeyRange(O.keyRange,!1),O.autoRange?(P.sizeSelector.value=Ha,this.autoKeyRange=!0):(this.autoKeyRange=!1,P.sizeSelector.value=Object.keys(this.keyboardSizes).find(U=>this.keyboardSizes[U].min===O.keyRange.min&&this.keyboardSizes[U].max===O.keyRange.max)),O.mode==="dark"&&(X.toggleMode(!1),this.htmlControls.keyboard.modeSelector.checked=!0),O.show===!1&&(X.shown=!1,this.htmlControls.keyboard.showSelector.checked=!1),this.locale.changeGlobalLocale(n.interface.language,!0),setTimeout(()=>{this.htmlControls.interface.languageSelector.value=n.interface.language},100),n.interface.mode==="light"?(this._toggleDarkMode(),this.htmlControls.interface.themeSelector.checked=!1):this.htmlControls.interface.themeSelector.checked=!0,this.htmlControls.interface.layoutSelector.value=n.interface.layout||"downwards",this._changeLayout(n.interface.layout||"downwards")}function cw(){window.saveSettings&&window.saveSettings(this._serializeSettings())}function gw(){return{renderer:{noteFallingTimeMs:this.renderer.noteFallingTimeMs,waveformThickness:this.renderer.lineThickness,sampleSize:this.renderer.normalAnalyserFft,amplifier:this.renderer.waveMultiplier,renderWaveforms:this.renderer.renderAnalysers,renderNotes:this.renderer.renderNotes,drawActiveNotes:this.renderer.drawActiveNotes,showVisualPitch:this.renderer.showVisualPitch,stabilizeWaveforms:this.renderer.stabilizeWaveforms,keyRange:this.renderer.keyRange},keyboard:{selectedChannel:this.midiKeyboard.channel,keyRange:this.midiKeyboard.keyRange,mode:this.midiKeyboard.mode,autoRange:this.htmlControls.keyboard.sizeSelector.value===Ha,show:this.htmlControls.keyboard.showSelector.checked===!0},midi:{input:this.midiDeviceHandler.selectedInput===null?null:this.midiDeviceHandler.selectedInput.name,output:this.midiDeviceHandler.selectedOutput===null?null:this.midiDeviceHandler.selectedOutput.name},interface:{mode:this.mode,language:this.htmlControls.interface.languageSelector.value,layout:this.htmlControls.interface.layoutSelector.value}}}function uw(){let n=this.htmlControls.interface.themeSelector;n.onclick=()=>{this._toggleDarkMode(),this._saveSettings()};let i=this.htmlControls.interface.languageSelector;for(let[c,h]of Object.entries(this.locales)){let p=document.createElement("option");p.value=c,p.textContent=h.localeName,i.appendChild(p)}i.onchange=()=>{if(i.value==="help-translate"){window.open("https://github.com/spessasus/SpessaSynth/blob/master/src/website/js/locale/locale_files/README.md"),i.value=this.locale.localeCode;return}this.locale.changeGlobalLocale(i.value),this._saveSettings()};let A=this.htmlControls.interface.layoutSelector;A.onchange=()=>{this._changeLayout(A.value),this._saveSettings(),A.blur()}}function hw(n){let i=document.getElementById("keyboard_canvas_wrapper"),A=document.getElementById("note_canvas"),c=document.getElementById("keyboard");switch(n){case"downwards":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="down",this.renderer.sideways=!1;break;case"upwards":i.classList.add("upwards"),i.classList.remove("left_to_right"),i.classList.remove("right_to_left"),A.classList.remove("sideways"),c.classList.remove("sideways"),this.renderer.direction="up",this.renderer.sideways=!1;break;case"left":i.classList.remove("upwards"),i.classList.add("left_to_right"),i.classList.remove("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="up",this.renderer.sideways=!0;break;case"right":i.classList.remove("upwards"),i.classList.remove("left_to_right"),i.classList.add("right_to_left"),A.classList.add("sideways"),c.classList.add("sideways"),this.renderer.direction="down",this.renderer.sideways=!0}}var PE={start:"#101010",end:"#212121"},OE={start:"#bbb",end:"#f0f0f0"},dw="#eee",fw="#333",qE={start:"#222",end:"#333"},HE={start:"#ccc",end:"#fff"},Tn=.2;function Iw(){this.mode==="dark"?(this.mode="light",this.renderer.drawActiveNotes=!1):(this.renderer.drawActiveNotes=!0,this.mode="dark"),this.renderer.toggleDarkMode(),this.synthui.toggleDarkMode(),this.sequi.toggleDarkMode(),this.musicMode.toggleDarkMode(),document.getElementsByClassName("spessasynth_main")[0].classList.toggle("light_mode"),document.getElementsByClassName("top_part")[0].classList.toggle("top_part_light"),this.mainDiv.classList.toggle("settings_menu_light");let n=document.styleSheets[0].cssRules;for(let i of n)if(i.selectorText==="*"){this.mode==="dark"?(Nn(fw,dw,Tn,i,"--font-color"),Nn(HE.start,qE.start,Tn,i,"--top-buttons-color-start"),Nn(HE.end,qE.end,Tn,i,"--top-buttons-color-end"),Nn(OE.start,PE.start,Tn,i,"--top-color-start"),Nn(OE.end,PE.end,Tn,i,"--top-color-end")):(Nn(dw,fw,Tn,i,"--font-color"),Nn(qE.start,HE.start,Tn,i,"--top-buttons-color-start"),Nn(qE.end,HE.end,Tn,i,"--top-buttons-color-end"),Nn(PE.start,OE.start,Tn,i,"--top-color-start"),Nn(PE.end,OE.end,Tn,i,"--top-color-end"));break}document.body.style.background=this.mode==="dark"?"black":"white"}var Iu={};function Nn(n,i,A,c,h){Iu[h]&&(clearInterval(Iu[h]),Iu[h]=void 0);function p(_){_.length===4&&(_=`#${_[1]}${_[1]}${_[2]}${_[2]}${_[3]}${_[3]}`);let q=parseInt(_.slice(1),16);return{r:q>>16&255,g:q>>8&255,b:q&255}}function P(_,q,t0){return _+(q-_)*t0}let X=p(n),O=p(i),U=performance.now()/1e3;function W0(){let q=performance.now()/1e3-U,t0=Math.min(q/A,1),n1=Math.round(P(X.r,O.r,t0)),S1=Math.round(P(X.g,O.g,t0)),c1=Math.round(P(X.b,O.b,t0));c.style.setProperty(h,`rgb(${n1}, ${S1}, ${c1})`),t0>=1&&(clearInterval(Iu[h]),Iu[h]=void 0)}Iu[h]=setInterval(W0,1e3/60)}function mw(n){let i=this.htmlControls.renderer;i.noteTimeSlider.addEventListener("input",()=>{n.noteFallingTimeMs=i.noteTimeSlider.value,Fn(i.noteTimeSlider).innerText=`${i.noteTimeSlider.value}ms`}),i.noteTimeSlider.onchange=()=>{this._saveSettings()},i.analyserThicknessSlider.addEventListener("input",()=>{n.lineThickness=parseInt(i.analyserThicknessSlider.value),Fn(i.analyserThicknessSlider).innerText=`${i.analyserThicknessSlider.value}px`}),i.analyserThicknessSlider.onchange=()=>{this._saveSettings()},i.analyserFftSlider.addEventListener("input",()=>{let A=Math.pow(2,parseInt(i.analyserFftSlider.value));n.normalAnalyserFft=A,n.drumAnalyserFft=Math.pow(2,Math.min(15,parseInt(i.analyserFftSlider.value)+2)),n.updateFftSize(),Fn(i.analyserFftSlider).innerText=`${A}`}),i.analyserFftSlider.onchange=()=>{this._saveSettings()},i.waveMultiplierSlizer.addEventListener("input",()=>{n.waveMultiplier=parseInt(i.waveMultiplierSlizer.value),Fn(i.waveMultiplierSlizer).innerText=i.waveMultiplierSlizer.value}),i.waveMultiplierSlizer.onchange=()=>{this._saveSettings()},i.analyserToggler.onclick=()=>{n.renderAnalysers=!n.renderAnalysers,this._saveSettings()},i.noteToggler.onclick=()=>{n.renderNotes=!n.renderNotes,this._saveSettings()},i.activeNoteToggler.onclick=()=>{n.drawActiveNotes=!n.drawActiveNotes,this._saveSettings()},i.visualPitchToggler.onclick=()=>{n.showVisualPitch=!n.showVisualPitch,this._saveSettings()},i.stabilizeWaveformsToggler.onclick=()=>{n.stabilizeWaveforms=!n.stabilizeWaveforms,this._saveSettings()}}function pw(n,i,A){n.createMIDIDeviceHandler().then(c=>{c?(this._createMidiInputHandler(n,A.synth),this._createMidiOutputHandler(n,i)):(Ir||w4(this.locale.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.locale.getLocaleString("locale.warnings.noMidiSupport")}]),document.getElementById("midi_settings").style.display="none")})}function Ew(n,i){if(n.inputs.length<1)return;let A=this.htmlControls.midi.inputSelector;for(let c of n.inputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{A.value==="-1"?n.disconnectAllDevicesFromSynth():n.connectDeviceToSynth(n.inputs.get(A.value),i),this._saveSettings()}}function Cw(n,i){if(!n.outputs){setTimeout(()=>{this._createMidiOutputHandler(n,i)},1e3);return}if(n.outputs.length<1)return;let A=this.htmlControls.midi.outputSelector;for(let c of n.outputs){let h=document.createElement("option");h.value=c[0],h.innerText=c[1].name,A.appendChild(h)}A.onchange=()=>{i.seq&&(A.value==="-1"?n.disconnectSeqFromMIDI(i.seq):n.connectMIDIOutputToSeq(n.outputs.get(A.value),i.seq),this._saveSettings())}}var Bw={title:"Renderer settings",noteFallingTime:{title:"Note falling time (miliseconds)",description:"How fast the notes fall (visually)"},waveformThickness:{title:"Waveform line thickness (px)",description:"How thick the waveform lines are"},waveformSampleSize:{title:"Waveform sample size",description:"How detailed the waveforms are (Note: high values might impact performance)"},waveformAmplifier:{title:"Waveform amplifier",description:"How vibrant the waveforms are"},toggleWaveformsRendering:{title:"Enable waveforms rendering",description:"Enable rendering the channel waveforms (colorful lines showing audio)"},toggleNotesRendering:{title:"Enable notes rendering",description:"Enable rendering of the falling notes when playing a MIDI file"},toggleDrawingActiveNotes:{title:"Enable drawing active notes",description:"Enable notes lighting up and glowing when they get pressed"},toggleDrawingVisualPitch:{title:"Enable drawing visual pitch",description:"Enable notes sliding left or right when the pitch wheel is applied"},toggleStabilizeWaveforms:{title:"Stabilize waveforms",description:"Enable oscilloscope triggering"}};var Qw={title:"MIDI Keyboard settings",selectedChannel:{title:"Selected channel",description:"The channel keyboard sends messages to",channelOption:"Channel {0}"},keyboardSize:{title:"Keyboard size",description:"The range of keys shown on the keyboard. Adjusts the MIDI note size accordingly",full:"128 keys (full)",piano:"88 keys (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Use song's key range",twoOctaves:"Two octaves"},toggleTheme:{title:"Use dark theme",description:"Use the dark MIDI keyboard theme"},show:{title:"Show",description:"Show/hide MIDI keyboard"}};var yw={title:"MIDI settings",midiInput:{title:"MIDI input",description:"The port to listen on for MIDI messages",disabled:"Disabled"},midiOutput:{title:"MIDI output",description:"The port to play the MIDI file to",disabled:"Use SpessaSynth"}};var ww={toggleButton:"Settings",mainTitle:"Program settings",rendererSettings:Bw,keyboardSettings:Qw,midiSettings:yw,interfaceSettings:{title:"Interface settings",toggleTheme:{title:"Use dark theme",description:"Enable the dark theme for the interface"},selectLanguage:{title:"Language",description:"Change the program language",helpTranslate:"Translate SpessaSynth"},layoutDirection:{title:"Layout direction",description:"The layout direction of the renderer and keyboard",values:{downwards:"Downwards",upwards:"Upwards",leftToRight:"Left to right",rightToLeft:"Right to left"}}}};var vw={toggleButton:{title:"Toggle music player mode",description:"Toggle the simplified UI version, hiding the keyboard and note visualizations"},currentlyPlaying:"Currently playing:",nothingPlaying:"Nothing is playing",nothingPlayingCopyright:"Upload a MIDI!"};var kw={voiceMeter:{title:"Voices: ",description:"The current amount of voices playing on channel {0}"},pitchBendMeter:{title:"Pitch: ",description:"The current pitch bend applied to channel {0}"},panMeter:{title:"Pan: ",description:"The current stereo panning applied to channel {0} (right-click to lock)"},expressionMeter:{title:"Expression: ",description:"The current expression (loudness) of channel {0} (right-click to lock)"},volumeMeter:{title:"Volume: ",description:"The current volume of channel {0} (right-click to lock)"},modulationWheelMeter:{title:"Mod wheel: ",description:"The current modulation (usually vibrato) depth of channel {0} (right-click to lock)"},chorusMeter:{title:"Chorus: ",description:"The current level of chorus effect applied to channel {0} (right-click to lock)"},reverbMeter:{title:"Reverb: ",description:"The current level of reverb effect applied to channel {0} (right-click to lock)"},filterMeter:{title:"Filter: ",description:"The current level of low-pass filter cutoff applied to channel {0} (right-click to lock)"},transposeMeter:{title:"Transpose: ",description:"The current transposition (key shift) of channel {0}"},presetSelector:{description:"Change the patch (instrument) channel {0} is using",selectionPrompt:"Change instrument for channel {0}",searchPrompt:"Search..."},presetReset:{description:"Unlock channel {0} to allow program changes"},soloButton:{description:"Solo on channel {0}"},muteButton:{description:"Mute/unmute channel {0}"},drumToggleButton:{description:"Toggle drums on channel {0}"}};var Sw={button:{title:"Effects config",description:"Configure the chorus and reverb effects and the custom vibrato"},reverbConfig:{title:"Reverb configuration",description:"Configure the reverb processor",impulseResponse:{title:"Impulse response",description:"Select impulse response for the convolver reverb"}},chorusConfig:{title:"Chorus configuration",description:"Configure the chorus processor",nodesAmount:{title:"Nodes amount",description:"The amount of delay nodes (for each stereo channel) to use"},defaultDelay:{title:"Delay (s)",description:"The delay time for the first node in seconds"},delayVariation:{title:"Delay increment (s)",description:"The amount to increment each delay node after the first one in seconds"},stereoDifference:{title:"Stereo difference (s)",description:"The difference of delays between two channels (added to the left channel and subtracted from the right)"},oscillatorFrequency:{title:"LFO frequency (Hz)",description:"The first delay node's LFO frequency, in Hz. The LFO controls delay time."},frequencyVariation:{title:"LFO increment (Hz)",description:"The amount to increment each LFO's frequency after the first one, in Hz"},oscillatorGain:{title:"LFO gain (s)",description:"How much will LFO alter the delay in delay nodes, in seconds"},apply:{title:"Apply",description:"Apply the selected settings"}}};var bw={button:{title:"Key Modifiers",description:"Modify individual key parameters"},mainTitle:"Key Modification editor",detailedDescription:`This menu allows you to modify a MIDI note on a given channel. Currently you can modify its velocity and assign a patch (instrument) it uses. - This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var bw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:vw,effectsConfig:kw,keyModifiers:Sw};var Dw={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var _w={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls) [EXPERIMENTAL]",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var xw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:_w,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:ww,settings:yw,synthesizerController:bw,sequencerController:Dw};var Lw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Mw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Rw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Fw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Lw,keyboardSettings:Mw,midiSettings:Rw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Tw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Nw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var Gw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Uw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. + This is especially useful for drums.`,prompt:"What would you like to do?",selectKey:{prompt:"Press the key you want to modify on the keyboard.",title:"Select key",change:"Change key"},selectedChannel:{title:"Selected channel",description:"The channel to which the key you want to modify belongs"},selectedKey:{title:"Selected key: {0}",description:"You have selected the MIDI note number {0}"},modifyKey:{title:"Modify a key",description:"Modify a single key on a given channel",velocity:{title:"Velocity override",description:"The velocity to use on this key, ignoring the MIDI velocity. Leave at -1 for unchanged"},preset:{title:"Preset override",description:"The preset to use on this key.",unchanged:"Unchanged"},apply:{title:"Apply",description:"Apply the selected modifier"}},removeModification:{title:"Remove modification",description:"Remove modification from a single key on a given channel",remove:{title:"Remove",description:"Remove this key modifier"}},resetModifications:{title:"Reset changes",description:"Clear and reset all key modifications from all channels",confirmation:{title:"Confirm your actions",description:"Are you sure you want to remove ALL modifications?"}}};var Dw={toggleButton:{title:"Synthesizer controller",description:"Show the synthesizer controller"},mainVoiceMeter:{title:"Voices: ",description:"The total amount of voices currently playing"},mainVolumeMeter:{title:"Volume: ",description:"The current master volume of the synthesizer"},mainPanMeter:{title:"Pan: ",description:"The current master stereo panning of the synthesizer"},mainTransposeMeter:{title:"Transpose: ",description:"Transposes the synthesizer (in semitones or keys)"},midiPanic:{title:"MIDI Panic",description:"Stops all voices immediately"},systemReset:{title:"System reset",description:"Resets all controllers to their default values"},blackMidiMode:{title:"Black MIDI mode",description:"Toggles the High Performance Mode, simplifying the look and killing the notes faster"},disableCustomVibrato:{title:"Disable custom vibrato",description:"Disables the custom (NRPN) Vibrato permamently. Reload the website to reenable it"},helpButton:{title:"Help",description:"Opens an external website with the usage guide"},interpolation:{description:"Select the synthesizer's interpolation method",linear:"Linear Interpolation",nearestNeighbor:"Nearest neighbor",cubic:"Cubic Interpolation"},channelController:kw,effectsConfig:Sw,keyModifiers:bw};var _w={previousSong:"Previous song",nextSong:"Next song",loopThis:"Loop this song",playPause:"Play/pause",lyrics:{show:"Show lyrics",title:"Decoded text",noLyrics:"No lyrics available...",otherText:{title:"Other text"}}};var xw={button:{title:"Save Audio",description:"Save the composition to various formats"},formats:{title:"Choose format",formats:{wav:{button:{title:"WAV audio (.wav)",description:"Export the song with modifications as a .wav audio file"},options:{title:"WAV export options",confirm:"Export",normalizeVolume:{title:"Normalize volume",description:"Keep the volume at the same level, no matter how loud or quiet the MIDI is. Recommended."},additionalTime:{title:"Additional time (s)",description:"Additional time at the end of the song to allow for the sound to fade. (seconds)"},separateChannels:{title:"Separate channels",description:"Save each channel as a separate file. Useful for things like oscilloscope viewers. Note that this disables reverb and chorus.",saving:{title:"Channel files",save:"Save channel {0}"}},loopCount:{title:"Loop count",description:"The amount of times to loop the song"}},exportMessage:{message:"Exporting WAV audio...",estimated:"Remaining:",convertWav:"Converting to wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Export the MIDI file with the controller and instrument changes applied"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Export a SoundFont2 file"},options:{title:"SF export options",confirm:"Export",trim:{title:"Trim",description:"Export the soundfont trimmed to only use instruments and samples that the MIDI file uses"},compress:{title:"Compress",description:"Compress samples with lossy Ogg Vorbis compression if uncompressed. Significantly reduces the file size.If the soundfont was already compressed, it won't be uncompressed even if this option is disabled"},quality:{title:"Compression quality",description:"The quality of compression. Higher is better"}}},dls:{button:{title:"DLS (.dls) [EXPERIMENTAL]",description:"Export the SoundFont as DLS"},warning:{title:"DLS Export warning",message:"DLS export is limited and may produce broken files with large and complex SoundFonts.",details:"More info",confirm:"Export anyways"}},rmidi:{button:{title:"Embedded MIDI (.rmi)",description:"Export the modified MIDI with the embedded trimmed soundfont as a single file. Note that this format isn't widely supported"},progress:{title:"Exporting embeded MIDI...",loading:"Loading Soundfont and MIDI...",modifyingMIDI:"Modifying MIDI...",modifyingSoundfont:"Trimming Soundfont...",saving:"Saving RMIDI...",done:"Done!"},options:{title:"RMIDI export options",confirm:"Export",compress:{title:"Compress",description:"Compress the Soundfont with lossy Ogg Vorbis compression. Significantly reduces the file size. Recommended."},quality:{title:"Compression quality",description:"The quality of compression. Higher is better."},bankOffset:{title:"Bank offset",description:"The bank offset of the file. Value of 0 is recommended. Only change if you know what you're doing."},adjust:{title:"Adjust MIDI",description:"Adjusts the MIDI file to the SoundFont. Leave this on unless you know what you're doing."}}}},metadata:{songTitle:{title:"Title:",description:"The song's title"},album:{title:"Album:",description:"The song's album"},artist:{title:"Artist:",description:"The song's artist"},albumCover:{title:"Album cover:",description:"The song's album cover"},creationDate:{title:"Created:",description:"The song's creation date"},genre:{title:"Genre:",description:"The song's genre"},comment:{title:"Comment:",description:"The song's comment"},duration:{title:"Duration:",description:"The song's duration"}}}};var Lw={localeName:"English",titleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript Synthesizer Online Demo",synthInit:{genericLoading:"Loading...",loadingSoundfont:"Loading SoundFont...",loadingBundledSoundfont:"Loading bundled SoundFont...",startingSynthesizer:"Starting Synthesizer...",savingSoundfont:"Saving SoundFont for reuse...",noWebAudio:"Your browser does not support Web Audio.",done:"Ready!"},midiUploadButton:"Upload your MIDI files",exportAudio:xw,yes:"Yes",no:"No",demoSoundfontUploadButton:"Upload the soundfont",demoGithubPage:"Project's page",demoSongButton:"Demo Song",credits:"Credits",dropPrompt:"Drop files here...",warnings:{outOfMemory:"Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead. (see console for error).",noMidiSupport:"No MIDI ports detected, this functionality will be disabled.",chromeMobile:"SpessaSynth performs poorly on Chrome Mobile. Consider using Firefox Android instead.",warning:"Warning"},hideTopBar:{title:"Hide top bar",description:"Hide the top (title) bar to provide a more seamless experience"},convertDls:{title:"DLS Conversion",message:"Looks like you've uploaded a DLS file. Do you want to convert it to SF2?"},musicPlayerMode:vw,settings:ww,synthesizerController:Dw,sequencerController:_w};var Mw={title:"Ustawienia wizualizacji",noteFallingTime:{title:"Czas spadania nut (ms)",description:"Jak szybko spadaj\u0105 z g\xF3ry nuty (w milisekundach)"},waveformThickness:{title:"Grubo\u015B\u0107 lini fal (px)",description:"Jak grube s\u0105 linie fal d\u017Awi\u0119kowych"},waveformSampleSize:{title:"Rozmiar pr\xF3bki fali",description:"Jak szczeg\xF3\u0142owe s\u0105 linei fal d\u017Awi\u0119kowcyh (Uwaga: wysokie warto\u015Bci mog\u0105 pogorszy\u0107 wydajno\u015B\u0107)"},waveformAmplifier:{title:"Wzmacniasz fal",description:"Jak '\u017Cywe' s\u0105 fale. Kontroluje ich amplitud\u0119"},toggleWaveformsRendering:{title:"W\u0142\u0105cz rysowanie fal",description:"W\u0142\u0105cz rysowanie fal d\u017Awi\u0119kowych (16-tu kolorowych linii z ty\u0142u)"},toggleNotesRendering:{title:"W\u0142\u0105cz rysowanie nut",description:"W\u0142\u0105cz rysowanie spadaj\u0105cych nut podczas odtwarzania pliku MIDI"},toggleDrawingActiveNotes:{title:"W\u0142\u0105cz rysowanie aktywnych nut",description:"W\u0142\u0105cz efekt pod\u015Bwietlania si\u0119 nut przy aktywacji"},toggleDrawingVisualPitch:{title:"W\u0142\u0105cz wizualizacj\u0119 wysoko\u015Bci tonu",description:"W\u0142\u0105cz przesuwanie nut w lewo lub w prawo gdy wysoko\u015B\u0107 nut jest zmieniana"},toggleStabilizeWaveforms:{title:"W\u0142\u0105cz stabilizacj\u0119 fal",description:"W\u0142\u0105cz stabilizowanie fal d\u017Awi\u0119kowych"}};var Rw={title:"Ustawienia pianina",selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142, do kt\xF3rego b\u0119dzie pod\u0142\u0105czone pianino",channelOption:"Kana\u0142 {0}"},keyboardSize:{title:"Rozmiar pianina",description:"Zakres klawiszy widocznych na pianine. Dostosowuje r\xF3wnie\u017C szeroko\u015B\u0107 wizualizowanych nut",full:"128 klawiszy (pe\u0142en zakres)",piano:"88 klawiszy (fortepian)",fiveOctaves:"5 oktaw",twoOctaves:"Dwie oktawy",useSongKeyRange:"U\u017Cyj zakresu utworu"},toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw wbudowanego pianina"},show:{title:"Poka\u017C",description:"Poka\u017C/ukryj pianino"}};var Fw={title:"Ustawienia MIDI",midiInput:{title:"Wej\u015Bcie MIDI",description:"Port MIDI, kt\xF3ry b\u0119dzie nas\u0142uchiwany",disabled:"Wy\u0142\u0105czony"},midiOutput:{title:"Wyj\u015Bcie MIDI",description:"Port MIDI, do kt\xF3rego b\u0119dzie grany utw\xF3r",disabled:"U\u017Cyj SpessaSynth"}};var Tw={toggleButton:"Ustawienia",mainTitle:"Ustawienia programu",rendererSettings:Mw,keyboardSettings:Rw,midiSettings:Fw,interfaceSettings:{title:"Ustawienia interfejsu",toggleTheme:{title:"W\u0142\u0105cz ciemny motyw",description:"W\u0142\u0105cz ciemny motyw programu"},selectLanguage:{title:"J\u0119zyk",description:"Zmie\u0144 j\u0119zyk programu",helpTranslate:"Przet\u0142umacz SpessaSynth"},layoutDirection:{title:"Uk\u0142ad",description:"Kierunek uk\u0142adu wizualizacji i pianina",values:{downwards:"W d\xF3\u0142",upwards:"W g\xF3r\u0119",leftToRight:"Od lewej do prawej",rightToLeft:"Od prawej do lewej"}}}};var Nw={toggleButton:{title:"Prze\u0142\u0105cz tryb odtwarzania muzyki",description:"Prze\u0142\u0105cz uproszczon\u0105 wersj\u0119 interfejsu, ukrywaj\u0105c pianino i wizualizacj\u0119 nut"},currentlyPlaying:"Teraz gramy:",nothingPlaying:"Nic teraz nie gra",nothingPlayingCopyright:"Wgraj jakie\u015B MIDI!"};var Gw={voiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Aktualna ilo\u015B\u0107 d\u017Awi\u0119k\xF3w na kanale {0}"},pitchBendMeter:{title:"Wysoko\u015B\u0107: ",description:"Aktualna wysoko\u015B\u0107 tonu na kanale {0}"},panMeter:{title:"Stereo: ",description:"Aktualny efekt stereo na kanale {0} (kliknij prawym aby zablokowa\u0107)"},expressionMeter:{title:"Ekspresja: ",description:"Aktualna ekspresja (g\u0142o\u015Bno\u015Bc) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},volumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},modulationWheelMeter:{title:"Modulacja: ",description:"Aktualna g\u0142\u0119boko\u015B\u0107 modulacji (zazwyczaj vibrato) kana\u0142u {0} (kliknij prawym aby zablokowa\u0107)"},chorusMeter:{title:"Ch\xF3r: ",description:"Aktualny efekt ch\xF3ru na kanale {0} (kliknij prawym aby zablokowa\u0107)"},reverbMeter:{title:"Pog\u0142os: ",description:"Aktualny efekt pog\u0142osu na kanale {0} (kliknij prawym aby zablokowa\u0107)"},filterMeter:{title:"Filtr: ",description:"Aktualny poziom filtra niskopasmowego na kanale {0} (kliknij prawym aby zablokowa\u0107)"},transposeMeter:{title:"Transpozycja: ",description:"Aktualna transpozycja (przesuni\u0119cie klawiszy) kana\u0142u {0}"},presetSelector:{description:"Zmie\u0144 patch (instrument), kt\xF3rego u\u017Cywa kana\u0142 {0}",selectionPrompt:"Zmie\u0144 instrument kana\u0142u {0}",searchPrompt:"Wyszukaj..."},presetReset:{description:"Odblokuj kana\u0142 {0}, aby program m\xF3g\u0142 go zmienia\u0107"},soloButton:{description:"Solo na kanale {0}"},muteButton:{description:"Wycisz/odcisz kana\u0142 {0}"},drumToggleButton:{description:"Prze\u0142\u0105cz perkusj\u0119 na kanale {0}"}};var Uw={button:{title:"Konfiguracja efekt\xF3w",description:"Skonfiguruj efekt pog\u0142osu i ch\xF3ru oraz wy\u0142\u0105cz niestandardowe wibrato"},reverbConfig:{title:"Konfiguracja pog\u0142osu",description:"Skonfiguruj procesor pog\u0142osu",impulseResponse:{title:"Impuls pog\u0142osu",description:"Wybierz impuls kszta\u0142tuj\u0105cy d\u017Awi\u0119k pog\u0142osu"}},chorusConfig:{title:"Konfiguracja ch\xF3ru",description:"Skonfiguruj procesor efektu ch\xF3ru",nodesAmount:{title:"Ilo\u015B\u0107 w\u0119z\u0142\xF3w",description:"Ilo\u015B\u0107 li\u0144 op\xF3\u017Aniaj\u0105cych dla ka\u017Cdego kana\u0142u stereo"},defaultDelay:{title:"Op\xF3\u017Anienie (s)",description:"Op\xF3\u017Anienie pierwszej linii, w sekundach"},delayVariation:{title:"Przyrost op\xF3\u017Anienia (s)",description:"Przyrost op\xF3\u017Anienia ka\u017Cdej kolejnej linii w sekundach"},stereoDifference:{title:"R\xF3\u017Cnica stereo (s)",description:"R\xF3\u017Cnica op\xF3\u017Anie\u0144 w kana\u0142ach stereo (dodane do lewego kana\u0142u i odj\u0119te od prawego sekundy)"},oscillatorFrequency:{title:"Cz\u0119stotliwo\u015B\u0107 LFO (Hz)",description:"Cz\u0119stotliwo\u015B\u0107 pierwszego LFO kontroluj\u0105cego op\xF3\u017Anienie pierwszej linii w Hz."},frequencyVariation:{title:"Przyrost LFO (Hz)",description:"Przyrost cz\u0119stotliwo\u015Bci LFO ka\u017Cdej kolejnej linii w Hz"},oscillatorGain:{title:"Si\u0142a LFO (s)",description:"Jak bardzo LFO b\u0119dzie wp\u0142ywa\u0107 na op\xF3\u017Anienie linii, w sekundach"},apply:{title:"Zastosuj",description:"Zastosuj wybrane ustawienia"}}};var Pw={button:{title:"Modyfikacja klawiszy",description:"Zmodyfikuj indywidualne parametry klawiszy."},mainTitle:"Edytor modyfikacji klawiszy",detailedDescription:`To menu pozwala Ci na modyfikacj\u0119 danych klawiszy na danym kanale. Aktualnie mo\u017Cesz nadpisa\u0107 si\u0142\u0119 nacisku oraz przypisa\u0107 instrument do danego klawisza. -To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Pw={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Nw,effectsConfig:Gw,keyModifiers:Uw};var Ow={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var qw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls) [EKSPERYMENTALNY]",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Hw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:qw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Tw,settings:Fw,synthesizerController:Pw,sequencerController:Ow};var Yw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Vw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var Jw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var zw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Yw,keyboardSettings:Vw,midiSettings:Jw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Kw={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Ww={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var Zw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Ww};var jw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var Xw={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var ev={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:Xw,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 +To jest szczeg\xF3lnie przydatne w przypadku perkusji.`,prompt:"Co chcesz teraz zrobi\u0107?",selectKey:{prompt:"Naci\u015Bnij klawisz kt\xF3ry chcesz zmodyfikowa\u0107.",title:"Wybierz klawisz",change:"Zmie\u0144 klawisz"},selectedChannel:{title:"Wybrany kana\u0142",description:"Kana\u0142 do kt\xF3rego nale\u017Cy klawisz kt\xF3ry chcesz zmodyfikowa\u0107."},selectedKey:{title:"Wybrany klawisz: {0}",description:"Wybra\u0142e\u015B/a\u015B klawisz MIDI o numerze {0}."},modifyKey:{title:"Zmodyfikuj klawisz",description:"Zmodyfikuj pojedynczy klawisz na danym kanale",velocity:{title:"Si\u0142a nacisku",description:"Si\u0142a nacisku dla tego klawisza. Pozostaw -1 dla braku zmian."},preset:{title:"Nadpisanie instrumentu",description:"Instrument dla tego klawisza.",unchanged:"Bez zmian"},apply:{title:"Zastosuj",description:"Zastosuj modyfikacj\u0119"}},removeModification:{title:"Usu\u0144 modyfikacj\u0119",description:"Usu\u0144 modyfikacj\u0119 z klawisza na danym kanale.",remove:{title:"Usu\u0144",description:"Usu\u0144 ten modyfikator."}},resetModifications:{title:"Zresetuj zmiany",description:"Wyczy\u015B\u0107 i usu\u0144 wszystkie zastosowane zmiany",confirmation:{title:"Potwierdzenie",description:"Jeste\u015B pewien, \u017Ce chcesz usun\u0105\u0107 WSZYSTKIE zmiany?"}}};var Ow={toggleButton:{title:"Kontroler syntezatora",description:"Poka\u017C kontroler syntezatora"},mainVoiceMeter:{title:"D\u017Awi\u0119ki: ",description:"Ca\u0142kowita ilo\u015B\u0107 aktualnie odtwarzanych d\u017Awi\u0119k\xF3w"},mainVolumeMeter:{title:"G\u0142o\u015Bno\u015B\u0107: ",description:"Aktualna g\u0142o\u015Bno\u015B\u0107 syntezatora"},mainPanMeter:{title:"Stereo: ",description:"Aktualna pozycja stereo syntezatora"},mainTransposeMeter:{title:"Transpozycja: ",description:"Transpozycjonuje syntezator (w semitonach)"},midiPanic:{title:"MIDI Panic",description:"Zatrzymuje wszystkie d\u017Awi\u0119ki"},systemReset:{title:"Reset systemu",description:"Resetuje wszystkie kontroleru do ich domy\u015Blnych warto\u015Bci"},blackMidiMode:{title:"Tryb black MIDI",description:"Prze\u0142\u0105cza tryb wysokiej wydajno\u015Bci, upraszczaj\u0105c wygl\u0105d i pogarszaj\u0105c jako\u015B\u0107 d\u017Awi\u0119ku"},disableCustomVibrato:{title:"Wy\u0142\u0105cz niestandardowe vibrato",description:"Wy\u0142\u0105cza niestandardowe (NRPN) vibrato. Wymaga prze\u0142adowania strony aby je ponownie w\u0142\u0105czy\u0107"},helpButton:{title:"Pomoc",description:"Poka\u017C instrukcj\u0119 obs\u0142ugi"},interpolation:{description:"Wybierz metod\u0119 interpolacji",linear:"Interpolacja liniowa",nearestNeighbor:"Najbli\u017Cszy s\u0105siad",cubic:"Interpolacja Sze\u015Bcienna"},channelController:Gw,effectsConfig:Uw,keyModifiers:Pw};var qw={previousSong:"Poprzedni utw\xF3r",nextSong:"Nast\u0119pny utw\xF3r",loopThis:"Odtwarzaj w p\u0119tli",playPause:"Odtw\xF3rz/wstrzymaj",lyrics:{show:"Poka\u017C tekst",title:"Odczytany tekst",noLyrics:"Brak dost\u0119pnego tekstu...",otherText:{title:"Inny tekst"}}};var Hw={button:{title:"Zapisz",description:"Zapisz w r\xF3\u017Cnych formatach"},formats:{title:"Wybierz format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Eksportuj utw\xF3r ze zmianami jako plik audio .wav"},options:{title:"Opcje eksportu audio",confirm:"Eksportuj",normalizeVolume:{title:"Normalizuj g\u0142o\u015Bno\u015B\u0107",description:"Eksportuj audio z tak\u0105 sam\u0105 g\u0142o\u015Bno\u015Bci\u0105, niezale\u017Cnie od g\u0142o\u015Bno\u015Bci MIDI."},additionalTime:{title:"Dodatkowy czas (s)",description:"Dodatkowy czas na ko\u0144cu utworu aby pozwoli\u0107 na wyciszenie si\u0119 d\u017Awi\u0119ku. (sekundy)"},separateChannels:{title:"Rozdziel kana\u0142y",description:"Zapisz ka\u017Cdy kana\u0142 w osobnym pliuku. Przydatne dla rzeczy jak widok oscyloskopowy. Nale\u017Cy pami\u0119ta\u0107 \u017Ce to wy\u0142\u0105cza ekfet pog\u0142osu i ch\xF3ru",saving:{title:"Pliki audio kana\u0142\xF3w",save:"Zapisz kana\u0142 {0}"}},loopCount:{title:"Ilo\u015B\u0107 p\u0119tli",description:"Ilo\u015B\u0107 razy zap\u0119tlenia utworu"}},exportMessage:{message:"Eksportowanie audio...",estimated:"Pozosta\u0142o:",convertWav:"Konwertowanie do wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Eksportuj plik MIDI wraz ze zmianami instrument\xF3w i kontroler\xF3w"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Eksportuj SoundFont"},options:{title:"Opcje eksportu soundfonta",confirm:"Eksportuj",trim:{title:"Zmniejsz",description:"Zmniejsz SoundFont aby zawiera\u0142 tylko klawisze u\u017Cyte w MIDI"},compress:{title:"Kompresuj",description:"Zkompresuj pr\xF3bki kt\xF3re nie s\u0105 zkompresowane przy u\u017Cyciu stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku.Je\u015Bli soundfont by\u0142 ju\u017C skompresowany, nie zostanie zdekompresowany nawet gdy ta opcja jest wy\u0142\u0105czona"},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"}}},dls:{button:{title:"DLS (.dls) [EKSPERYMENTALNY]",description:"Eksportuj SoundFonta jako DLS"},warning:{title:"Ostrze\u017Cenie DLS",message:"Eksport do formatu DLS jest ograniczony i mo\u017Ce utworzy\u0107 uszkodzone pliki.",details:"Wi\u0119cej informacji",confirm:"Eksportuj i tak"}},rmidi:{button:{title:"Osadzone MIDI (.rmi)",description:"Eksportuj zmodyfikowane MIDI wraz ze zmniejszonym soundfontem jako jeden plik. Uwaga: ten format nie jest szeroko wspierany"},progress:{title:"Exportowanie osadzonego MIDI...",loading:"Wczytywanie soundfonta i MIDI...",modifyingMIDI:"Modyfikowanie MIDI...",modifyingSoundfont:"Zmniejszanie Soundfonta...",saving:"Zapisywanie RMIDI...",done:"Gotowe!"},options:{title:"Opcje eksportu RMIDI",confirm:"Eksportuj",compress:{title:"Kompresuj",description:"Skompresuj osadzonego soundfonta za pomoc\u0105 stratnego kodeka Ogg Vorbis. Znacznie zmniejsza rozmiar pliku. Zalecane."},quality:{title:"Jako\u015B\u0107 kompresji",description:"Jako\u015B\u0107 skompresowanych pr\xF3bek. Im wy\u017Csza tym lepsza"},bankOffset:{title:"Przesuni\u0119cie banku",description:"Przesuni\u0119cie banku w pliku. Zalecane 0. Zmie\u0144 tylko je\u015Bli wiesz co robisz."},adjust:{title:"Dostosuj MIDI",description:"Dostosuj MIDI do SoundFonta. Pozostaw w\u0142\u0105czone, chyba \u017Ce wiesz co robisz."}}}},metadata:{songTitle:{title:"Tytu\u0142:",description:"Tytu\u0142 utworu"},album:{title:"Album:",description:"Album utworu"},artist:{title:"Tw\xF3rca:",description:"Tw\xF3rca utworu"},albumCover:{title:"Ok\u0142adka albumu:",description:"Ok\u0142adka albumu utworu"},creationDate:{title:"Stworzono:",description:"Data stworzenia utworu"},genre:{title:"Gatunek:",description:"Gatunek utworu"},comment:{title:"Komentarz:",description:"Komentarz do utworu"},duration:{title:"Czas trwania:",description:"Czas trwania utworu"}}}};var Yw={localeName:"Polski",titleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2",demoTitleMessage:"SpessaSynth: JavaScriptowy Syntezator SoundFont2 Wersja Demo",synthInit:{genericLoading:"Wczytywanie...",loadingSoundfont:"Wczytywanie SoundFonta...",loadingBundledSoundfont:"Wczytywanie wbudowanego SoundFonta...",startingSynthesizer:"Uruchamianie syntezatora...",savingSoundfont:"Zapisywanie SoundFonta do przegl\u0105darki...",noWebAudio:"Twoja przegl\u0105darka nie wspiera Web Audio.",done:"Gotowe!"},midiUploadButton:"Wgraj Twoje pliki MIDI",midiRenderButton:{title:"Eksportuj audio",description:"Zapisz audio do pliku WAV lub MIDI"},exportAudio:Hw,yes:"Tak",no:"Nie",demoSoundfontUploadButton:"Wgraj SoundFonta",demoGithubPage:"Strona projektu",demoSongButton:"Piosenka demo",credits:"Tw\xF3rcy",dropPrompt:"Upu\u015B\u0107 pliki tutaj...",warnings:{outOfMemory:"Twojej przegl\u0105darce sko\u0144czy\u0142a si\u0119 pami\u0119\u0107. Rozwa\u017C u\u017Cycie Firefoxa albo plik\xF3w SF3. (Zobacz b\u0142\u0105d w konsoli)",noMidiSupport:"Nie wykryto MIDI. Korzystanie z port\xF3w MIDI nie b\u0119dzie dost\u0119pne.",chromeMobile:"SpessaSynth dzia\u0142a wolno na Chromie na telefon. Rozwa\u017C u\u017Cycie Firefoxa Android.",warning:"Uwaga"},hideTopBar:{title:"Ukryj g\xF3rny pasek",description:"Ukryj pasek tytu\u0142owy w celu poprawy widoczno\u015Bci na pionowych ekranach"},convertDls:{title:"Konwersja DLS",message:"Wygl\u0105da na to, \u017Ce wgra\u0142e\u015B plik DLS. Czy chcesz przekonwertowa\u0107 go do SF2?"},musicPlayerMode:Nw,settings:Tw,synthesizerController:Ow,sequencerController:qw};var Vw={title:"\u30EC\u30F3\u30C0\u30E9\u30FC\u8A2D\u5B9A",noteFallingTime:{title:"\u30CE\u30FC\u30C8\u306E\u843D\u4E0B\u6642\u9593\uFF08\u30DF\u30EA\u79D2\uFF09",description:"\u30CE\u30FC\u30C8\u304C\u843D\u3061\u308B\u901F\u3055\uFF08\u8996\u899A\u7684\u306B\uFF09"},waveformThickness:{title:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055\uFF08\u30D4\u30AF\u30BB\u30EB\uFF09",description:"\u6CE2\u5F62\u306E\u7DDA\u306E\u592A\u3055"},waveformSampleSize:{title:"\u6CE2\u5F62\u306E\u30B5\u30F3\u30D7\u30EB\u30B5\u30A4\u30BA",description:"\u6CE2\u5F62\u306E\u8A73\u7D30\u5EA6\uFF08\u6CE8\uFF1A\u9AD8\u3044\u5024\u306F\u30D1\u30D5\u30A9\u30FC\u30DE\u30F3\u30B9\u306B\u5F71\u97FF\u3092\u4E0E\u3048\u308B\u53EF\u80FD\u6027\u304C\u3042\u308A\u307E\u3059\uFF09"},waveformAmplifier:{title:"\u6CE2\u5F62\u306E\u5897\u5E45\u5668",description:"\u6CE2\u5F62\u306E\u9BAE\u3084\u304B\u3055"},toggleWaveformsRendering:{title:"\u6CE2\u5F62\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"\u30C1\u30E3\u30F3\u30CD\u30EB\u6CE2\u5F62\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059\uFF08\u30AA\u30FC\u30C7\u30A3\u30AA\u3092\u8868\u793A\u3059\u308B\u30AB\u30E9\u30D5\u30EB\u306A\u7DDA\uFF09"},toggleNotesRendering:{title:"\u30CE\u30FC\u30C8\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u306E\u5207\u308A\u66FF\u3048",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u969B\u306E\u843D\u4E0B\u30CE\u30FC\u30C8\u306E\u30EC\u30F3\u30C0\u30EA\u30F3\u30B0\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingActiveNotes:{title:"\u30A2\u30AF\u30C6\u30A3\u30D6\u30CE\u30FC\u30C8\u306E\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048",description:"\u30CE\u30FC\u30C8\u304C\u62BC\u3055\u308C\u305F\u3068\u304D\u306B\u5149\u308A\u8F1D\u304F\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleDrawingVisualPitch:{title:"\u30D3\u30B8\u30E5\u30A2\u30EB\u30D4\u30C3\u30C1\u63CF\u753B\u306E\u5207\u308A\u66FF\u3048",description:"\u30D4\u30C3\u30C1\u30DB\u30A4\u30FC\u30EB\u304C\u9069\u7528\u3055\u308C\u305F\u3068\u304D\u306B\u30CE\u30FC\u30C8\u304C\u5DE6\u53F3\u306B\u30B9\u30E9\u30A4\u30C9\u3059\u308B\u63CF\u753B\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},toggleStabilizeWaveforms:{title:"\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B",description:"\u30AA\u30FC\u30C7\u30A3\u30AA\u6CE2\u5F62\u3092\u5B89\u5B9A\u3055\u305B\u308B\u8A2D\u5B9A\u3092\u5207\u308A\u66FF\u3048\u3001\u6CE2\u5F62\u3092\u56FA\u5B9A\u3057\u307E\u3059\u3002"}};var Jw={title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u8A2D\u5B9A",selectedChannel:{title:"\u9078\u629E\u3055\u308C\u305F\u30C1\u30E3\u30F3\u30CD\u30EB",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u304C\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u9001\u4FE1\u3059\u308B\u30C1\u30E3\u30F3\u30CD\u30EB",channelOption:"\u30C1\u30E3\u30F3\u30CD\u30EB {0}"},keyboardSize:{title:"\u30AD\u30FC\u30DC\u30FC\u30C9\u30B5\u30A4\u30BA",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306B\u8868\u793A\u3055\u308C\u308B\u30AD\u30FC\u306E\u7BC4\u56F2\u3002MIDI\u30CE\u30FC\u30C8\u306E\u30B5\u30A4\u30BA\u306B\u5FDC\u3058\u3066\u8ABF\u6574\u3055\u308C\u307E\u3059",full:"128\u30AD\u30FC\uFF08\u5168\u4F53\uFF09",piano:"88\u30AD\u30FC\uFF08\u30D4\u30A2\u30CE\uFF09",fiveOctaves:"5\u30AA\u30AF\u30BF\u30FC\u30D6",useSongKeyRange:"\u66F2\u306E\u30AD\u30FC\u7BC4\u56F2\u3092\u4F7F\u7528",twoOctaves:"\u30AA\u30AF\u30BF\u30FC\u30D6"},toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},show:{title:"\u8868\u793A",description:"MIDI\u30AD\u30FC\u30DC\u30FC\u30C9\u3092\u8868\u793A/\u975E\u8868\u793A"}};var zw={title:"MIDI\u8A2D\u5B9A",midiInput:{title:"MIDI\u5165\u529B",description:"MIDI\u30E1\u30C3\u30BB\u30FC\u30B8\u3092\u53D7\u4FE1\u3059\u308B\u30DD\u30FC\u30C8",disabled:"\u7121\u52B9"},midiOutput:{title:"MIDI\u51FA\u529B",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u518D\u751F\u3059\u308B\u30DD\u30FC\u30C8",disabled:"SpessaSynth\u3092\u4F7F\u7528"}};var Kw={toggleButton:"\u8A2D\u5B9A",mainTitle:"\u30D7\u30ED\u30B0\u30E9\u30E0\u8A2D\u5B9A",rendererSettings:Vw,keyboardSettings:Jw,midiSettings:zw,interfaceSettings:{title:"\u30A4\u30F3\u30BF\u30FC\u30D5\u30A7\u30FC\u30B9\u8A2D\u5B9A",toggleTheme:{title:"\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u30C6\u30FC\u30DE\u3092\u5207\u308A\u66FF\u3048\u307E\u3059"},selectLanguage:{title:"\u8A00\u8A9E",description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u306E\u8A00\u8A9E\u3092\u5909\u66F4\u3057\u307E\u3059"},layoutDirection:{title:"\u30EC\u30A4\u30A2\u30A6\u30C8\u306E\u65B9\u5411",description:"\u30EC\u30F3\u30C0\u30E9\u30FC\u3068\u30AD\u30FC\u30DC\u30FC\u30C9\u306E\u30EC\u30A4\u30A2\u30A6\u30C8\u65B9\u5411",values:{downwards:"\u4E0B\u5411\u304D",upwards:"\u4E0A\u5411\u304D",leftToRight:"\u5DE6\u304B\u3089\u53F3",rightToLeft:"\u53F3\u304B\u3089\u5DE6"}}}};var Ww={toggleButton:{title:"\u97F3\u697D\u30D7\u30EC\u30A4\u30E4\u30FC\u30E2\u30FC\u30C9\u306E\u5207\u308A\u66FF\u3048",description:"\u7C21\u7565\u5316\u3055\u308C\u305FUI\u30D0\u30FC\u30B8\u30E7\u30F3\u306B\u5207\u308A\u66FF\u3048\u3001\u30AD\u30FC\u30DC\u30FC\u30C9\u3068\u30CE\u30FC\u30C8\u306E\u8996\u899A\u5316\u3092\u96A0\u3057\u307E\u3059"},currentlyPlaying:"\u518D\u751F\u4E2D:",nothingPlaying:"\u518D\u751F\u3057\u3066\u3044\u308B\u3082\u306E\u306F\u3042\u308A\u307E\u305B\u3093",nothingPlayingCopyright:"MIDI\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3057\u3066\u304F\u3060\u3055\u3044\uFF01"};var Zw={voiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u73FE\u5728\u306E\u6570"},pitchBendMeter:{title:"\u30D4\u30C3\u30C1: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30D4\u30C3\u30C1\u30D9\u30F3\u30C9"},panMeter:{title:"\u30D1\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},expressionMeter:{title:"\u30A8\u30AF\u30B9\u30D7\u30EC\u30C3\u30B7\u30E7\u30F3: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u8868\u73FE\uFF08\u97F3\u91CF\uFF09\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},volumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u97F3\u91CF\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},modulationWheelMeter:{title:"\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\u30DB\u30A4\u30FC\u30EB: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u30E2\u30B8\u30E5\u30EC\u30FC\u30B7\u30E7\u30F3\uFF08\u901A\u5E38\u306F\u30D3\u30D6\u30E9\u30FC\u30C8\uFF09\u306E\u6DF1\u3055\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},chorusMeter:{title:"\u30B3\u30FC\u30E9\u30B9: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30B3\u30FC\u30E9\u30B9\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},reverbMeter:{title:"\u30EA\u30D0\u30FC\u30D6: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u73FE\u5728\u306E\u30EA\u30D0\u30FC\u30D6\u30A8\u30D5\u30A7\u30AF\u30C8\u306E\u30EC\u30D9\u30EB\uFF08\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF\uFF09"},filterMeter:{title:"\u30D5\u30A3\u30EB\u30BF\u30FC: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306B\u9069\u7528\u3055\u308C\u3066\u3044\u308B\u30ED\u30FC\u30D1\u30B9\u30D5\u30A3\u30EB\u30BF\u30FC\u306E\u30AB\u30C3\u30C8\u30AA\u30D5\u306E\u73FE\u5728\u306E\u30EC\u30D9\u30EB (\u53F3\u30AF\u30EA\u30C3\u30AF\u3067\u30ED\u30C3\u30AF)"},transposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u73FE\u5728\u306E\u79FB\u8ABF\uFF08\u30AD\u30FC\u30B7\u30D5\u30C8\uFF09"},presetSelector:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u304C\u4F7F\u7528\u3059\u308B\u30D1\u30C3\u30C1\uFF08\u697D\u5668\uFF09\u3092\u5909\u66F4",selectionPrompt:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u697D\u5668\u3092\u5909\u66F4\u3059\u308B",searchPrompt:"\u691C\u7D22..."},presetReset:{description:"\u30D7\u30ED\u30B0\u30E9\u30E0\u5909\u66F4\u3092\u8A31\u53EF\u3059\u308B\u305F\u3081\u306B\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u306E\u30ED\u30C3\u30AF\u3092\u89E3\u9664"},soloButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u5358\u72EC\u518D\u751F"},muteButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3092\u30DF\u30E5\u30FC\u30C8/\u30DF\u30E5\u30FC\u30C8\u89E3\u9664"},drumToggleButton:{description:"\u30C1\u30E3\u30F3\u30CD\u30EB {0} \u3067\u30C9\u30E9\u30E0\u3092\u5207\u308A\u66FF\u3048"}};var jw={toggleButton:{title:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u8868\u793A"},mainVoiceMeter:{title:"\u30DC\u30A4\u30B9: ",description:"\u73FE\u5728\u518D\u751F\u4E2D\u306E\u30DC\u30A4\u30B9\u306E\u7DCF\u6570"},mainVolumeMeter:{title:"\u30DC\u30EA\u30E5\u30FC\u30E0: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30DC\u30EA\u30E5\u30FC\u30E0"},mainPanMeter:{title:"\u30D1\u30F3: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u73FE\u5728\u306E\u30DE\u30B9\u30BF\u30FC\u30B9\u30C6\u30EC\u30AA\u30D1\u30F3\u30CB\u30F3\u30B0"},mainTransposeMeter:{title:"\u30C8\u30E9\u30F3\u30B9\u30DD\u30FC\u30BA: ",description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u79FB\u8ABF\u3057\u307E\u3059\uFF08\u30BB\u30DF\u30C8\u30FC\u30F3\u307E\u305F\u306F\u30AD\u30FC\uFF09"},midiPanic:{title:"MIDI\u30D1\u30CB\u30C3\u30AF",description:"\u3059\u3079\u3066\u306E\u30DC\u30A4\u30B9\u3092\u5373\u5EA7\u306B\u505C\u6B62"},systemReset:{title:"\u30B7\u30B9\u30C6\u30E0\u30EA\u30BB\u30C3\u30C8",description:"\u3059\u3079\u3066\u306E\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3092\u30C7\u30D5\u30A9\u30EB\u30C8\u5024\u306B\u30EA\u30BB\u30C3\u30C8"},blackMidiMode:{title:"\u30D6\u30E9\u30C3\u30AFMIDI\u30E2\u30FC\u30C9",description:"\u9AD8\u6027\u80FD\u30E2\u30FC\u30C9\u3092\u5207\u308A\u66FF\u3048\u3001\u898B\u305F\u76EE\u3092\u7C21\u7D20\u5316\u3057\u3001\u30CE\u30FC\u30C8\u3092\u901F\u304F\u6D88\u53BB"},disableCustomVibrato:{title:"\u30AB\u30B9\u30BF\u30E0\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u7121\u52B9\u5316",description:"\u30AB\u30B9\u30BF\u30E0\uFF08NRPN\uFF09\u30D3\u30D6\u30E9\u30FC\u30C8\u3092\u6C38\u4E45\u306B\u7121\u52B9\u5316\u3002\u518D\u5EA6\u6709\u52B9\u5316\u3059\u308B\u306B\u306F\u30A6\u30A7\u30D6\u30B5\u30A4\u30C8\u3092\u30EA\u30ED\u30FC\u30C9"},helpButton:{title:"\u30D8\u30EB\u30D7",description:"\u4F7F\u7528\u30AC\u30A4\u30C9\u3092\u8868\u793A\u3057\u307E\u3059"},interpolation:{description:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u306E\u88DC\u9593\u65B9\u6CD5\u3092\u9078\u629E",linear:"\u30EA\u30CB\u30A2",nearestNeighbor:"\u306A\u3057"},channelController:Zw};var Xw={previousSong:"\u524D\u306E\u66F2",nextSong:"\u6B21\u306E\u66F2",loopThis:"\u3053\u306E\u66F2\u3092\u30EB\u30FC\u30D7",playPause:"\u518D\u751F/\u4E00\u6642\u505C\u6B62",lyrics:{show:"\u6B4C\u8A5E\u3092\u8868\u793A",title:"\u30C7\u30B3\u30FC\u30C9\u3055\u308C\u305F\u30C6\u30AD\u30B9\u30C8",noLyrics:"\u6B4C\u8A5E\u304C\u3042\u308A\u307E\u305B\u3093...",otherText:{title:"\u305D\u306E\u4ED6\u306E\u30C6\u30AD\u30B9\u30C8"}}};var ev={button:{title:"\u97F3\u58F0\u3092\u4FDD\u5B58",description:"\u97F3\u58F0\u3092WAV\u3001MIDI\u3001SF2\u3001\u307E\u305F\u306FRMI\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58"},formats:{title:"\u30D5\u30A9\u30FC\u30DE\u30C3\u30C8\u3092\u9078\u629E",formats:{wav:{button:{title:"WAV\u97F3\u58F0 (.wav)",description:"\u5909\u66F4\u3092\u52A0\u3048\u305F\u66F2\u3092.wav\u30AA\u30FC\u30C7\u30A3\u30AA\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"WAV\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",normalizeVolume:{title:"\u97F3\u91CF\u306E\u6B63\u898F\u5316",description:"MIDI\u306E\u97F3\u91CF\u306B\u304B\u304B\u308F\u3089\u305A\u3001\u97F3\u91CF\u3092\u4E00\u5B9A\u306B\u4FDD\u3061\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},additionalTime:{title:"\u8FFD\u52A0\u6642\u9593\uFF08\u79D2\uFF09",description:"\u97F3\u304C\u30D5\u30A7\u30FC\u30C9\u30A2\u30A6\u30C8\u3059\u308B\u305F\u3081\u306B\u66F2\u306E\u6700\u5F8C\u306B\u8FFD\u52A0\u3059\u308B\u6642\u9593\u3067\u3059\u3002\uFF08\u79D2\uFF09"},separateChannels:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5206\u5272",description:"\u5404\u30C1\u30E3\u30F3\u30CD\u30EB\u3092\u5225\u3005\u306E\u30D5\u30A1\u30A4\u30EB\u3068\u3057\u3066\u4FDD\u5B58\u3057\u307E\u3059\u3002\u30AA\u30B7\u30ED\u30B9\u30B3\u30FC\u30D7\u30D3\u30E5\u30FC\u30A2\u306A\u3069\u306B\u4FBF\u5229\u3067\u3059\u3002\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u4F7F\u7528\u3059\u308B\u3068\u30EA\u30D0\u30FC\u30D6\u3084\u30B3\u30FC\u30E9\u30B9\u304C\u7121\u52B9\u306B\u306A\u308A\u307E\u3059\u3002",saving:{title:"\u30C1\u30E3\u30F3\u30CD\u30EB\u30D5\u30A1\u30A4\u30EB",save:"\u30C1\u30E3\u30F3\u30CD\u30EB{0}\u3092\u4FDD\u5B58"}},loopCount:{title:"\u30EB\u30FC\u30D7\u56DE\u6570",description:"\u66F2\u3092\u30EB\u30FC\u30D7\u3059\u308B\u56DE\u6570"}},exportMessage:{message:"WAV\u97F3\u58F0\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u3059...",estimated:"\u6B8B\u308A\u6642\u9593:",convertWav:"WAV\u306B\u5909\u63DB\u4E2D..."}},midi:{button:{title:"MIDI (.mid)",description:"\u30B3\u30F3\u30C8\u30ED\u30FC\u30E9\u30FC\u3068\u697D\u5668\u306E\u5909\u66F4\u304C\u9069\u7528\u3055\u308C\u305FMIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"}},soundfont:{button:{title:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8 (.sf2)",description:"SoundFont2\u30D5\u30A1\u30A4\u30EB\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},options:{title:"SF\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",trim:{title:"\u30C8\u30EA\u30DF\u30F3\u30B0",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3067\u4F7F\u7528\u3055\u308C\u3066\u3044\u308B\u697D\u5668\u3068\u30B5\u30F3\u30D7\u30EB\u3060\u3051\u306B\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059"},compress:{title:"\u5727\u7E2E",description:"\u672A\u5727\u7E2E\u306E\u5834\u5408\u306F\u3001Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u30B5\u30F3\u30D7\u30EB\u3092\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u304C\u3059\u3067\u306B\u5727\u7E2E\u3055\u308C\u3066\u3044\u308B\u5834\u5408\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u3092\u7121\u52B9\u306B\u3057\u3066\u3082\u518D\u5727\u7E2E\u3055\u308C\u308B\u3053\u3068\u306F\u3042\u308A\u307E\u305B\u3093"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059"}}},rmidi:{button:{title:"\u57CB\u3081\u8FBC\u307FMIDI (.rmi)",description:"\u5909\u66F4\u3055\u308C\u305FMIDI\u3068\u30C8\u30EA\u30DF\u30F3\u30B0\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u30921\u3064\u306E\u30D5\u30A1\u30A4\u30EB\u306B\u57CB\u3081\u8FBC\u3093\u3067\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u3057\u307E\u3059\u3002\u3053\u306E\u5F62\u5F0F\u306F\u5E83\u304F\u30B5\u30DD\u30FC\u30C8\u3055\u308C\u3066\u3044\u306A\u3044\u3053\u3068\u306B\u6CE8\u610F\u3057\u3066\u304F\u3060\u3055\u3044"},progress:{title:"\u57CB\u3081\u8FBC\u307E\u308C\u305FMIDI\u3092\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u4E2D...",loading:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3068MIDI\u3092\u8AAD\u307F\u8FBC\u307F\u4E2D...",modifyingMIDI:"MIDI\u3092\u4FEE\u6B63\u4E2D...",modifyingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30C8\u30EA\u30DF\u30F3\u30B0\u4E2D...",saving:"RMIDI\u3092\u4FDD\u5B58\u4E2D...",done:"\u5B8C\u4E86\u3057\u307E\u3057\u305F\uFF01"},options:{title:"RMIDI\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8\u30AA\u30D7\u30B7\u30E7\u30F3",confirm:"\u30A8\u30AF\u30B9\u30DD\u30FC\u30C8",compress:{title:"\u5727\u7E2E",description:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092Ogg Vorbis\u306E\u30ED\u30B9\u5727\u7E2E\u3067\u5727\u7E2E\u3057\u307E\u3059\u3002\u30D5\u30A1\u30A4\u30EB\u30B5\u30A4\u30BA\u304C\u5927\u5E45\u306B\u524A\u6E1B\u3055\u308C\u307E\u3059\u3002\u63A8\u5968\u8A2D\u5B9A\u3067\u3059\u3002"},quality:{title:"\u5727\u7E2E\u54C1\u8CEA",description:"\u5727\u7E2E\u306E\u54C1\u8CEA\u3067\u3059\u3002\u9AD8\u3044\u307B\u3069\u826F\u3044\u3067\u3059\u3002"},bankOffset:{title:"\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8",description:"\u30D5\u30A1\u30A4\u30EB\u306E\u30D0\u30F3\u30AF\u30AA\u30D5\u30BB\u30C3\u30C8\u3067\u3059\u30020\u306E\u5024\u304C\u63A8\u5968\u3055\u308C\u307E\u3059\u3002\u5909\u66F4\u306F\u614E\u91CD\u306B\u884C\u3063\u3066\u304F\u3060\u3055\u3044\u3002"},adjust:{title:"MIDI\u3092\u8ABF\u6574",description:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306B\u5408\u308F\u305B\u3066\u8ABF\u6574\u3057\u307E\u3059\u3002\u7279\u5225\u306A\u7406\u7531\u304C\u306A\u3044\u9650\u308A\u3001\u3053\u306E\u30AA\u30D7\u30B7\u30E7\u30F3\u306F\u30AA\u30F3\u306E\u307E\u307E\u306B\u3057\u3066\u304F\u3060\u3055\u3044\u3002"}}}},metadata:{songTitle:{title:"\u30BF\u30A4\u30C8\u30EB:",description:"\u66F2\u306E\u30BF\u30A4\u30C8\u30EB"},album:{title:"\u30A2\u30EB\u30D0\u30E0:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0"},artist:{title:"\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8:",description:"\u66F2\u306E\u30A2\u30FC\u30C6\u30A3\u30B9\u30C8"},albumCover:{title:"\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC:",description:"\u66F2\u306E\u30A2\u30EB\u30D0\u30E0\u30AB\u30D0\u30FC"},creationDate:{title:"\u4F5C\u6210\u65E5:",description:"\u66F2\u306E\u4F5C\u6210\u65E5"},genre:{title:"\u30B8\u30E3\u30F3\u30EB:",description:"\u66F2\u306E\u30B8\u30E3\u30F3\u30EB"},comment:{title:"\u30B3\u30E1\u30F3\u30C8:",description:"\u66F2\u306E\u30B3\u30E1\u30F3\u30C8"},duration:{title:"\u9577\u3055:",description:"\u66F2\u306E\u9577\u3055"}}}};var tv={localeName:"\u65E5\u672C\u8A9E",titleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC",demoTitleMessage:"SpessaSynth: SoundFont2 Javascript \u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC \u30AA\u30F3\u30E9\u30A4\u30F3\u30C7\u30E2",synthInit:{genericLoading:"\u8AAD\u307F\u8FBC\u307F\u4E2D...",loadingSoundfont:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",loadingBundledSoundfont:"\u30D0\u30F3\u30C9\u30EB\u3055\u308C\u305F\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u8AAD\u307F\u8FBC\u3093\u3067\u3044\u307E\u3059...",startingSynthesizer:"\u30B7\u30F3\u30BB\u30B5\u30A4\u30B6\u30FC\u3092\u8D77\u52D5\u3057\u3066\u3044\u307E\u3059...",savingSoundfont:"\u518D\u5229\u7528\u306E\u305F\u3081\u306B\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u4FDD\u5B58\u3057\u3066\u3044\u307E\u3059...",noWebAudio:"\u304A\u4F7F\u3044\u306E\u30D6\u30E9\u30A6\u30B6\u306FWeb Audio\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u307E\u305B\u3093\u3002",done:"\u6E96\u5099\u5B8C\u4E86\uFF01"},midiUploadButton:"MIDI\u30D5\u30A1\u30A4\u30EB\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",exportAudio:ev,yes:"\u306F\u3044",no:"\u3044\u3044\u3048",demoSoundfontUploadButton:"\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u3092\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9",demoGithubPage:"\u30D7\u30ED\u30B8\u30A7\u30AF\u30C8\u306E\u30DA\u30FC\u30B8",demoSongButton:"\u30C7\u30E2\u30BD\u30F3\u30B0",credits:"\u30AF\u30EA\u30A8\u30A4\u30BF\u30FC",dropPrompt:"\u3053\u3053\u306B\u30D5\u30A1\u30A4\u30EB\u3092\u30C9\u30ED\u30C3\u30D7...",warnings:{noMidiSupport:"\u3053\u306E\u30D6\u30E9\u30A6\u30B6\u306FMIDI\u5165\u529B\u3092\u30B5\u30DD\u30FC\u30C8\u3057\u3066\u3044\u306A\u3044\u305F\u3081\u3001\u3053\u306E\u6A5F\u80FD\u306F\u5229\u7528\u3067\u304D\u307E\u305B\u3093\u3002Chrome\u307E\u305F\u306FFirefox\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002",outOfMemory:`\u30D6\u30E9\u30A6\u30B6\u306E\u30E1\u30E2\u30EA\u304C\u4E0D\u8DB3\u3057\u307E\u3057\u305F\u3002Firefox\u3084SF3\u30B5\u30A6\u30F3\u30C9\u30D5\u30A9\u30F3\u30C8\u306E\u4F7F\u7528\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002 \uFF08\u30A8\u30E9\u30FC\u306B\u3064\u3044\u3066\u306F\u30B3\u30F3\u30BD\u30FC\u30EB\u3092\u53C2\u7167\u3057\u3066\u304F\u3060\u3055\u3044\uFF09\u3002`,chromeMobile:`SpessaSynth\u306FChrome Mobile\u3067\u306E\u52D5\u4F5C\u304C\u826F\u304F\u3042\u308A\u307E\u305B\u3093\u3002 -\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:Kw,settings:zw,synthesizerController:Zw,sequencerController:jw};var tv={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var iv={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var rv={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var nv={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:tv,keyboardSettings:iv,midiSettings:rv,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var ov={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var sv={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var av={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente -Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:sv};var Av={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var $v={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis +\u4EE3\u308F\u308A\u306BFirefox Android\u3092\u4F7F\u7528\u3059\u308B\u3053\u3068\u3092\u691C\u8A0E\u3057\u3066\u304F\u3060\u3055\u3044\u3002`,warning:"\u6CE8\u610F"},hideTopBar:{title:"\u30C8\u30C3\u30D7\u30D0\u30FC\u3092\u96A0\u3059",description:"\u30C8\u30C3\u30D7\uFF08\u30BF\u30A4\u30C8\u30EB\uFF09\u30D0\u30FC\u3092\u96A0\u3057\u3066\u3001\u3088\u308A\u30B7\u30FC\u30E0\u30EC\u30B9\u306A\u4F53\u9A13\u3092\u63D0\u4F9B\u3057\u307E\u3059"},convertDls:{title:"DLS\u5909\u63DB",message:"DLS\u30D5\u30A1\u30A4\u30EB\u304C\u30A2\u30C3\u30D7\u30ED\u30FC\u30C9\u3055\u308C\u305F\u3088\u3046\u3067\u3059\u3002\u3053\u308C\u3092SF2\u306B\u5909\u63DB\u3057\u307E\u3059\u304B\uFF1F"},musicPlayerMode:Ww,settings:Kw,synthesizerController:jw,sequencerController:Xw};var iv={title:"Configuration de l'affichage",noteFallingTime:{title:"Temps de descente des cascades (millisecondes)",description:"D\xE9finition de la vitesse \xE0 laquelle les notes tombent sur le clavier (visuellement)"},waveformThickness:{title:"\xC9paisseur du trait des formes d'ondes (pixels)",description:"D\xE9finition de l'\xE9paisseur du trait des formes d'ondes"},waveformSampleSize:{title:"R\xE9solution des formes d'ondes",description:"D\xE9finition du niveau de d\xE9tail des formes d'ondes (note : une valeur \xE9lev\xE9e peut diminuer les performances)"},waveformAmplifier:{title:"Amplification des formes d'ondes",description:"Cette option permet d'obtenir des formes d'ondes \xE9voluant avec plus ou moins d'amplitude"},toggleWaveformsRendering:{title:"Visibilit\xE9 des formes d'ondes",description:"Active ou non le rendu des formes d'ondes (les lignes color\xE9es r\xE9agissant avec l'audio)"},toggleNotesRendering:{title:"Visibilit\xE9 des cascades",description:"Active ou non le rendu des chutes de notes sur le clavier lors de la lecture d'un fichier MIDI"},toggleDrawingActiveNotes:{title:"Visibilit\xE9 des notes actives",description:"Active ou non les lumi\xE8res lorsque les touches sont appuy\xE9es"},toggleDrawingVisualPitch:{title:"Rendu visuel du pitch bend",description:"Active ou non le glissement vers la droite ou vers la gauche des notes lorsque le pitch bend est utilis\xE9"},toggleStabilizeWaveforms:{title:"Stabilisation des formes d'ondes",description:"Active ou non la stabilisation des formes d'ondes comme sur un oscilloscope"}};var rv={title:"Configuration du clavier MIDI",selectedChannel:{title:"S\xE9lection du canal",description:"Le canal sur lequel le clavier envoie des messages",channelOption:"Canal {0}"},keyboardSize:{title:"Taille du clavier",description:"Choix de l'\xE9tendue de notes sur le clavier, ajustant la largeur des touches en cons\xE9quence",full:"128 notes (complet)",piano:"88 notes (piano)",fiveOctaves:"5 octaves",useSongKeyRange:"Utiliser l'\xE9tendue de notes du morceau",twoOctaves:"2 octaves"},toggleTheme:{title:"Th\xE8me sombre",description:"Utiliser le th\xE8me sombre du clavier MIDI"},show:{title:"Visibilit\xE9",description:"Montrer / cacher le clavier MIDI"}};var nv={title:"Configuration MIDI",midiInput:{title:"Entr\xE9e MIDI",description:"Le port \xE0 \xE9couter pour recevoir les messages MIDI",disabled:"D\xE9sactiv\xE9"},midiOutput:{title:"Sortie MIDI",description:"Le port utilis\xE9 pour jouer les fichiers MIDI",disabled:"Utilisation de SpessaSynth"}};var ov={toggleButton:"Configurations",mainTitle:"Configuration du synth\xE9tiseur",rendererSettings:iv,keyboardSettings:rv,midiSettings:nv,interfaceSettings:{title:"Configuration de l'interface",toggleTheme:{title:"Th\xE8me sombre",description:"Active ou non le th\xE8me sombre pour l'interface"},selectLanguage:{title:"Langue",description:"Change la langue de l'interface"},layoutDirection:{title:"Orientation de la mise en page",description:"Orientation du rendu des notes et du clavier",values:{downwards:"Vers le bas",upwards:"Vers le haut",leftToRight:"De gauche \xE0 droite",rightToLeft:"De droite \xE0 gauche"}}}};var sv={toggleButton:{title:"Activer / d\xE9sactiver le mode lecteur de musique",description:"Cette option permet de simplifier l'interface, en masquant le clavier et l'animation des notes"},currentlyPlaying:"Lecture en cours :",nothingPlaying:"Aucune lecture en cours",nothingPlayingCopyright:"Chargez un fichier MIDI !"};var av={voiceMeter:{title:"Voix : ",description:"Le nombre actuel de voix sur le canal {0}"},pitchBendMeter:{title:"Pitch : ",description:"La valeur actuelle du pitch bend sur le canal {0}"},panMeter:{title:"Balance : ",description:"La valeur actuelle de la panoramique st\xE9r\xE9o sur le canal {0} (clic droit pour verrouiller)"},expressionMeter:{title:"Expression : ",description:"La valeur actuelle de l'expression (force) du canal {0} (clic droit pour verrouiller)"},volumeMeter:{title:"Volume : ",description:"Le volume actuel du canal 0} (clic droit pour verrouiller)"},modulationWheelMeter:{title:"Molette de modulation : ",description:"La valeur actuelle de la quantit\xE9 de modulation (g\xE9n\xE9ralement utilis\xE9e pour le vibrato) du canal {0} (clic droit pour verrouiller)"},chorusMeter:{title:"Chorus : ",description:"Le niveau actuel de l'effet de chorus appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},reverbMeter:{title:"R\xE9verb\xE9ration : ",description:"Le niveau actuel de r\xE9verb\xE9ration appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},filterMeter:{title:"Filtre : ",description:"La hauteur actuelle du filtre passe-bas appliqu\xE9 au canal {0} (clic droit pour verrouiller)"},transposeMeter:{title:"Transposition : ",description:"La transposition actuelle (d\xE9calage de notes) du canal {0}"},presetSelector:{description:"Changer l'instrument que le canal {0} utilise",selectionPrompt:"Changer l'instrument du canal {0}",searchPrompt:"Chercher..."},presetReset:{description:"D\xE9verrouiller le canal {0} pour permettre un changement de programme"},soloButton:{description:"Solo du canal {0}"},muteButton:{description:"Rendre ou non le canal {0} muet"},drumToggleButton:{description:"Activer les percussions sur le canal {0}"}};var Av={toggleButton:{title:"Contr\xF4leurs du synth\xE9tiseur",description:"Affiche les contr\xF4leurs du synth\xE9tiseur"},mainVoiceMeter:{title:"Voix : ",description:"Le nombre total de voix jou\xE9es actuellement"},mainVolumeMeter:{title:"Volume : ",description:"Le volume global actuel du synth\xE9tiseur"},mainPanMeter:{title:"Balance : ",description:"La panoramique globale actuelle du synth\xE9tiseur"},mainTransposeMeter:{title:"Transposition : ",description:"Pour transposer le synth\xE9tiseur (en demi-tons ou notes)"},midiPanic:{title:"Panique MIDI",description:"Stoppe toutes les voix imm\xE9diatement"},systemReset:{title:"R\xE9initialisation du syst\xE8me",description:"R\xE9initialise tous les contr\xF4leurs \xE0 leur valeur par d\xE9faut"},blackMidiMode:{title:"Mode Black MIDI",description:"Active le mode haute performance, en simplifiant l'apparence g\xE9n\xE9rale et en arr\xEAtant les notes plus rapidement"},disableCustomVibrato:{title:"D\xE9sactiver le vibrato personnalis\xE9",description:`D\xE9sactive le vibrato personnalis\xE9 (NRPN) de mani\xE8re permanente +Un rechargement de la page web sera n\xE9cessaire pour le r\xE9activer`},helpButton:{title:"Aide",description:"Ouvre une page web pour afficher un guide"},interpolation:{description:"S\xE9lection de la m\xE9thode d'interpolation du synth\xE9tiseur",linear:"Interpolation lin\xE9aire",nearestNeighbor:"Aucune (valeur la plus proche)",cubic:"Interpolation cubique"},channelController:av};var $v={previousSong:"Morceau pr\xE9c\xE9dent",nextSong:"Morceau suivant",loopThis:"Lire ce morceau en boucle",playPause:"Lecture / pause",lyrics:{show:"Montrer les paroles",title:"Texte d\xE9cod\xE9",noLyrics:"Paroles indisponibles...",otherText:{title:"Autre texte"}}};var lv={button:{title:"Sauvegarder l'audio",description:"Sauvegarder la composition dans diff\xE9rents formats"},formats:{title:"Choix du format",formats:{wav:{button:{title:"Audio WAV (.wav)",description:"Exporter le morceau avec les modifications dans un fichier audio .wav"},options:{title:"Options de l'exportation WAV",confirm:"Exporter",normalizeVolume:{title:"Normaliser le volume",description:"Pour garder le volume \xE0 un niveau constant, peu importe comment est jou\xE9 le morceau MIDI (option recommand\xE9e)"},additionalTime:{title:"Dur\xE9e additionnelle (s)",description:"Dur\xE9e additionnelle \xE0 la fin du morceau pour donner le temps au son de disparaitre, en secondes"},separateChannels:{title:"S\xE9paration des canaux",description:"Pour sauvegarder chaque canal dans un fichier s\xE9par\xE9, utile par exemple pour des affichage de type oscilloscope (cette option d\xE9sactive la r\xE9verb\xE9ration et l'effet de chorus)",saving:{title:"Fichiers des canaux",save:"Sauvegarder le canal {0}"}},loopCount:{title:"Nombre de r\xE9p\xE9titions",description:"Nombre de fois que le morceau est r\xE9p\xE9t\xE9 apr\xE8s la premi\xE8re lecture"}},exportMessage:{message:"Exportation de l'audio en cours...",estimated:"Temps restant :",convertWav:"Conversion dans le format WAV..."}},midi:{button:{title:"MIDI (.mid)",description:"Exporter le fichier MIDI en incluant les modifications des contr\xF4leurs et des instruments"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exporter une banque de sons au format SoundFont2"},options:{title:"Options de l'exportation SoundFont2",confirm:"Exporter",trim:{title:"All\xE9ger",description:"Exporter la banque de sons avec seulement les instruments et \xE9chantillons utilis\xE9s par le fichier MIDI"},compress:{title:"Compresser",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier Note : si la banque de sons \xE9tait d\xE9j\xE0 compress\xE9e, cette option ne d\xE9compressera pas m\xEAme en \xE9tant d\xE9sactiv\xE9e`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"}}},rmidi:{button:{title:"MIDI embarqu\xE9 (.rmi)",description:`Exporter le fichier MIDI modifi\xE9 avec la banque de sons all\xE9g\xE9e dans un seul fichier Note : ce format n'est pas support\xE9 par tous les lecteurs MIDI`},progress:{title:"Exportation du fichier MIDI embarqu\xE9...",loading:"Chargement de la banque de sons et du fichier MIDI...",modifyingMIDI:"Modification MIDI...",modifyingSoundfont:"All\xE8gement de la banque de sons...",saving:"Cr\xE9ation du fichier RMIDI...",done:"Termin\xE9 !"},options:{title:"Options de l'exportation RMIDI",confirm:"Exporter",compress:{title:"Compression",description:`Compacter les \xE9chantillons gr\xE2ce \xE0 l'algorithme de compression avec pertes Ogg Vorbis Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand\xE9e)`},quality:{title:"Qualit\xE9 de compression",description:"La qualit\xE9 de la compression, une valeur haute augmentant la qualit\xE9 du son mais aussi le poids du fichier"},bankOffset:{title:"D\xE9calage de banque",description:`D\xE9calage des num\xE9ros de banque dans le fichier (une valeur de 0 est recommand\xE9e sauf cas particulier)`},adjust:{title:"Ajustement MIDI",description:`Ajuste le fichier MIDI \xE0 la banque de sons -(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var lv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:$v,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:ov,settings:nv,synthesizerController:av,sequencerController:Av};var cv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var gv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var uv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var hv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:cv,keyboardSettings:gv,midiSettings:uv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var dv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var fv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var Iv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var mv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:fv,effectsConfig:Iv};var pv={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Ev={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Cv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Ev,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:dv,settings:hv,synthesizerController:mv,sequencerController:pv};var KC="en",_$={en:xw,pl:Hw,ja:ev,fr:lv,pt:Cv};var HD=.2,w7=class{addSequencer;constructor(i,A,c,h,p,O,H,P){this.mode="dark",this.autoKeyRange=!1,this.renderer=h,this.midiKeyboard=p,this.midiDeviceHandler=O,this.synthui=A,this.sequi=c,this.locale=P,this.musicMode=H,this.locales=_$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U=document.createElement("div");U.style.position="relative",U.classList.add("seamless_button"),U.classList.add("settings_button"),i.appendChild(U);let W0=document.createElement("div");W0.classList.add("seamless_button"),this.locale.bindObjectProperty(W0,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(W0,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(W0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(_,"title","locale.hideTopBar.description"),i.appendChild(_);let e0=document.getElementsByClassName("show_top_button")[0];e0.innerHTML=Uy(20);let i0=document.createElement("span");this.locale.bindObjectProperty(i0,"innerText","locale.settings.toggleButton"),U.appendChild(i0);let a1=document.createElement("div");a1.innerHTML=Ny(24),a1.classList.add("gear"),U.appendChild(a1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),W0.onclick=this.toggleMusicPlayerMode.bind(this),_.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=Aw,ew(this.mainDiv);for(let f1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(f1,"textContent",f1.getAttribute("translate-path"));for(let f1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let C2=f1.getAttribute("translate-path-title");this.locale.bindObjectProperty(f1,"textContent",C2+".title"),this.locale.bindObjectProperty(f1,"title",C2+".description")}this.getHtmlControls(),document.addEventListener("keydown",f1=>{switch(f1.key.toLowerCase()){case oi.settingsShow:this.setVisibility(!this.visible);break;case oi.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(h,p,O,c,A)}):this.createHandlers(h,p,O,c,A),this.topPartVisible=!0;let _1=!1;window.addEventListener("resize",()=>{let f1=window.screen.height,C2=window.screen.width,u2=window.outerHeight,I2=window.outerWidth,K2;K2=C2===I2&&f1===u2,K2!==_1&&(_1=K2,K2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},HD*1e3)),this.visible=i}createHandlers(i,A,c,h,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,h,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};w7.prototype._toggleDarkMode=fw;w7.prototype._createInterfaceSettingsHandler=gw;w7.prototype._changeLayout=uw;w7.prototype._createRendererHandler=Iw;w7.prototype._createMidiSettingsHandler=mw;w7.prototype._createMidiInputHandler=pw;w7.prototype._createMidiOutputHandler=Ew;w7.prototype._createKeyboardHandler=aw;w7.prototype._loadSettings=$w;w7.prototype._serializeSettings=cw;w7.prototype._saveSettings=lw;var Bv=.5,YE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=` +(il est conseill\xE9 de laisser cette option activ\xE9e sauf cas particulier)`}}}},metadata:{songTitle:{title:"Titre :",description:"Le titre du morceau"},album:{title:"Album :",description:"Le nom de l'album dans lequel se trouve le morceau"},artist:{title:"Artiste :",description:"Le ou les artiste(s) du morceau"},albumCover:{title:"Pochette d'album :",description:"La pochette de l'album dans lequel se trouve le morceau"},creationDate:{title:"Date de cr\xE9ation :",description:"La date de cr\xE9ation du morceau"},genre:{title:"Genre :",description:"Le genre du morceau"},comment:{title:"Commentaire :",description:"Le commentaire li\xE9 au morceau"},duration:{title:"Dur\xE9e :",description:"La dur\xE9e du morceau"}}}};var cv={localeName:"Fran\xE7ais",titleMessage:"SpessaSynth : synth\xE9tiseur compatible SoundFont2, \xE9crit en javascript",demoTitleMessage:"SpessaSynth : d\xE9mo en ligne du synth\xE9tiseur compatible SoundFont2",synthInit:{genericLoading:"Chargement...",loadingSoundfont:"Chargement de la banque de sons...",loadingBundledSoundfont:"Chargement de la banque de sons int\xE9gr\xE9e...",startingSynthesizer:"D\xE9marrage du synth\xE9tiseur...",savingSoundfont:"Sauvegarde de la banque de sons pour une utilisation ult\xE9rieure...",noWebAudio:"Votre navigateur ne supporte pas l'audio par le web.",done:"Pr\xEAt !"},midiUploadButton:"Charger des fichiers MIDI",exportAudio:lv,yes:"Oui",no:"Non",demoSoundfontUploadButton:"Charger une banque de sons",demoGithubPage:"Page du projet",demoSongButton:"Morceau d\xE9mo",credits:"Cr\xE9dits",dropPrompt:"Rel\xE2chez les fichiers ici...",warnings:{outOfMemory:"Votre navigateur est \xE0 cours de m\xE9moire. L'usage de Firefox ou des banques de sons au format SF3 est recommand\xE9 (voir la console pour plus de d\xE9tails concernant l'erreur).",noMidiSupport:"Aucun port MIDI d\xE9tect\xE9, cette fonctionnalit\xE9 sera d\xE9sactiv\xE9e.",chromeMobile:"Les performances de SpessaSynth sont basses sur Chrome pour mobile. L'usage de Firefox est recommand\xE9.",warning:"Attention"},hideTopBar:{title:"Masquer la barre sup\xE9rieure",description:"Masquer la barre sup\xE9rieure (titre) pour offrir une meilleure exp\xE9rience"},convertDls:{title:"Conversion DLS",message:"Le fichier charg\xE9 semble \xEAtre au format DLS. Voulez-vous le convertir au format SF2 ?"},musicPlayerMode:sv,settings:ov,synthesizerController:Av,sequencerController:$v};var gv={title:"Configura\xE7\xF5es do Renderizador",noteFallingTime:{title:"Tempo de queda da nota (milissegundos)",description:"A velocidade com que as notas caem (visualmente)"},waveformThickness:{title:"Espessura da linha da forma de onda (px)",description:"A espessura das linhas da forma de onda"},waveformSampleSize:{title:"Tamanho da amostra da forma de onda",description:"O qu\xE3o detalhadas s\xE3o as formas de onda (Nota: valores altos podem impactar o desempenho)"},waveformAmplifier:{title:"Amplificador de forma de onda",description:"O qu\xE3o vibrantes s\xE3o as formas de onda"},toggleWaveformsRendering:{title:"Habilitar renderiza\xE7\xE3o de formas de onda",description:"Habilitar a renderiza\xE7\xE3o das formas de onda do canal (linhas coloridas mostrando o \xE1udio)"},toggleNotesRendering:{title:"Habilitar renderiza\xE7\xE3o de notas",description:"Habilitar a renderiza\xE7\xE3o das notas caindo ao reproduzir um arquivo MIDI"},toggleDrawingActiveNotes:{title:"Habilitar desenho de notas ativas",description:"Habilitar o destaque e o brilho das notas quando pressionadas"},toggleDrawingVisualPitch:{title:"Habilitar desenho de altura visual",description:"Habilitar o deslizamento das notas para a esquerda ou direita quando o wheel de pitch \xE9 aplicado"},toggleStabilizeWaveforms:{title:"Estabilizar formas de onda",description:"Habilitar o disparo do oscilosc\xF3pio"}};var uv={title:"Configura\xE7\xF5es do Teclado MIDI",selectedChannel:{title:"Canal selecionado",description:"O canal para o qual o teclado envia mensagens",channelOption:"Canal {0}"},keyboardSize:{title:"Tamanho do teclado",description:"A faixa de teclas mostradas no teclado. Ajusta o tamanho das notas MIDI de acordo",full:"128 teclas (completo)",piano:"88 teclas (piano)",fiveOctaves:"5 oitavas",useSongKeyRange:"Usar a faixa de notas da m\xFAsica",twoOctaves:"Duas oitavas"},toggleTheme:{title:"Usar tema escuro",description:"Usar o tema escuro do teclado MIDI"},show:{title:"Mostrar",description:"Mostrar/ocultar o teclado MIDI"}};var hv={title:"Configura\xE7\xF5es MIDI",midiInput:{title:"Entrada MIDI",description:"A porta para escutar mensagens MIDI",disabled:"Desativado"},midiOutput:{title:"Sa\xEDda MIDI",description:"A porta para reproduzir o arquivo MIDI",disabled:"Usar SpessaSynth"}};var dv={toggleButton:"Configura\xE7\xF5es",mainTitle:"Configura\xE7\xF5es do Programa",rendererSettings:gv,keyboardSettings:uv,midiSettings:hv,interfaceSettings:{title:"Configura\xE7\xF5es da Interface",toggleTheme:{title:"Usar tema escuro",description:"Ativar o tema escuro para a interface"},selectLanguage:{title:"Idioma",description:"Alterar o idioma do programa",helpTranslate:"Traduzir o SpessaSynth"},layoutDirection:{title:"Dire\xE7\xE3o do layout",description:"A dire\xE7\xE3o do layout do renderizador e do teclado",values:{downwards:"Para baixo",upwards:"Para cima",leftToRight:"Da esquerda para a direita",rightToLeft:"Da direita para a esquerda"}}}};var fv={toggleButton:{title:"Trocar o modo do reprodutor de m\xFAsica",description:"Ir para a vers\xE3o simplificada, ocultando o teclado e as visualiza\xE7\xF5es de notas"},currentlyPlaying:"Tocando agora:",nothingPlaying:"Nada est\xE1 tocando",nothingPlayingCopyright:"Envie um MIDI!"};var Iv={voiceMeter:{title:"Vozes: ",description:"A quantidade atual de vozes tocando no canal {0}"},pitchBendMeter:{title:"Pitch: ",description:"O desvio de pitch atual aplicado ao canal {0}"},panMeter:{title:"Pan: ",description:"O panning est\xE9reo atual aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},expressionMeter:{title:"Express\xE3o: ",description:"A express\xE3o (volume) atual do canal {0} (clique com o bot\xE3o direito para travar)"},volumeMeter:{title:"Volume: ",description:"O volume atual do canal {0} (clique com o bot\xE3o direito para travar)"},modulationWheelMeter:{title:"Roda de modula\xE7\xE3o: ",description:"A profundidade de modula\xE7\xE3o (geralmente vibrato) atual do canal {0} (clique com o bot\xE3o direito para travar)"},chorusMeter:{title:"Chorus: ",description:"O n\xEDvel atual do efeito de chorus aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},reverbMeter:{title:"Reverb: ",description:"O n\xEDvel atual do efeito de reverb aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},filterMeter:{title:"Filtro: ",description:"O n\xEDvel atual do corte do filtro passa-baixo aplicado ao canal {0} (clique com o bot\xE3o direito para travar)"},transposeMeter:{title:"Transposi\xE7\xE3o: ",description:"A transposi\xE7\xE3o (mudan\xE7a de tonalidade) atual do canal {0}"},presetSelector:{description:"Mudar o patch (instrumento) que o canal {0} est\xE1 usando",selectionPrompt:"Mudar instrumento para o canal {0}",searchPrompt:"Pesquisar..."},presetReset:{description:"Destravar o canal {0} para permitir altera\xE7\xF5es de programa"},soloButton:{description:"Solo no canal {0}"},muteButton:{description:"Silenciar/desmutar o canal {0}"},drumToggleButton:{description:"Alternar bateria no canal {0}"}};var mv={button:{title:"Configura\xE7\xF5es de Efeitos",description:"Configure os efeitos de chorus e reverb, al\xE9m do vibrato personalizado"},reverbConfig:{title:"Configura\xE7\xE3o do Reverb",description:"Configure o processador de reverb",impulseResponse:{title:"Resposta ao impulso",description:"Selecione a resposta ao impulso para o reverb convolver"}},chorusConfig:{title:"Configura\xE7\xE3o do Chorus",description:"Configure o processador de chorus",nodesAmount:{title:"Quantidade de n\xF3s",description:"A quantidade de n\xF3s de atraso (para cada canal est\xE9reo) a serem usados"},defaultDelay:{title:"Atraso (s)",description:"O tempo de atraso para o primeiro n\xF3 em segundos"},delayVariation:{title:"Incremento de atraso (s)",description:"A quantidade para incrementar cada n\xF3 de atraso ap\xF3s o primeiro em segundos"},stereoDifference:{title:"Diferen\xE7a est\xE9reo (s)",description:"A diferen\xE7a de atrasos entre dois canais (adicionada ao canal esquerdo e subtra\xEDda do direito)"},oscillatorFrequency:{title:"Frequ\xEAncia do LFO (Hz)",description:"A frequ\xEAncia do LFO do primeiro n\xF3 de atraso, em Hz. O LFO controla o tempo de atraso."},frequencyVariation:{title:"Incremento do LFO (Hz)",description:"A quantidade para incrementar a frequ\xEAncia de cada LFO ap\xF3s o primeiro, em Hz"},oscillatorGain:{title:"Ganho do LFO (s)",description:"Quanto o LFO alterar\xE1 o atraso nos n\xF3s de atraso, em segundos"},apply:{title:"Aplicar",description:"Aplicar as configura\xE7\xF5es selecionadas"}}};var pv={toggleButton:{title:"Controlador de Sintetizador",description:"Mostra o controlador do sintetizador"},mainVoiceMeter:{title:"Voices: ",description:"A quantidade total de vozes atualmente tocando"},mainVolumeMeter:{title:"Volume: ",description:"O volume mestre atual do sintetizador"},mainPanMeter:{title:"Pan: ",description:"A panor\xE2mica est\xE9reo mestre atual do sintetizador"},mainTransposeMeter:{title:"Transposi\xE7\xE3o: ",description:"Transp\xF5e o sintetizador (em semitons ou teclas)"},midiPanic:{title:"P\xE2nico MIDI",description:"Para todas as vozes imediatamente"},systemReset:{title:"Reiniciar Sistema",description:"Redefine todos os controladores para seus valores padr\xE3o"},blackMidiMode:{title:"Modo Black MIDI",description:"Ativa o Modo de Alto Desempenho, simplificando a apar\xEAncia e eliminando as notas mais rapidamente"},disableCustomVibrato:{title:"Desativar vibrato personalizado",description:"Desativa permanentemente o vibrato personalizado (NRPN). Recarregue o site para reativ\xE1-lo"},helpButton:{title:"Ajuda",description:"Abre um site externo com o guia de uso"},interpolation:{description:"Selecione o m\xE9todo de interpola\xE7\xE3o do sintetizador",linear:"Interpola\xE7\xE3o Linear",nearestNeighbor:"Vizinho mais pr\xF3ximo",cubic:"Interpola\xE7\xE3o C\xFAbica"},channelController:Iv,effectsConfig:mv};var Ev={previousSong:"M\xFAsica anterior",nextSong:"Pr\xF3xima m\xFAsica",loopThis:"Repetir esta m\xFAsica",playPause:"Pausar/reproduzir",lyrics:{show:"Mostrar letras",title:"Texto decodificado",noLyrics:"Sem letras dispon\xEDveis...",otherText:{title:"Outro texto"}}};var Cv={button:{title:"Salvar \xC1udio",description:"Salvar a composi\xE7\xE3o em v\xE1rios formatos"},formats:{title:"Escolher formato",formats:{wav:{button:{title:"\xC1udio WAV (.wav)",description:"Exportar a m\xFAsica com modifica\xE7\xF5es como um arquivo de \xE1udio .wav"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o WAV",confirm:"Exportar",normalizeVolume:{title:"Normalizar volume",description:"Mant\xE9m o volume no mesmo n\xEDvel, independentemente de qu\xE3o alto ou baixo est\xE1 o MIDI. Recomendado."},additionalTime:{title:"Tempo adicional (s)",description:"Tempo extra no final da m\xFAsica para o som se dissipar. (em segundos)"},separateChannels:{title:"Separar canais",description:"Salva cada canal como um arquivo separado. \xDAtil para visualizadores de oscilosc\xF3pio. Note que isto desativa reverb e chorus.",saving:{title:"Arquivos de canal",save:"Salvar canal {0}"}},loopCount:{title:"Quantidade de repeti\xE7\xF5es",description:"N\xFAmero de vezes que a m\xFAsica ser\xE1 repetida"}},exportMessage:{message:"Exportando \xE1udio WAV...",estimated:"Restante:",convertWav:"Convertendo para wav..."}},midi:{button:{title:"MIDI (.mid)",description:"Exportar o arquivo MIDI com as altera\xE7\xF5es de controlador e instrumento aplicadas"}},soundfont:{button:{title:"SoundFont (.sf2)",description:"Exportar um arquivo SoundFont2"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o SF",confirm:"Exportar",trim:{title:"Cortar",description:"Exportar o SoundFont apenas com os instrumentos e amostras utilizados pelo arquivo MIDI"},compress:{title:"Comprimir",description:"Comprimir as amostras com compress\xE3o Ogg Vorbis com perdas, se n\xE3o comprimidas. Reduz bastante o tamanho do arquivo. Se o SoundFont j\xE1 estava comprimido, n\xE3o ser\xE1 descomprimido, mesmo se esta op\xE7\xE3o estiver desativada."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor"}}},rmidi:{button:{title:"MIDI Embutido (.rmi)",description:"Exportar o MIDI modificado com o SoundFont recortado embutido como um \xFAnico arquivo. Observe que este formato n\xE3o \xE9 amplamente suportado."},progress:{title:"Exportando MIDI embutido...",loading:"Carregando SoundFont e MIDI...",modifyingMIDI:"Modificando MIDI...",modifyingSoundfont:"Cortando SoundFont...",saving:"Salvando RMIDI...",done:"Pronto!"},options:{title:"Op\xE7\xF5es de exporta\xE7\xE3o RMIDI",confirm:"Exportar",compress:{title:"Comprimir",description:"Comprimir o SoundFont com Ogg Vorbis com perdas. Reduz bastante o tamanho do arquivo. Recomendado."},quality:{title:"Qualidade da compress\xE3o",description:"A qualidade da compress\xE3o. Quanto maior, melhor."},bankOffset:{title:"Deslocamento do banco",description:"O deslocamento do banco do arquivo. Valor 0 \xE9 recomendado. Alterar somente se souber o que est\xE1 fazendo."},adjust:{title:"Ajustar MIDI",description:"Ajusta o arquivo MIDI ao SoundFont. Mantenha ativado, a menos que tenha certeza do que est\xE1 fazendo."}}}},metadata:{songTitle:{title:"T\xEDtulo:",description:"T\xEDtulo da m\xFAsica"},album:{title:"\xC1lbum:",description:"\xC1lbum da m\xFAsica"},artist:{title:"Artista:",description:"Artista da m\xFAsica"},albumCover:{title:"Capa do \xE1lbum:",description:"Capa do \xE1lbum da m\xFAsica"},creationDate:{title:"Criado em:",description:"Data de cria\xE7\xE3o da m\xFAsica"},genre:{title:"G\xEAnero:",description:"G\xEAnero da m\xFAsica"},comment:{title:"Coment\xE1rio:",description:"Coment\xE1rio da m\xFAsica"},duration:{title:"Dura\xE7\xE3o:",description:"Dura\xE7\xE3o da m\xFAsica"}}}};var Bv={localeName:"Portugu\xEAs (Brasil)",titleMessage:"SpessaSynth: Sintetizador JavaScript SoundFont2",demoTitleMessage:"SpessaSynth: Demo Online do Sintetizador JavaScript SoundFont2",synthInit:{genericLoading:"Carregando...",loadingSoundfont:"Carregando SoundFont...",loadingBundledSoundfont:"Carregando SoundFont embutida...",startingSynthesizer:"Iniciando sintetizador...",savingSoundfont:"Salvando SoundFont para reutiliza\xE7\xE3o...",noWebAudio:"Seu navegador n\xE3o suporta Web Audio.",done:"Pronto!"},midiUploadButton:"Envie seus arquivos MIDI",exportAudio:Cv,yes:"Sim",no:"N\xE3o",demoSoundfontUploadButton:"Envie a SoundFont",demoGithubPage:"P\xE1gina do projeto",demoSongButton:"M\xFAsica de demonstra\xE7\xE3o",credits:"Cr\xE9ditos",dropPrompt:"Solte os arquivos aqui...",warnings:{outOfMemory:"Seu navegador ficou sem mem\xF3ria. Tente usar o Firefox ou uma SoundFont SF3 (veja o console para detalhes).",noMidiSupport:"Nenhuma porta MIDI detectada, essa fun\xE7\xE3o ser\xE1 desativada.",chromeMobile:"SpessaSynth pode ter um desempenho reduzido no Chrome Mobile. Considere usar o Firefox para Android.",warning:"Aten\xE7\xE3o"},hideTopBar:{title:"Ocultar barra superior",description:"Oculte a barra de t\xEDtulo para uma experi\xEAncia mais imersiva"},convertDls:{title:"Convers\xE3o DLS",message:"Parece que voc\xEA enviou um arquivo DLS. Quer converter para SF2?"},musicPlayerMode:fv,settings:dv,synthesizerController:pv,sequencerController:Ev};var zC="en",_$={en:Lw,pl:Yw,ja:tv,fr:cv,pt:Bv};var HD=.2,w7=class{addSequencer;constructor(i,A,c,h,p,P,X,O){this.mode="dark",this.autoKeyRange=!1,this.renderer=h,this.midiKeyboard=p,this.midiDeviceHandler=P,this.synthui=A,this.sequi=c,this.locale=O,this.musicMode=X,this.locales=_$,this.keyboardSizes={full:{min:0,max:127},piano:{min:21,max:108},"5 octaves":{min:36,max:96},"two octaves":{min:53,max:77}};let U=document.createElement("div");U.style.position="relative",U.classList.add("seamless_button"),U.classList.add("settings_button"),i.appendChild(U);let W0=document.createElement("div");W0.classList.add("seamless_button"),this.locale.bindObjectProperty(W0,"innerText","locale.musicPlayerMode.toggleButton.title"),this.locale.bindObjectProperty(W0,"title","locale.musicPlayerMode.toggleButton.description"),i.appendChild(W0);let _=document.createElement("div");_.classList.add("seamless_button"),this.locale.bindObjectProperty(_,"innerText","locale.hideTopBar.title"),this.locale.bindObjectProperty(_,"title","locale.hideTopBar.description"),i.appendChild(_);let q=document.getElementsByClassName("show_top_button")[0];q.innerHTML=Gy(20);let t0=document.createElement("span");this.locale.bindObjectProperty(t0,"innerText","locale.settings.toggleButton"),U.appendChild(t0);let n1=document.createElement("div");n1.innerHTML=Ty(24),n1.classList.add("gear"),U.appendChild(n1),this.mainDiv=document.createElement("div"),this.mainDiv.classList.add("settings_menu"),this.visible=!1,this.animationId=-1,U.onclick=()=>this.setVisibility(!this.visible),i.appendChild(this.mainDiv),W0.onclick=this.toggleMusicPlayerMode.bind(this),_.onclick=this.hideTopPart.bind(this),this.hideOnDocClick=!0,this.mainDiv.onclick=()=>{this.hideOnDocClick=!1},document.addEventListener("click",()=>{if(!this.hideOnDocClick){this.hideOnDocClick=!0;return}this.setVisibility(!1)}),this.mainDiv.innerHTML=$w,Xy(this.mainDiv);for(let c1 of this.mainDiv.querySelectorAll("*[translate-path]"))this.locale.bindObjectProperty(c1,"textContent",c1.getAttribute("translate-path"));for(let c1 of this.mainDiv.querySelectorAll("*[translate-path-title]")){let I2=c1.getAttribute("translate-path-title");this.locale.bindObjectProperty(c1,"textContent",I2+".title"),this.locale.bindObjectProperty(c1,"title",I2+".description")}this.getHtmlControls(),document.addEventListener("keydown",c1=>{switch(c1.key.toLowerCase()){case oi.settingsShow:this.setVisibility(!this.visible);break;case oi.synthesizerUIShow:this.setVisibility(!1)}}),window.savedSettings?this._loadSettings().then(()=>{this.createHandlers(h,p,P,c,A)}):this.createHandlers(h,p,P,c,A),this.topPartVisible=!0;let S1=!1;window.addEventListener("resize",()=>{let c1=window.screen.height,I2=window.screen.width,$2=window.outerHeight,f2=window.outerWidth,K2;K2=I2===f2&&c1===$2,K2!==S1&&(S1=K2,K2?this.hideTopPart():this.showTopPart())}),document.addEventListener("fullscreenchange",()=>{document.fullscreenElement===null?this.showTopPart():this.hideTopPart()})}async toggleMusicPlayerMode(){this.musicMode.visible===!1&&this.hideTopPart(),this.musicMode.setVisibility(!this.musicMode.visible,document.getElementById("keyboard_canvas_wrapper")),this.renderer.renderBool=!this.musicMode.visible}showTopPart(){if(this.topPartVisible===!0)return;this.topPartVisible=!0;let i=document.getElementsByClassName("top_part")[0],A=document.getElementsByClassName("show_top_button")[0];i.style.display="",setTimeout(()=>{i.classList.remove("top_part_hidden")},75),A.classList.remove("shown"),A.style.display="none"}hideTopPart(){if(this.topPartVisible===!1)return;this.topPartVisible=!1;let i=document.getElementsByClassName("top_part")[0];i.classList.add("top_part_hidden"),setTimeout(()=>{i.style.display="none"},200);let A=document.getElementsByClassName("show_top_button")[0];A.style.display="flex",setTimeout(()=>{A.classList.add("shown")},75),A.onclick=this.showTopPart.bind(this)}setVisibility(i){this.animationId&&clearTimeout(this.animationId),i?(this.mainDiv.style.display="block",setTimeout(()=>{document.getElementsByClassName("top_part")[0].classList.add("settings_shown"),this.mainDiv.classList.add("settings_menu_show")},75),this.hideOnDocClick=!1):(document.getElementsByClassName("top_part")[0].classList.remove("settings_shown"),this.mainDiv.classList.remove("settings_menu_show"),this.animationId=setTimeout(()=>{this.mainDiv.style.display="none"},HD*1e3)),this.visible=i}createHandlers(i,A,c,h,p){this._createRendererHandler(i),this._createMidiSettingsHandler(c,h,p),this._createKeyboardHandler(A,p,i),this._createInterfaceSettingsHandler()}getHtmlControls(){this.htmlControls={renderer:{noteTimeSlider:document.getElementById("note_time_slider"),analyserToggler:document.getElementById("analyser_toggler"),noteToggler:document.getElementById("note_toggler"),activeNoteToggler:document.getElementById("active_note_toggler"),visualPitchToggler:document.getElementById("visual_pitch_toggler"),stabilizeWaveformsToggler:document.getElementById("stabilize_waveforms_toggler"),analyserThicknessSlider:document.getElementById("analyser_thickness_slider"),analyserFftSlider:document.getElementById("analyser_fft_slider"),waveMultiplierSlizer:document.getElementById("wave_multiplier_slider")},keyboard:{channelSelector:document.getElementById("channel_selector"),modeSelector:document.getElementById("mode_selector"),sizeSelector:document.getElementById("keyboard_size_selector"),showSelector:document.getElementById("keyboard_show")},midi:{outputSelector:document.getElementById("midi_output_selector"),inputSelector:document.getElementById("midi_input_selector")},interface:{themeSelector:document.getElementById("toggle_mode_button"),languageSelector:document.getElementById("language_selector"),layoutSelector:document.getElementById("layout_selector")}}}};w7.prototype._toggleDarkMode=Iw;w7.prototype._createInterfaceSettingsHandler=uw;w7.prototype._changeLayout=hw;w7.prototype._createRendererHandler=mw;w7.prototype._createMidiSettingsHandler=pw;w7.prototype._createMidiInputHandler=Ew;w7.prototype._createMidiOutputHandler=Cw;w7.prototype._createKeyboardHandler=Aw;w7.prototype._loadSettings=lw;w7.prototype._serializeSettings=gw;w7.prototype._saveSettings=cw;var Qv=.5,YE=class{constructor(i,A){this.mainDiv=i,this.mainDiv.innerHTML=`
- ${Gy("100%")} + ${Ny("100%")}
@@ -264,21 +264,21 @@ Ceci r\xE9duit de mani\xE8re significative le poids du fichier (option recommand
`;for(let c of this.mainDiv.querySelectorAll("*[translate-path]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path"));for(let c of this.mainDiv.querySelectorAll("*[translate-path-title]"))A.bindObjectProperty(c,"textContent",c.getAttribute("translate-path-title")+".title"),A.bindObjectProperty(c,"title",c.getAttribute("translate-path-title")+".description");this.timeoutId=-1,this.visible=!1,this.locale=A}toggleDarkMode(){this.mainDiv.getElementsByClassName("player_info_wrapper")[0].classList.toggle("light_mode")}setTitle(i){document.getElementById("player_info_title").textContent=i}connectSequencer(i){this.seq=i,this.seq.addOnSongChangeEvent(A=>{let c=A.copyright.replaceAll(` -`,""),h=(i0,a1,_1=!0)=>{let f1=document.getElementById(i0);if(a1.length>0)if(f1.parentElement.classList.remove("hidden"),f1.innerHTML="",a1.length>30&&_1){f1.classList.add("marquee");let C2=document.createElement("span");C2.textContent=a1,f1.appendChild(C2)}else f1.textContent=a1;else f1.parentElement.classList.add("hidden")};h("player_info_detail",c),h("player_info_time",y$(this.seq.duration).time),h("player_info_file_name",A.fileName,!1);let p=(i0,a1,_1,f1="")=>this.seq.midiData.RMIDInfo?.[i0]===void 0?a1:f1+_1.decode(this.seq.midiData.RMIDInfo?.[i0]).replace(/\0$/,""),O=p("IENC","ascii",new TextDecoder),H=new TextDecoder(O);h("player_info_album",p("IPRD","",H)),h("player_info_artist",p("IART","",H)),h("player_info_genre",p("IGNR","",H)),h("player_info_creation",p("ICRD","",H)+p("ICRT","",H,` -`)),h("player_info_comment",p("ICMT","",H));let P=this.mainDiv.getElementsByTagName("svg")[0],U=this.mainDiv.getElementsByTagName("img")[0],W0=document.getElementById("player_info_background_image");if(!A.isEmbedded){P.style.display="",U.style.display="none",W0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){P.style.display="",U.style.display="none",W0.style.setProperty("--bg-image","undefined");return}P.style.display="none",U.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),e0=URL.createObjectURL(_);U.src=e0,W0.style.setProperty("--bg-image",`url('${e0}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let h=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${h}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Bv*1e3)}else{let h=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${h}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Bv*1e3)}}};var VE=class{onLocaleChanged=[];constructor(i){this.locale=_$[i]||_$[KC],this.fallbackLocale=_$[KC],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,h)=>typeof A[h]<"u"?A[h]:c)}bindObjectProperty(i,A,c,h=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:h,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),h=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(h)}),this.locale=c,this._boundObjectProperties.forEach(h=>{this._applyPropertyInternal(h)}),this.onLocaleChanged.forEach(h=>h())}};function WC(n,i=!0,A=0,c={},h=void 0){let p=n.getChannelData(A),O=n.getChannelData(A+1),H=p.length,P=2,U=new j5(0),W0=Object.keys(c).length>0;if(W0){let A0=new TextEncoder,C5=[T7("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),U=k6("LIST",St(C5))}let _=new j5(0),e0=h?.end!==void 0&&h?.start!==void 0;if(e0){let A0=Math.floor(h.start*n.sampleRate),C5=Math.floor(h.end*n.sampleRate),p3=new j5(24);fi(p3,0,4),fi(p3,0,4),U8(p3,"data"),fi(p3,0,4),fi(p3,0,4),fi(p3,A0,4);let w3=new j5(24);fi(w3,1,4),fi(w3,0,4),U8(w3,"data"),fi(w3,0,4),fi(w3,0,4),fi(w3,C5,4);let m6=St([new j5([2,0,0,0]),p3,w3]);_=k6("cue ",m6)}let i0=44,a1=H*2*P,_1=i0+a1+U.length+_.length-8,f1=new Uint8Array(i0);f1.set([82,73,70,70],0),f1.set(new Uint8Array([_1&255,_1>>8&255,_1>>16&255,_1>>24&255]),4),f1.set([87,65,86,69],8),f1.set([102,109,116,32],12),f1.set([16,0,0,0],16),f1.set([1,0],20),f1.set([2,0],22);let C2=n.sampleRate;f1.set(new Uint8Array([C2&255,C2>>8&255,C2>>16&255,C2>>24&255]),24);let u2=C2*2*P;f1.set(new Uint8Array([u2&255,u2>>8&255,u2>>16&255,u2>>24&255]),28),f1.set([4,0],32),f1.set([16,0],34),f1.set([100,97,116,97],36),f1.set(new Uint8Array([a1&255,a1>>8&255,a1>>16&255,a1>>24&255]),40);let I2=new Uint8Array(_1+8),K2=i0;I2.set(f1,0);let J2=32767;if(i){let A0=p.map((C5,p3)=>Math.max(Math.abs(C5),Math.abs(O[p3]))).reduce((C5,p3)=>Math.max(C5,p3));J2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,I2[K2++]=p3&255,I2[K2++]=p3>>8&255}return W0&&(I2.set(U,K2),K2+=U.length),e0&&I2.set(_,K2),new Blob([I2.buffer],{type:"audio/wav"})}var Qv=1e3;async function yv(n=!0,i=2,A=!1,c={},h=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let p=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),O=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),H=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),P=w4(p,[{type:"text",textContent:H},{type:"progress"}],9999999,!1),U=await this.seq.getMIDI(),W0=bp(U.loop.start,U),_=bp(U.loop.end,U),e0=_-W0,i0=U.duration+i+e0*h,a1=this.context.sampleRate,_1=a1*i0,f1=new OfflineAudioContext({numberOfChannels:A?32:2,sampleRate:a1,length:_1});await f1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let C2=await this.synth.getSynthesizerSnapshot(),u2=this.soundFont,I2;try{I2=new uu(f1.destination,u2,!1,{parsedMIDI:U,snapshot:C2,oneOutput:A,loopCount:h},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(x6){throw w4(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),x6}let K2=P.div.getElementsByTagName("p")[0],J2=P.div.getElementsByClassName("notification_progress")[0],A0=Qv/1e3,C5=I2.currentTime,p3=i0,w3=.1,m6=setInterval(()=>{let x6=I2.currentTime-C5;C5=I2.currentTime;let u9=I2.currentTime/i0;J2.style.width=`${u9*100}%`;let P3=x6/A0,w6=(1-u9)/P3*i0;w6!==1/0&&(p3=w3*w6+(1-w3)*p3,K2.innerText=`${O} ${y$(p3).time}`)},Qv),v3=await f1.startRendering();if(J2.style.width="100%",clearInterval(m6),K2.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(x6=>setTimeout(x6,75)),A){let x6="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",u9=[],P3=new Set;for(let Me of U.usedChannelsOnTrack)Me.forEach(Wr=>P3.add(Wr));for(let Me=0;Me<16;Me++){let Wr=!0;for(let j7=Me;j7{let Ho=za.textContent;za.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(iC=>setTimeout(iC,75));let Tp=WC(v3,!1,Me*2),L$=`${Me+1} - ${C2.channelSnapshots[Me].patchName}.wav`;this.saveBlob(Tp,L$),za.classList.add("green_button"),za.textContent=Ho}})}let w6=w4(this.localeManager.getLocaleString(x6+"title"),u9,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});w6.div.style.width="30rem"}else{let x6=bp(U.firstNoteOn,U),u9=W0-x6,P3=_-x6,w6;h===0&&(w6={start:u9,end:P3});let Me=WC(v3,n,0,c,w6);this.saveBlob(Me,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_e(P.id),this.isExporting=!1}async function wv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(U,W0,_)=>this.seq.midiData.RMIDInfo?.[U]===void 0?W0:_.decode(this.seq.midiData.RMIDInfo?.[U]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),h=new TextDecoder(c),p=A("IPRD","",h),O=A("IART","",h),H=A("IGNR","",h),P=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:O,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:H,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:U=>{_e(U.id);let W0=U.div.querySelector("input[normalize-volume-toggle]").checked,_=U.div.querySelector("input[additional-time]").value,e0=U.div.querySelector("input[loop-count]").value,i0=U.div.querySelector("input[separate-channels-toggle]").checked,a1=U.div.querySelector("input[name='artist']").value,_1=U.div.querySelector("input[name='album']").value,f1=U.div.querySelector("input[name='song_title']").value,C2=U.div.querySelector("input[name='genre']").value,u2={artist:a1.length>0?a1:void 0,album:_1.length>0?_1:void 0,title:f1.length>0?f1:void 0,genre:C2.length>0?C2:void 0};this._doExportAudioData(W0,parseInt(_),i0,u2,parseInt(e0))}}];w4(this.localeManager.getLocaleString(n+"title"),P,9999999,!0,this.localeManager)}async function vv(){let n=await this.seq.getMIDI();Ua(n,await this.synth.getSynthesizerSnapshot());let i=ME(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function kv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,e0)=>e0>_?e0:_),c=[];for(let _=0;_{O[a1]>=i0.length||i0[O[a1]].ticks0;){let _=P(),e0=n.tracks[_];if(O[_]>=e0.length){H--;continue}let i0=e0[O[_]];if(O[_]++,i0.messageStatusByte===Z3.midiPort){U[_]=i0.messageData[0];continue}let a1=i0.messageStatusByte&240;if(a1!==Z3.noteOn&&a1!==Z3.controllerChange&&a1!==Z3.programChange&&a1!==Z3.systemExclusive)continue;let _1=(i0.messageStatusByte&15)+n.midiPortChannelOffsets[U[_]]||0,f1=c[_1];switch(a1){case Z3.programChange:f1.program=i0.messageData[0],h(f1);break;case Z3.controllerChange:if(i0.messageData[0]!==$3.bankSelect||W0==="gs"&&f1.drums)continue;let C2=i0.messageData[1],u2=Math.max(0,C2-n.bankOffset);if(W0==="xg"){let J2=C2===120||C2===126||C2===127;J2!==f1.drums?(f1.drums=J2,f1.bank=f1.drums?128:u2,h(f1)):f1.bank=f1.drums?128:u2;continue}c[_1].bank=u2;break;case Z3.noteOn:if(i0.messageData[1]===0)continue;h(f1),p[f1.string].add(`${i0.messageData[0]}-${i0.messageData[1]}`);break;case Z3.systemExclusive:if(i0.messageData[0]!==65||i0.messageData[2]!==66||i0.messageData[3]!==18||i0.messageData[4]!==64||!(i0.messageData[5]&16)||i0.messageData[6]!==21){i0.messageData[0]===67&&i0.messageData[2]===76&&i0.messageData[5]===126&&i0.messageData[6]===0&&(W0="xg");continue}let I2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][i0.messageData[5]&15]+n.midiPortChannelOffsets[U[_]],K2=!!(i0.messageData[7]>0&&i0.messageData[5]>>4);f1=c[I2],f1.drums=K2,f1.bank=K2?128:0,h(f1);break}}for(let _ of Object.keys(p))p[_].size===0&&(U5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return g9(),p}function mu(n,i){function A(h,p){let O=0;for(let H=0;H=U.min&&e0.key<=U.max&&e0.velocity>=W0.min&&e0.velocity<=W0.max){_=!0;break}_||(U5(`%c${P.sample.sampleName} %cremoved from %c${h.instrumentName}%c. Use count: %c${P.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),h.safeDeleteZone(H)&&(O++,H--,U5(`%c${P.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),P.sample.useCount<1&&n.deleteSample(P.sample))}return O}M7("%cTrimming soundfont...",C1.info);let c=kv(i,n);y8("%cModifying soundfont...",C1.info),U5("Detected keys for midi:",c);for(let h=0;h{let _=W0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),U5(`Keys for ${p.presetName}:`,P);let U=0;for(let W0=0;W0=e0.min&&_1.key<=e0.max&&_1.velocity>=i0.min&&_1.velocity<=i0.max){a1=!0;let f1=A(_.instrument,P);U5(`%cTrimmed off %c${f1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}a1||(U++,p.deleteZone(W0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),W0--)}U5(`%cTrimmed off %c${U}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),g9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" +`,""),h=(t0,n1,S1=!0)=>{let c1=document.getElementById(t0);if(n1.length>0)if(c1.parentElement.classList.remove("hidden"),c1.innerHTML="",n1.length>30&&S1){c1.classList.add("marquee");let I2=document.createElement("span");I2.textContent=n1,c1.appendChild(I2)}else c1.textContent=n1;else c1.parentElement.classList.add("hidden")};h("player_info_detail",c),h("player_info_time",y$(this.seq.duration).time),h("player_info_file_name",A.fileName,!1);let p=(t0,n1,S1,c1="")=>this.seq.midiData.RMIDInfo?.[t0]===void 0?n1:c1+S1.decode(this.seq.midiData.RMIDInfo?.[t0]).replace(/\0$/,""),P=p("IENC","ascii",new TextDecoder),X=new TextDecoder(P);h("player_info_album",p("IPRD","",X)),h("player_info_artist",p("IART","",X)),h("player_info_genre",p("IGNR","",X)),h("player_info_creation",p("ICRD","",X)+p("ICRT","",X,` +`)),h("player_info_comment",p("ICMT","",X));let O=this.mainDiv.getElementsByTagName("svg")[0],U=this.mainDiv.getElementsByTagName("img")[0],W0=document.getElementById("player_info_background_image");if(!A.isEmbedded){O.style.display="",U.style.display="none",W0.style.setProperty("--bg-image","undefined");return}if(A.RMIDInfo.IPIC===void 0){O.style.display="",U.style.display="none",W0.style.setProperty("--bg-image","undefined");return}O.style.display="none",U.style.display="";let _=new Blob([A.RMIDInfo.IPIC.buffer]),q=URL.createObjectURL(_);U.src=q,W0.style.setProperty("--bg-image",`url('${q}')`)},"player-js-song-change")}setVisibility(i,A){if(i===this.visible)return;this.visible=i,this.timeoutId&&clearTimeout(this.timeoutId);let c=this.mainDiv;if(i){A.classList.add("out_animation"),this.savedCKWrapperHeight=A.clientHeight;let h=A.clientHeight,p=A.getBoundingClientRect().top;c.style.position="absolute",c.style.top=`${p}px`,c.style.height=`${h}px`,c.style.display="flex",setTimeout(()=>{c.classList.add("player_info_show"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(async()=>{A.style.display="none",c.style.position="",c.style.top="",c.style.height="",document.body.style.overflow=""},Qv*1e3)}else{let h=c.getBoundingClientRect().top;A.style.display="",A.style.position="absolute",A.style.top=`${h}px`,A.style.height=`${this.savedCKWrapperHeight}px`,c.classList.remove("player_info_show"),setTimeout(()=>{A.classList.remove("out_animation"),document.body.style.overflow="hidden"},75),this.timeoutId=setTimeout(()=>{c.style.display="none",A.style.position="",A.style.top="",A.style.height="",document.body.style.overflow=""},Qv*1e3)}}};var VE=class{onLocaleChanged=[];constructor(i){this.locale=_$[i]||_$[zC],this.fallbackLocale=_$[zC],this.localeCode=i,this._boundObjectProperties=[]}getLocaleString(i,A=[]){let c=this._resolveLocalePath(i);return A.length>0?this._formatLocale(c,A):c}_applyPropertyInternal(i){if(i.isEdited)return;let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]=A}_validatePropertyIntegrity(i){let A=this._resolveLocalePath(i.localePath);i.formattingArguments.length>0&&(A=this._formatLocale(A,i.formattingArguments)),i.object[i.propertyName]!==A&&(i.isEdited=!0)}_formatLocale(i,A){return i.replace(/{(\d+)}/g,(c,h)=>typeof A[h]<"u"?A[h]:c)}bindObjectProperty(i,A,c,h=[]){let p={object:i,propertyName:A,localePath:c,formattingArguments:h,isEdited:!1};this._applyPropertyInternal(p),this._boundObjectProperties.push(p)}_resolveLocalePath(i,A=!1){if(!i.startsWith("locale."))throw new Error(`Invalid locale path: ${i} (it should start with "locale.")`);let c=i.split("."),h=A?this.fallbackLocale:this.locale;for(let p=1;p{this._validatePropertyIntegrity(h)}),this.locale=c,this._boundObjectProperties.forEach(h=>{this._applyPropertyInternal(h)}),this.onLocaleChanged.forEach(h=>h())}};function KC(n,i=!0,A=0,c={},h=void 0){let p=n.getChannelData(A),P=n.getChannelData(A+1),X=p.length,O=2,U=new j5(0),W0=Object.keys(c).length>0;if(W0){let A0=new TextEncoder,C5=[T7("INFO"),k6("ICMT",A0.encode("Created with SpessaSynth"),!0)];c.artist&&C5.push(k6("IART",A0.encode(c.artist),!0)),c.album&&C5.push(k6("IPRD",A0.encode(c.album),!0)),c.genre&&C5.push(k6("IGNR",A0.encode(c.genre),!0)),c.title&&C5.push(k6("INAM",A0.encode(c.title),!0)),U=k6("LIST",St(C5))}let _=new j5(0),q=h?.end!==void 0&&h?.start!==void 0;if(q){let A0=Math.floor(h.start*n.sampleRate),C5=Math.floor(h.end*n.sampleRate),p3=new j5(24);fi(p3,0,4),fi(p3,0,4),U8(p3,"data"),fi(p3,0,4),fi(p3,0,4),fi(p3,A0,4);let w3=new j5(24);fi(w3,1,4),fi(w3,0,4),U8(w3,"data"),fi(w3,0,4),fi(w3,0,4),fi(w3,C5,4);let m6=St([new j5([2,0,0,0]),p3,w3]);_=k6("cue ",m6)}let t0=44,n1=X*2*O,S1=t0+n1+U.length+_.length-8,c1=new Uint8Array(t0);c1.set([82,73,70,70],0),c1.set(new Uint8Array([S1&255,S1>>8&255,S1>>16&255,S1>>24&255]),4),c1.set([87,65,86,69],8),c1.set([102,109,116,32],12),c1.set([16,0,0,0],16),c1.set([1,0],20),c1.set([2,0],22);let I2=n.sampleRate;c1.set(new Uint8Array([I2&255,I2>>8&255,I2>>16&255,I2>>24&255]),24);let $2=I2*2*O;c1.set(new Uint8Array([$2&255,$2>>8&255,$2>>16&255,$2>>24&255]),28),c1.set([4,0],32),c1.set([16,0],34),c1.set([100,97,116,97],36),c1.set(new Uint8Array([n1&255,n1>>8&255,n1>>16&255,n1>>24&255]),40);let f2=new Uint8Array(S1+8),K2=t0;f2.set(c1,0);let J2=32767;if(i){let A0=p.map((C5,p3)=>Math.max(Math.abs(C5),Math.abs(P[p3]))).reduce((C5,p3)=>Math.max(C5,p3));J2=A0>0?32767/A0:1}for(let A0=0;A0>8&255,f2[K2++]=p3&255,f2[K2++]=p3>>8&255}return W0&&(f2.set(U,K2),K2+=U.length),q&&f2.set(_,K2),new Blob([f2.buffer],{type:"audio/wav"})}var yv=1e3;async function wv(n=!0,i=2,A=!1,c={},h=0){if(this.isExporting=!0,!this.seq)throw new Error("No sequencer active");let p=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.message"),P=manager.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.estimated"),X=manager.localeManager.getLocaleString("locale.synthInit.genericLoading"),O=w4(p,[{type:"text",textContent:X},{type:"progress"}],9999999,!1),U=await this.seq.getMIDI(),W0=bp(U.loop.start,U),_=bp(U.loop.end,U),q=_-W0,t0=U.duration+i+q*h,n1=this.context.sampleRate,S1=n1*t0,c1=new OfflineAudioContext({numberOfChannels:A?32:2,sampleRate:n1,length:S1});await c1.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let I2=await this.synth.getSynthesizerSnapshot(),$2=this.soundFont,f2;try{f2=new uu(c1.destination,$2,!1,{parsedMIDI:U,snapshot:I2,oneOutput:A,loopCount:h},{reverbEnabled:!0,chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse})}catch(x6){throw w4(this.localeManager.getLocaleString("locale.warnings.warning"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}]),x6}let K2=O.div.getElementsByTagName("p")[0],J2=O.div.getElementsByClassName("notification_progress")[0],A0=yv/1e3,C5=f2.currentTime,p3=t0,w3=.1,m6=setInterval(()=>{let x6=f2.currentTime-C5;C5=f2.currentTime;let u9=f2.currentTime/t0;J2.style.width=`${u9*100}%`;let P3=x6/A0,w6=(1-u9)/P3*t0;w6!==1/0&&(p3=w3*w6+(1-w3)*p3,K2.innerText=`${P} ${y$(p3).time}`)},yv),v3=await c1.startRendering();if(J2.style.width="100%",clearInterval(m6),K2.innerText=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(x6=>setTimeout(x6,75)),A){let x6="locale.exportAudio.formats.formats.wav.options.separateChannels.saving.",u9=[],P3=new Set;for(let Me of U.usedChannelsOnTrack)Me.forEach(Wr=>P3.add(Wr));for(let Me=0;Me<16;Me++){let Wr=!0;for(let j7=Me;j7{let Ho=za.textContent;za.textContent=this.localeManager.getLocaleString("locale.exportAudio.formats.formats.wav.exportMessage.convertWav"),await new Promise(iC=>setTimeout(iC,75));let Tp=KC(v3,!1,Me*2),L$=`${Me+1} - ${I2.channelSnapshots[Me].patchName}.wav`;this.saveBlob(Tp,L$),za.classList.add("green_button"),za.textContent=Ho}})}let w6=w4(this.localeManager.getLocaleString(x6+"title"),u9,99999999,!0,void 0,{display:"flex",flexWrap:"wrap",flexDirection:"row"});w6.div.style.width="30rem"}else{let x6=bp(U.firstNoteOn,U),u9=W0-x6,P3=_-x6,w6;h===0&&(w6={start:u9,end:P3});let Me=KC(v3,n,0,c,w6);this.saveBlob(Me,`${this.seqUI.currentSongTitle||"unnamed_song"}.wav`)}_e(O.id),this.isExporting=!1}async function vv(){if(this.isExporting)return;let n="locale.exportAudio.formats.formats.wav.options.",i="locale.exportAudio.formats.metadata.",A=(U,W0,_)=>this.seq.midiData.RMIDInfo?.[U]===void 0?W0:_.decode(this.seq.midiData.RMIDInfo?.[U]).replace(/\0$/,""),c=A("IENC","ascii",new TextDecoder),h=new TextDecoder(c),p=A("IPRD","",h),P=A("IART","",h),X=A("IGNR","",h),O=[{type:"toggle",translatePathTitle:n+"normalizeVolume",attributes:{"normalize-volume-toggle":"1",checked:"true"}},{type:"input",translatePathTitle:n+"additionalTime",attributes:{value:"2",type:"number","additional-time":"1"}},{type:"input",translatePathTitle:n+"loopCount",attributes:{value:"0",type:"number","loop-count":"1"}},{type:"toggle",translatePathTitle:n+"separateChannels",attributes:{"separate-channels-toggle":"1"}},{type:"input",translatePathTitle:i+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:i+"album",attributes:{value:p,name:"album",type:"text"}},{type:"input",translatePathTitle:i+"artist",attributes:{value:P,name:"artist",type:"text"}},{type:"input",translatePathTitle:i+"genre",attributes:{value:X,name:"genre",type:"text"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:U=>{_e(U.id);let W0=U.div.querySelector("input[normalize-volume-toggle]").checked,_=U.div.querySelector("input[additional-time]").value,q=U.div.querySelector("input[loop-count]").value,t0=U.div.querySelector("input[separate-channels-toggle]").checked,n1=U.div.querySelector("input[name='artist']").value,S1=U.div.querySelector("input[name='album']").value,c1=U.div.querySelector("input[name='song_title']").value,I2=U.div.querySelector("input[name='genre']").value,$2={artist:n1.length>0?n1:void 0,album:S1.length>0?S1:void 0,title:c1.length>0?c1:void 0,genre:I2.length>0?I2:void 0};this._doExportAudioData(W0,parseInt(_),t0,$2,parseInt(q))}}];w4(this.localeManager.getLocaleString(n+"title"),O,9999999,!0,this.localeManager)}async function kv(){let n=await this.seq.getMIDI();Ua(n,await this.synth.getSynthesizerSnapshot());let i=ME(n),A=new Blob([i],{type:"audio/mid"});this.saveBlob(A,`${this.seqUI.currentSongTitle||"unnamed_song"}.mid`)}function Sv(n,i){y8("%cSearching for all used programs and keys...",C1.info);let A=16+n.midiPortChannelOffsets.reduce((_,q)=>q>_?q:_),c=[];for(let _=0;_{P[n1]>=t0.length||t0[P[n1]].ticks0;){let _=O(),q=n.tracks[_];if(P[_]>=q.length){X--;continue}let t0=q[P[_]];if(P[_]++,t0.messageStatusByte===Z3.midiPort){U[_]=t0.messageData[0];continue}let n1=t0.messageStatusByte&240;if(n1!==Z3.noteOn&&n1!==Z3.controllerChange&&n1!==Z3.programChange&&n1!==Z3.systemExclusive)continue;let S1=(t0.messageStatusByte&15)+n.midiPortChannelOffsets[U[_]]||0,c1=c[S1];switch(n1){case Z3.programChange:c1.program=t0.messageData[0],h(c1);break;case Z3.controllerChange:if(t0.messageData[0]!==$3.bankSelect||W0==="gs"&&c1.drums)continue;let I2=t0.messageData[1],$2=Math.max(0,I2-n.bankOffset);if(W0==="xg"){let J2=I2===120||I2===126||I2===127;J2!==c1.drums?(c1.drums=J2,c1.bank=c1.drums?128:$2,h(c1)):c1.bank=c1.drums?128:$2;continue}c[S1].bank=$2;break;case Z3.noteOn:if(t0.messageData[1]===0)continue;h(c1),p[c1.string].add(`${t0.messageData[0]}-${t0.messageData[1]}`);break;case Z3.systemExclusive:if(t0.messageData[0]!==65||t0.messageData[2]!==66||t0.messageData[3]!==18||t0.messageData[4]!==64||!(t0.messageData[5]&16)||t0.messageData[6]!==21){t0.messageData[0]===67&&t0.messageData[2]===76&&t0.messageData[5]===126&&t0.messageData[6]===0&&(W0="xg");continue}let f2=[9,0,1,2,3,4,5,6,7,8,10,11,12,13,14,15][t0.messageData[5]&15]+n.midiPortChannelOffsets[U[_]],K2=!!(t0.messageData[7]>0&&t0.messageData[5]>>4);c1=c[f2],c1.drums=K2,c1.bank=K2?128:0,h(c1);break}}for(let _ of Object.keys(p))p[_].size===0&&(U5(`%cDetected change but no keys for %c${_}`,C1.info,C1.value),delete p[_]);return g9(),p}function mu(n,i){function A(h,p){let P=0;for(let X=0;X=U.min&&q.key<=U.max&&q.velocity>=W0.min&&q.velocity<=W0.max){_=!0;break}_||(U5(`%c${O.sample.sampleName} %cremoved from %c${h.instrumentName}%c. Use count: %c${O.useCount-1}`,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized),h.safeDeleteZone(X)&&(P++,X--,U5(`%c${O.sample.sampleName} %cdeleted`,C1.recognized,C1.info)),O.sample.useCount<1&&n.deleteSample(O.sample))}return P}M7("%cTrimming soundfont...",C1.info);let c=Sv(i,n);y8("%cModifying soundfont...",C1.info),U5("Detected keys for midi:",c);for(let h=0;h{let _=W0.split("-");return{key:parseInt(_[0]),velocity:parseInt(_[1])}});y8(`%cTrimming %c${p.presetName}`,C1.info,C1.recognized),U5(`Keys for ${p.presetName}:`,O);let U=0;for(let W0=0;W0=q.min&&S1.key<=q.max&&S1.velocity>=t0.min&&S1.velocity<=t0.max){n1=!0;let c1=A(_.instrument,O);U5(`%cTrimmed off %c${c1}%c zones from %c${_.instrument.instrumentName}`,C1.info,C1.recognized,C1.info,C1.recognized);break}n1||(U++,p.deleteZone(W0),_.instrument.useCount<1&&n.deleteInstrument(_.instrument),W0--)}U5(`%cTrimmed off %c${U}%c zones from %c${p.presetName}`,C1.info,C1.recognized,C1.info,C1.recognized),g9()}}n.removeUnusedElements(),n.soundFontInfo.ICMT=`NOTE: This soundfont was trimmed by SpessaSynth to only contain presets used in "${i.midiName}" -`+n.soundFontInfo.ICMT,U5("%cSoundfont modified!",C1.recognized),g9(),g9()}function Sv(){let n=4;for(let c of this.instruments)n+=c.instrumentZones.reduce((h,p)=>(p.generators=p.generators.filter(O=>O.generatorType!==m0.sampleID&&O.generatorType!==m0.keyRange&&O.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+h),0);let i=new j5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return m9(i,0),it(new y4("igen",i.length,i))}function bv(n,i,A,c,h){let p=this.samples.map((U,W0)=>{A&&U.compressSample(c,h);let _=U.getRawData();return U5(`%cEncoded sample %c${W0}. ${U.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),O=this.samples.reduce((U,W0,_)=>U+p[_].length+46,0),H=new j5(O);this.samples.forEach((U,W0)=>{let _=p[W0],e0,i0,a1=_.length;U.isCompressed?(e0=H.currentIndex,i0=e0+_.length):(e0=H.currentIndex/2,i0=e0+_.length/2,a1+=46),n.push(e0),H.set(_,H.currentIndex),H.currentIndex+=a1,i.push(i0)});let P=it(new y4("smpl",H.length,H),new j5([115,100,116,97]));return it(new y4("LIST",P.length,P))}function Dv(n,i){let c=new j5(46*(this.samples.length+1));return this.samples.forEach((h,p)=>{U8(c,h.sampleName,20);let O=n[p];m9(c,O);let H=i[p];m9(c,H);let P=h.sampleLoopStartIndex+O,U=h.sampleLoopEndIndex+O;h.isCompressed&&(P-=O,U-=O),m9(c,P),m9(c,U),m9(c,h.sampleRate),c[c.currentIndex++]=h.samplePitch,c[c.currentIndex++]=h.samplePitchCorrection,j3(c,h.sampleLink),j3(c,h.sampleType)}),U8(c,"EOS",46),it(new y4("shdr",c.length,c))}function _v(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new j5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new y4("imod",i.length,i))}function xv(){let n=this.instruments.reduce((p,O)=>O.instrumentZones.length*4+p,4),i=new j5(n),A=0,c=0,h=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let O of p.instrumentZones)O.zoneID=A,j3(i,c),j3(i,h),c+=O.generators.length,h+=O.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("ibag",i.length,i))}function Lv(){let n=this.instruments.length*22+22,i=new j5(n),A=0,c=0;for(let h of this.instruments)U8(i,h.instrumentName,20),j3(i,A),A+=h.instrumentZones.length,h.instrumentID=c,c++;return U8(i,"EOI",20),j3(i,A),it(new y4("inst",i.length,i))}function Mv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>(p.generators=p.generators.filter(O=>O.generatorType!==m0.instrument&&O.generatorType!==m0.keyRange&&O.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+h),0);let i=new j5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=h.generators.length}return j3(i,0),j3(i,0),it(new y4("pgen",i.length,i))}function Rv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new j5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new y4("pmod",i.length,i))}function Fv(){let n=this.presets.reduce((p,O)=>O.presetZones.length*4+p,4),i=new j5(n),A=0,c=0,h=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let O of p.presetZones)O.zoneID=A,j3(i,c),j3(i,h),c+=O.generators.length,h+=O.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("pbag",i.length,i))}function Tv(){let n=this.presets.length*38+38,i=new j5(n),A=0;for(let c of this.presets)U8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),m9(i,c.library),m9(i,c.genre),m9(i,c.morphology),A+=c.presetZones.length;return U8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),m9(i,0),m9(i,0),m9(i,0),it(new y4("phdr",i.length,i))}var YD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Nv(n=YD){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),U5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),U5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[K2,J2]of Object.entries(this.soundFontInfo))if(K2==="ifil"||K2==="iver"){let A0=parseInt(J2.split(".")[0]),C5=parseInt(J2.split(".")[1]),p3=new j5(4);j3(p3,A0),j3(p3,C5),i.push(it(new y4(K2,4,p3)))}else if(K2==="DMOD")i.push(it(new y4(K2,J2.length,J2)));else{let A0=new j5(J2.length);U8(A0,J2),i.push(it(new y4(K2,J2.length,A0)))}let A=St([new j5([73,78,70,79]),...i]),c=it(new y4("LIST",A.length,A));U5("%cWriting SDTA...",C1.info);let h=[],p=[],O=bv.call(this,h,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);U5("%cWriting PDTA...",C1.info),U5("%cWriting SHDR...",C1.info);let H=Dv.call(this,h,p);U5("%cWriting IGEN...",C1.info);let P=Sv.call(this);U5("%cWriting IMOD...",C1.info);let U=_v.call(this);U5("%cWriting IBAG...",C1.info);let W0=xv.call(this);U5("%cWriting INST...",C1.info);let _=Lv.call(this),e0=Mv.call(this);U5("%cWriting PMOD...",C1.info);let i0=Rv.call(this);U5("%cWriting PBAG...",C1.info);let a1=Fv.call(this);U5("%cWriting PHDR...",C1.info);let _1=Tv.call(this),f1=St([new j5([112,100,116,97]),_1,a1,i0,e0,_,W0,U,P,H]),C2=it(new y4("LIST",f1.length,f1));U5("%cWriting the output file...",C1.info);let u2=St([new j5([115,102,98,107]),c,O,C2]),I2=it(new y4("RIFF",u2.length,u2));return U5(`%cSaved succesfully! Final file size: %c${I2.length}`,C1.info,C1.recognized),g9(),I2}var Rp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var zr=class extends Rp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},pu=class extends Rp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var VD=new Set([m0.velRange,m0.keyRange,m0.instrument,m0.exclusiveClass,m0.endOper,m0.sampleModes,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.initialAttenuation,m0.fineTune,m0.coarseTune,m0.keyNumToVolEnvHold,m0.keyNumToVolEnvDecay,m0.keyNumToModEnvHold,m0.keyNumToModEnvDecay]);function Gv(n,i=!0){function A(_,e0){_.push(...e0.filter(i0=>!_.find(a1=>a1.generatorType===i0.generatorType)))}function c(_,e0){return{min:Math.max(_.min,e0.min),max:Math.min(_.max,e0.max)}}function h(_,e0){_.push(...e0.filter(i0=>!_.find(a1=>$e.isIdentical(i0,a1))))}let p=[],O=[],H=[],P={min:0,max:127},U={min:0,max:127},W0=n.presetZones.find(_=>_.isGlobal);W0&&(O.push(...W0.generators),H.push(...W0.modulators),P=W0.keyRange,U=W0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let e0=_.keyRange;_.hasKeyRange||(e0=P);let i0=_.velRange;_.hasVelRange||(i0=U);let a1=_.generators.map(A0=>new u6(A0.generatorType,A0.generatorValue));A(a1,O);let _1=[..._.modulators];h(_1,H);let f1=_.instrument.instrumentZones,C2=[],u2=[],I2={min:0,max:127},K2={min:0,max:127},J2=f1.find(A0=>A0.isGlobal);J2&&(C2.push(...J2.generators),u2.push(...J2.modulators),I2=J2.keyRange,K2=J2.velRange);for(let A0 of f1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=I2);let p3=A0.velRange;if(A0.hasVelRange||(p3=K2),C5=c(C5,e0),p3=c(p3,i0),C5.maxnew u6(P3.generatorType,P3.generatorValue));A(w3,C2);let m6=[...A0.modulators];h(m6,u2);let v3=[...m6];for(let P3 of _1){let w6=v3.findIndex(Me=>$e.isIdentical(P3,Me));w6!==-1?v3[w6]=v3[w6].sumTransform(P3):v3.push(P3)}let x6=w3.map(P3=>new u6(P3.generatorType,P3.generatorValue));for(let P3 of a1){if(P3.generatorType===m0.velRange||P3.generatorType===m0.keyRange||P3.generatorType===m0.instrument||P3.generatorType===m0.endOper||P3.generatorType===m0.sampleModes)continue;let w6=w3.findIndex(Me=>Me.generatorType===P3.generatorType);if(w6!==-1){let Me=x6[w6].generatorValue+P3.generatorValue;x6[w6]=new u6(P3.generatorType,Me)}else{let Me=Z6[P3.generatorType].def+P3.generatorValue;x6.push(new u6(P3.generatorType,Me))}}x6=x6.filter(P3=>P3.generatorType!==m0.sampleID&&P3.generatorType!==m0.keyRange&&P3.generatorType!==m0.velRange&&P3.generatorType!==m0.endOper&&P3.generatorType!==m0.instrument&&P3.generatorValue!==Z6[P3.generatorType].def);let u9=new zr;u9.keyRange=C5,u9.velRange=p3,u9.keyRange.min===0&&u9.keyRange.max===127&&(u9.keyRange.min=-1),u9.velRange.min===0&&u9.velRange.max===127&&(u9.velRange.min=-1),u9.isGlobal=!1,u9.sample=A0.sample,u9.generators=x6,u9.modulators=v3,p.push(u9)}}if(i){let _=new zr;_.isGlobal=!0;for(let a1=0;a1<58;a1++){if(VD.has(a1))continue;let _1={},f1=Z6[a1]?.def||0;_1[f1]=0;for(let C2 of p){let u2=C2.generators.find(J2=>J2.generatorType===a1);if(u2){let J2=u2.generatorValue;_1[J2]===void 0?_1[J2]=1:_1[J2]++}else _1[f1]++;let I2;switch(a1){default:continue;case m0.decayVolEnv:I2=m0.keyNumToVolEnvDecay;break;case m0.holdVolEnv:I2=m0.keyNumToVolEnvHold;break;case m0.decayModEnv:I2=m0.keyNumToModEnvDecay;break;case m0.holdModEnv:I2=m0.keyNumToModEnvHold}if(C2.generators.find(J2=>J2.generatorType===I2)!==void 0){_1={};break}}if(Object.keys(_1).length>0){let C2=Object.entries(_1).reduce((I2,K2)=>I2[1]{let K2=I2.generators.findIndex(J2=>J2.generatorType===a1);K2!==-1?I2.generators[K2].generatorValue===u2&&I2.generators.splice(K2,1):u2!==f1&&I2.generators.push(new u6(a1,f1))})}}let i0=p.find(a1=>!a1.isGlobal).modulators.map(a1=>$e.copy(a1));for(let a1 of i0){let _1=!0;for(let f1 of p){if(f1.isGlobal||!_1)continue;f1.modulators.find(u2=>$e.isIdentical(u2,a1))||(_1=!1)}if(_1===!0){_.modulators.push($e.copy(a1));for(let f1 of p){let C2=f1.modulators.find(u2=>$e.isIdentical(u2,a1));C2.transformAmount===a1.transformAmount&&f1.modulators.splice(f1.modulators.indexOf(C2),1)}}}p.splice(0,0,_)}return p}var Uv=20;function JE(n,i,A,c,h,p,O){let H=O===0?0:1,P=new j5(Uv+H*16);m9(P,Uv),j3(P,i),j3(P,A);let U=c*.4,W0=Math.floor(U*-65536);m9(P,W0),m9(P,0);let _=p-h,e0=0;switch(O){default:case 0:H=0;break;case 1:e0=0,H=1;break;case 3:e0=1,H=1}return m9(P,H),H===1&&(m9(P,16),m9(P,e0),m9(P,h),m9(P,_)),k6("wsmp",P)}var I6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258};var R5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Fp=class{source;control;destination;scale;transform;constructor(i,A,c,h,p){this.source=i,this.control=A,this.destination=c,this.scale=h,this.transform=p}writeArticulator(){let i=new j5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),m9(i,this.scale<<16),i}};function Pv(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return I6.modulationWheel;case $3.mainVolume:return I6.volume;case $3.pan:return I6.pan;case $3.expressionController:return I6.expression;case $3.chorusDepth:return I6.chorus;case $3.reverbDepth:return I6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return I6.keyNum;case q4.noteOnVelocity:return I6.velocity;case q4.noController:return I6.none;case q4.polyPressure:return I6.polyPressure;case q4.channelPressure:return I6.channelPressure;case q4.pitchWheel:return I6.pitchWheel;case q4.pitchWheelRange:return I6.pitchWheelRange}}function Ov(n,i){switch(n){default:return;case m0.initialAttenuation:return{dest:R5.gain,amount:-i};case m0.fineTune:return R5.pitch;case m0.pan:return R5.pan;case m0.keyNum:return R5.keyNum;case m0.reverbEffectsSend:return R5.reverbSend;case m0.chorusEffectsSend:return R5.chorusSend;case m0.freqModLFO:return R5.modLfoFreq;case m0.delayModLFO:return R5.modLfoDelay;case m0.delayVibLFO:return R5.vibLfoDelay;case m0.freqVibLFO:return R5.vibLfoFreq;case m0.delayVolEnv:return R5.volEnvDelay;case m0.attackVolEnv:return R5.volEnvAttack;case m0.holdVolEnv:return R5.volEnvHold;case m0.decayVolEnv:return R5.volEnvDecay;case m0.sustainVolEnv:return{dest:R5.volEnvSustain,amount:1e3-i};case m0.releaseVolEnv:return R5.volEnvRelease;case m0.delayModEnv:return R5.modEnvDelay;case m0.attackModEnv:return R5.modEnvAttack;case m0.holdModEnv:return R5.modEnvHold;case m0.decayModEnv:return R5.modEnvDecay;case m0.sustainModEnv:return{dest:R5.modEnvSustain,amount:1e3-i};case m0.releaseModEnv:return R5.modEnvRelease;case m0.initialFilterFc:return R5.filterCutoff;case m0.initialFilterQ:return R5.filterQ}}function qv(n,i){switch(n){default:return;case m0.modEnvToFilterFc:return{source:I6.modEnv,dest:R5.filterCutoff,amt:i,isBipolar:!1};case m0.modEnvToPitch:return{source:I6.modEnv,dest:R5.pitch,amt:i,isBipolar:!1};case m0.modLfoToFilterFc:return{source:I6.modLfo,dest:R5.filterCutoff,amt:i,isBipolar:!0};case m0.modLfoToVolume:return{source:I6.modLfo,dest:R5.gain,amt:i,isBipolar:!0};case m0.modLfoToPitch:return{source:I6.modLfo,dest:R5.pitch,amt:i,isBipolar:!0};case m0.vibLfoToPitch:return{source:I6.vibratoLfo,dest:R5.pitch,amt:i,isBipolar:!0};case m0.keyNumToVolEnvHold:return{source:I6.keyNum,dest:R5.volEnvHold,amt:i,isBipolar:!0};case m0.keyNumToVolEnvDecay:return{source:I6.keyNum,dest:R5.volEnvDecay,amt:i,isBipolar:!0};case m0.keyNumToModEnvHold:return{source:I6.keyNum,dest:R5.modEnvHold,amt:i,isBipolar:!0};case m0.keyNumToModEnvDecay:return{source:I6.keyNum,dest:R5.modEnvDecay,amt:i,isBipolar:!0};case m0.scaleTuning:return{source:I6.keyNum,dest:R5.pitch,amt:i*128,isBipolar:!1}}}function Hv(n){let i=Ov(n.generatorType,n.generatorValue),A=i,c=0,h=n.generatorValue;i?.amount!==void 0&&(h=i.amount,A=i.dest);let p=qv(n.generatorType,n.generatorValue);if(p!==void 0)h=p.amt,A=p.dest,c=p.source;else if(A===void 0){T9(`Invalid generator type: ${n.generatorType}`);return}return new Fp(c,0,A,h,0)}function Yv(n){if(n.transformType!==0){T9("Other transform types are not supported.");return}let i=Pv(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,h=n.sourceDirection;if(i===void 0){T9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}let p=Pv(n.secSrcUsesCC,n.secSrcIndex),O=n.secSrcCurveType,H=n.secSrcPolarity,P=n.secSrcDirection;if(p===void 0){T9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let U=Ov(n.modulatorDestination,n.transformAmount),W0=U,_=n.transformAmount;U?.dest!==void 0&&(W0=U.dest,_=U.amount);let e0=qv(n.modulatorDestination,n.transformAmount);if(e0!==void 0)_=e0.amt,p=i,O=A,H=c,P=h,A=Z7.linear,c=e0.isBipolar?1:0,h=0,i=e0.source,W0=e0.dest;else if(W0===void 0){T9(`Invalid destination: ${n.modulatorDestination}`);return}let i0=0;return i0|=O<<4,i0|=H<<8,i0|=P<<9,i0|=A<<10,i0|=c<<14,i0|=h<<15,new Fp(i,p,W0,_,i0)}var JD=new Set([m0.sampleModes,m0.initialAttenuation,m0.keyRange,m0.velRange,m0.sampleID,m0.fineTune,m0.coarseTune,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.overridingRootKey,m0.exclusiveClass]);function zE(n){for(let p=0;pa1.generatorType===H);if(P===void 0)continue;let U=O.generatorValue*-128,W0=60/128*U,_=P.generatorValue-W0,e0=n.generators.indexOf(O),i0=n.generators.indexOf(P);n.generators[i0]=new u6(H,_,!1),n.generators[e0]=new u6(O.generatorType,U,!1)}let i=n.generators.reduce((p,O)=>{if(JD.has(O.generatorType))return p;let H=Hv(O);return H!==void 0?(p.push(H),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,O)=>{let H=Yv(O);return H!==void 0?(p.push(H),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new j5(8);m9(c,8),m9(c,i.length);let h=i.map(p=>p.writeArticulator());return k6("art2",St([c,...h]))}function Vv(n,i){let A=new j5(14);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(m0.exclusiveClass,0);j3(A,c),j3(A,0);let h=k6("rgnh",A),p=n.getGeneratorValue(m0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(m0.scaleTuning,i.getGeneratorValue(m0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let H=JE(n.sample,p,n.getGeneratorValue(m0.fineTune,0)+n.getGeneratorValue(m0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(m0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(m0.startloopAddrsOffset,0)+n.getGeneratorValue(m0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(m0.endloopAddrsOffset,0)+n.getGeneratorValue(m0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(m0.sampleModes,0)),P=new j5(12);j3(P,0),j3(P,0);let U=0;switch(n.sample.sampleType){default:case 1:case 4:U=0;break;case 2:U=1}m9(P,U),m9(P,this.samples.indexOf(n.sample));let W0=k6("wlnk",P),_=zE(n),e0=k6("lar2",_,!1,!0);return k6("rgn2",St([h,H,W0,e0]),!1,!0)}function Jv(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=Gv(n),A=i.reduce((e0,i0)=>i0.isGlobal?e0:e0+1,0),c=new j5(12);m9(c,A);let h=(n.bank&127)<<8;n.bank===128&&(h|=1<<31),m9(c,h),m9(c,n.program&127);let p=k6("insh",c),O=new j5(0),H=i.find(e0=>e0.isGlobal===!0);if(H){let e0=zE(H);O=k6("lar2",e0,!1,!0)}let P=St(i.reduce((e0,i0)=>(i0.isGlobal||e0.push(Vv.apply(this,[i0,H])),e0),[])),U=k6("lrgn",P,!1,!0),W0=k6("INAM",T7(n.presetName)),_=k6("INFO",W0,!1,!0);return g9(),k6("ins ",St([p,U,O,_]),!1,!0)}function zv(){let n=St(this.presets.map(i=>Jv.apply(this,[i])));return k6("lins",n,!1,!0)}function Kv(n){let i=new j5(18);j3(i,1),j3(i,1),m9(i,n.sampleRate),m9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=JE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,1),h=n.getAudioData(),p;if(n.isCompressed){let P=new Int16Array(h.length);for(let U=0;U{let h=Kv(c);return i.push(n),n+=h.length,h});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function Zv(){y8("%cSaving DLS...",C1.info);let n=new j5(4);m9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=zv.apply(this);U5("%cSuccess!",C1.recognized),g9(),y8("%cWriting WAVE samples...",C1.info);let c=Wv.apply(this),h=c.data,p=c.indexes;U5("%cSucceeded!",C1.recognized),g9();let O=new j5(8+4*p.length);m9(O,8),m9(O,p.length);for(let _ of p)m9(O,_);let H=k6("ptbl",O);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` -Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let P=[];for(let[_,e0]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||P.push(k6(_,T7(e0)));let U=k6("INFO",St(P),!1,!0),W0=new j5(i.length+A.length+H.length+h.length+U.length+4);return U8(W0,"DLS "),W0.set(St([i,A,H,h,U]),4),U5("%cSaved succesfully!",C1.recognized),g9(),k6("RIFF",W0)}var Ya=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=wE.map(A=>$e.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(O=>O.bank===p.bank&&O.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let h=this.presets.find(p=>p.bank===i&&p.program===A);if(h)return h;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(h=>h.bank===i&&h.program===A);return c||(i===128?(c=this.presets.find(h=>h.bank===128&&h.program===A),c||(c=this.presets.find(h=>h.bank===128))):c=this.presets.find(h=>h.program===A&&h.bank!==128),c&&T9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(T9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(T9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Ya.prototype.write=Nv;Ya.prototype.writeDLS=Zv;function jv(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function h(i0,a1){return a1>=i0.min&&a1<=i0.max}function p(i0,a1){i0.push(...a1.filter(_1=>!i0.find(f1=>f1.generatorType===_1.generatorType)))}function O(i0,a1){i0.push(...a1.filter(_1=>!i0.find(f1=>$e.isIdentical(_1,f1))))}let H=[],P=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],W0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(i0=>h(i0.hasKeyRange?i0.keyRange:W0,i)&&h(i0.hasVelRange?i0.velRange:_,A)&&!i0.isGlobal).forEach(i0=>{if(i0.instrument.instrumentZones.length<1)return;let a1=i0.generators,_1=i0.modulators,f1=i0.instrument.instrumentZones[0],C2=f1.isGlobal?[...f1.generators]:[],u2=f1.isGlobal?[...f1.modulators]:[],I2=f1.isGlobal?f1.keyRange:{min:0,max:127},K2=f1.isGlobal?f1.velRange:{min:0,max:127};i0.instrument.instrumentZones.filter(A0=>h(A0.hasKeyRange?A0.keyRange:I2,i)&&h(A0.hasVelRange?A0.velRange:K2,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],p3=[...A0.modulators];p(a1,P),p(C5,C2),O(_1,U),O(p3,u2),O(p3,this.defaultModulators);let w3=[...p3];for(let m6=0;m6<_1.length;m6++){let v3=_1[m6],x6=w3.findIndex(u9=>$e.isIdentical(v3,u9));x6!==-1?w3[x6]=w3[x6].sumTransform(v3):w3.push(v3)}H.push({instrumentGenerators:C5,presetGenerators:a1,modulators:w3,sample:A0.sample,sampleID:A0.generators.find(m6=>m6.generatorType===m0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=H,H}};var Cu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var KE=class extends Eu{constructor(i,A){super(wE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Cu,this.DLSInstrument.addUseCount();let h=new pu;h.instrument=this.DLSInstrument,this.presetZones=[h]}};function Xv(n){this.verifyHeader(n,"LIST"),this.verifyText(Q4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(i0=>i0.header==="insh");if(!A)throw g9(),new Error("No instrument header!");let c=s3(A.chunkData,4),h=s3(A.chunkData,4),p=s3(A.chunkData,4),O=new KE(h,p),H="unnamedPreset",P=N7(i,"INFO");if(P){let i0=Be(P.chunkData);for(;i0.header!=="INAM";)i0=Be(P.chunkData);H=Q4(i0.chunkData,i0.chunkData.length).trim()}O.presetName=H,O.DLSInstrument.instrumentName=H,M7(`%cParsing %c"${H}"%c...`,C1.info,C1.recognized,C1.info);let U=N7(i,"lrgn");if(!U)throw g9(),new Error("No region list!");let W0=new zr;W0.isGlobal=!0;let _=N7(i,"lart"),e0=N7(i,"lar2");(e0!==void 0||_!==void 0)&&this.readLart(_,e0,W0),W0.generators=W0.generators.filter(i0=>i0.generatorValue!==Z6[i0.generatorType].def),W0.modulators.find(i0=>i0.modulatorDestination===m0.reverbEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),W0.modulators.find(i0=>i0.modulatorDestination===m0.chorusEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),O.DLSInstrument.instrumentZones.push(W0);for(let i0=0;i0>10&15;u2===Z7.linear&&C2!==Z7.linear&&(u2=C2);let I2=c>>14&1,K2=c>>15&1;O===m0.initialAttenuation&&h<0&&(K2=1),e0=Yr(u2,I2,K2,H.isCC,H.enum)}let i0=c>>4&15,a1=c>>8&1,_1=c>>9&1,f1=Yr(i0,a1,_1,_.isCC,_.enum);if(P){let C2=f1;f1=e0,e0=C2}return new $e({srcEnum:e0,secSrcEnum:f1,dest:O,transform:0,amt:W0})}function ZC(n,i){let A=n.chunkData,c=[],h=[];s3(A,4);let p=s3(A,4);for(let O=0;O>16;if(H===0&&P===0&&W0===0){let i0;switch(U){case R5.pan:i0=new u6(m0.pan,e0);break;case R5.gain:i0=new u6(m0.initialAttenuation,-e0*10/.4);break;case R5.filterCutoff:i0=new u6(m0.initialFilterFc,e0);break;case R5.filterQ:i0=new u6(m0.initialFilterQ,e0);break;case R5.modLfoFreq:i0=new u6(m0.freqModLFO,e0);break;case R5.modLfoDelay:i0=new u6(m0.delayModLFO,e0);break;case R5.vibLfoFreq:i0=new u6(m0.freqVibLFO,e0);break;case R5.vibLfoDelay:i0=new u6(m0.delayVibLFO,e0);break;case R5.volEnvDelay:i0=new u6(m0.delayVolEnv,e0);break;case R5.volEnvAttack:i0=new u6(m0.attackVolEnv,e0);break;case R5.volEnvHold:i0=new u6(m0.holdVolEnv,e0,!1);break;case R5.volEnvDecay:i0=new u6(m0.decayVolEnv,e0,!1);break;case R5.volEnvRelease:i0=new u6(m0.releaseVolEnv,e0);break;case R5.volEnvSustain:let a1=1e3-e0;i0=new u6(m0.sustainVolEnv,a1);break;case R5.modEnvDelay:i0=new u6(m0.delayModEnv,e0);break;case R5.modEnvAttack:i0=new u6(m0.attackModEnv,e0);break;case R5.modEnvHold:i0=new u6(m0.holdModEnv,e0,!1);break;case R5.modEnvDecay:i0=new u6(m0.decayModEnv,e0,!1);break;case R5.modEnvRelease:i0=new u6(m0.releaseModEnv,e0);break;case R5.modEnvSustain:let _1=1e3-e0;i0=new u6(m0.sustainModEnv,_1);break;case R5.reverbSend:i0=new u6(m0.reverbEffectsSend,e0);break;case R5.chorusSend:i0=new u6(m0.chorusEffectsSend,e0);break;case R5.pitch:let f1=Math.floor(e0/100),C2=Math.floor(e0-f1*100);i0=new u6(m0.fineTune,C2),c.push(new u6(m0.coarseTune,f1));break}i0&&c.push(i0)}else{let i0=!0;if(P===I6.none)if(H===I6.modLfo&&U===R5.pitch)c.push(new u6(m0.modLfoToPitch,e0));else if(H===I6.modLfo&&U===R5.gain)c.push(new u6(m0.modLfoToVolume,e0));else if(H===I6.modLfo&&U===R5.filterCutoff)c.push(new u6(m0.modLfoToFilterFc,e0));else if(H===I6.vibratoLfo&&U===R5.pitch)c.push(new u6(m0.vibLfoToPitch,e0));else if(H===I6.modEnv&&U===R5.pitch)c.push(new u6(m0.modEnvToPitch,e0));else if(H===I6.modEnv&&U===R5.filterCutoff)c.push(new u6(m0.modEnvToFilterFc,e0));else if(H===I6.keyNum&&U===R5.pitch)c.push(new u6(m0.scaleTuning,e0/128));else if(H===I6.keyNum&&U===R5.volEnvHold){c.push(new u6(m0.keyNumToVolEnvHold,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.holdVolEnv&&(_1.generatorValue+=a1)})}else if(H===I6.keyNum&&U===R5.volEnvDecay){c.push(new u6(m0.keyNumToVolEnvDecay,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.decayVolEnv&&(_1.generatorValue+=a1)})}else if(H===I6.keyNum&&U===R5.modEnvHold){c.push(new u6(m0.keyNumToModEnvHold,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.holdModEnv&&(_1.generatorValue+=a1)})}else if(H===I6.keyNum&&U===R5.modEnvDecay){c.push(new u6(m0.keyNumToModEnvDecay,e0/-128));let a1=Math.round(60/128*e0);c.forEach(_1=>{_1.generatorType===m0.decayModEnv&&(_1.generatorValue+=a1)})}else i0=!1;else i0=!1;if(i0===!1){let a1=tk(H,P,U,W0,e0);a1?(h.push(a1),U5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):T9("Failed converting to SF2 Modulator!")}}}return i&&h.push(new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:h,generators:c}}function ik(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),h=s3(A.chunkData,2),p=s3(A.chunkData,2),O=s3(A.chunkData,2),H=new WE({min:c,max:h},{min:p,max:O});s3(A.chunkData,2);let P=s3(A.chunkData,2);P!==0&&H.generators.push(new u6(m0.exclusiveClass,P));let U=N7(i,"lart"),W0=N7(i,"lar2");this.readLart(U,W0,H),H.isGlobal=!1;let _=i.find(p3=>p3.header==="wsmp");s3(_.chunkData,4);let e0=s3(_.chunkData,2),i0=Ga(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),_1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let f1=s3(_.chunkData,4),C2,u2={start:0,end:0};if(f1===0)C2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?C2=1:C2=3,u2.start=s3(_.chunkData,4);let w3=s3(_.chunkData,4);u2.end=u2.start+w3}let I2=i.find(p3=>p3.header==="wlnk");if(I2===void 0)return;s3(I2.chunkData,2),s3(I2.chunkData,2),s3(I2.chunkData,4);let K2=s3(I2.chunkData,4),J2=this.samples[K2];if(J2===void 0)throw new Error("Invalid sample ID!");let C5=(_1||J2.sampleDbAttenuation)*10/.4;return H.setWavesample(C5,C2,u2,e0,J2,K2,i0),H}var Bu=class{constructor(i,A,c,h,p,O,H,P){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=h,this.sampleLink=p,this.sampleType=O,this.sampleLoopStartIndex=H,this.sampleLoopEndIndex=P,this.isCompressed=(O&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{T9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var ZE=class extends Bu{sampleDbAttenuation;sampleData;constructor(i,A,c,h,p,O,H,P){super(i,A,c,h,0,1,p,O),this.sampleData=H,this.sampleDbAttenuation=P}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var nk={PCM:1,ALAW:6};function WD(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),h,p=!1;i===1?(h=255,p=!0):h=A;let O=n.size/i,H=new Float32Array(O);for(let P=0;P=A&&(U-=c),H[P]=U/h)}return H}function ZD(n,i){let A=n.size/i,c=new Float32Array(A);for(let h=0;h>4,P=O&15;H>0&&(P+=16),P=(P<<4)+8,H>1&&(P=P<127?P:-P;c[h]=U/32678}return c}function ok(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexJ2.header==="fmt ");if(!h)throw new Error("No fmt chunk in the wave file!");let p=s3(h.chunkData,2),O=s3(h.chunkData,2);if(O!==1)throw new Error(`Only mono samples are supported. Fmt reports ${O} channels`);let H=s3(h.chunkData,4);s3(h.chunkData,4),s3(h.chunkData,2);let U=s3(h.chunkData,2)/8,W0=!1,_=c.find(J2=>J2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let e0;switch(p){default:W0=!0,e0=new Float32Array(_.size/U);break;case nk.PCM:e0=WD(_,U);break;case nk.ALAW:e0=ZD(_,U);break}let i0=N7(c,"INFO"),a1=`Unnamed ${i}`;if(i0){let J2=Be(i0.chunkData);for(;J2.header!=="INAM"&&i0.chunkData.currentIndexJ2.header==="wsmp");if(K2){s3(K2.chunkData,4),_1=s3(K2.chunkData,2),f1=Ga(K2.chunkData[K2.chunkData.currentIndex++],K2.chunkData[K2.chunkData.currentIndex++]);let J2=Math.trunc(f1/100);if(_1+=J2,f1-=J2*100,I2=(s3(K2.chunkData,4)|0)/-655360,s3(K2.chunkData,4),s3(K2.chunkData,4)===1){s3(K2.chunkData,8),C2=s3(K2.chunkData,4);let p3=s3(K2.chunkData,4);u2=C2+p3}}else T9("No wsmp chunk in wave... using sane defaults.");W0&&console.error(`Failed to load '${a1}': Unsupported format: (${p})`),this.samples.push(new ZE(a1,H,_1,f1,C2,u2,e0,I2)),i++,U5(`%cLoaded sample %c${a1}`,C1.info,C1.recognized)}g9()}var qo=class extends Ya{constructor(i){super(),this.dataArray=new j5(i),M7("%cParsing DLS...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let A=Be(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(Q4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndex(p.generators=p.generators.filter(P=>P.generatorType!==m0.sampleID&&P.generatorType!==m0.keyRange&&P.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.sampleID,generatorValue:this.samples.indexOf(p.sample)}),p.generators.length*4+h),0);let i=new j5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue),A++}return m9(i,0),it(new y4("igen",i.length,i))}function Dv(n,i,A,c,h){let p=this.samples.map((U,W0)=>{A&&U.compressSample(c,h);let _=U.getRawData();return U5(`%cEncoded sample %c${W0}. ${U.sampleName}%c of %c${this.samples.length}`,C1.info,C1.recognized,C1.info,C1.recognized),_}),P=this.samples.reduce((U,W0,_)=>U+p[_].length+46,0),X=new j5(P);this.samples.forEach((U,W0)=>{let _=p[W0],q,t0,n1=_.length;U.isCompressed?(q=X.currentIndex,t0=q+_.length):(q=X.currentIndex/2,t0=q+_.length/2,n1+=46),n.push(q),X.set(_,X.currentIndex),X.currentIndex+=n1,i.push(t0)});let O=it(new y4("smpl",X.length,X),new j5([115,100,116,97]));return it(new y4("LIST",O.length,O))}function _v(n,i){let c=new j5(46*(this.samples.length+1));return this.samples.forEach((h,p)=>{U8(c,h.sampleName,20);let P=n[p];m9(c,P);let X=i[p];m9(c,X);let O=h.sampleLoopStartIndex+P,U=h.sampleLoopEndIndex+P;h.isCompressed&&(O-=P,U-=P),m9(c,O),m9(c,U),m9(c,h.sampleRate),c[c.currentIndex++]=h.samplePitch,c[c.currentIndex++]=h.samplePitchCorrection,j3(c,h.sampleLink),j3(c,h.sampleType)}),U8(c,"EOS",46),it(new y4("shdr",c.length,c))}function xv(){let n=10;for(let c of this.instruments)n+=c.instrumentZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new j5(n),A=0;for(let c of this.instruments)for(let h of c.instrumentZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new y4("imod",i.length,i))}function Lv(){let n=this.instruments.reduce((p,P)=>P.instrumentZones.length*4+p,4),i=new j5(n),A=0,c=0,h=0;for(let p of this.instruments){p.instrumentZoneIndex=A;for(let P of p.instrumentZones)P.zoneID=A,j3(i,c),j3(i,h),c+=P.generators.length,h+=P.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("ibag",i.length,i))}function Mv(){let n=this.instruments.length*22+22,i=new j5(n),A=0,c=0;for(let h of this.instruments)U8(i,h.instrumentName,20),j3(i,A),A+=h.instrumentZones.length,h.instrumentID=c,c++;return U8(i,"EOI",20),j3(i,A),it(new y4("inst",i.length,i))}function Rv(){let n=4;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>(p.generators=p.generators.filter(P=>P.generatorType!==m0.instrument&&P.generatorType!==m0.keyRange&&P.generatorType!==m0.velRange),(p.velRange.max!==127||p.velRange.min!==0)&&p.generators.unshift({generatorType:m0.velRange,generatorValue:p.velRange.max<<8|Math.max(p.velRange.min,0)}),(p.keyRange.max!==127||p.keyRange.min!==0)&&p.generators.unshift({generatorType:m0.keyRange,generatorValue:p.keyRange.max<<8|Math.max(p.keyRange.min,0)}),p.isGlobal||p.generators.push({generatorType:m0.instrument,generatorValue:this.instruments.indexOf(p.instrument)}),p.generators.length*4+h),0);let i=new j5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.generatorZoneStartIndex=A;for(let p of h.generators)j3(i,p.generatorType),j3(i,p.generatorValue);A+=h.generators.length}return j3(i,0),j3(i,0),it(new y4("pgen",i.length,i))}function Fv(){let n=10;for(let c of this.presets)n+=c.presetZones.reduce((h,p)=>p.modulators.length*10+h,0);let i=new j5(n),A=0;for(let c of this.presets)for(let h of c.presetZones){h.modulatorZoneStartIndex=A;for(let p of h.modulators)j3(i,p.sourceEnum),j3(i,p.modulatorDestination),j3(i,p.transformAmount),j3(i,p.secondarySourceEnum),j3(i,p.transformType),A++}return fi(i,0,10),it(new y4("pmod",i.length,i))}function Tv(){let n=this.presets.reduce((p,P)=>P.presetZones.length*4+p,4),i=new j5(n),A=0,c=0,h=0;for(let p of this.presets){p.presetZoneStartIndex=A;for(let P of p.presetZones)P.zoneID=A,j3(i,c),j3(i,h),c+=P.generators.length,h+=P.modulators.length,A++}return j3(i,c),j3(i,h),it(new y4("pbag",i.length,i))}function Nv(){let n=this.presets.length*38+38,i=new j5(n),A=0;for(let c of this.presets)U8(i,c.presetName,20),j3(i,c.program),j3(i,c.bank),j3(i,A),m9(i,c.library),m9(i,c.genre),m9(i,c.morphology),A+=c.presetZones.length;return U8(i,"EOP",20),j3(i,0),j3(i,0),j3(i,A),m9(i,0),m9(i,0),m9(i,0),it(new y4("phdr",i.length,i))}var YD={compress:!1,compressionQuality:.5,compressionFunction:void 0};function Gv(n=YD){if(n.compress&&typeof n.compressionFunction!="function")throw new TypeError("No compression function supplied but compression enabled.");y8("%cSaving soundfont...",C1.info),U5(`%cCompression: %c${n?.compress||"false"}%c quality: %c${n?.compressionQuality||"none"}`,C1.info,C1.recognized,C1.info,C1.recognized),U5("%cWriting INFO...",C1.info);let i=[];this.soundFontInfo.ISFT="SpessaSynth",n?.compress&&(this.soundFontInfo.ifil="3.0");for(let[K2,J2]of Object.entries(this.soundFontInfo))if(K2==="ifil"||K2==="iver"){let A0=parseInt(J2.split(".")[0]),C5=parseInt(J2.split(".")[1]),p3=new j5(4);j3(p3,A0),j3(p3,C5),i.push(it(new y4(K2,4,p3)))}else if(K2==="DMOD")i.push(it(new y4(K2,J2.length,J2)));else{let A0=new j5(J2.length);U8(A0,J2),i.push(it(new y4(K2,J2.length,A0)))}let A=St([new j5([73,78,70,79]),...i]),c=it(new y4("LIST",A.length,A));U5("%cWriting SDTA...",C1.info);let h=[],p=[],P=Dv.call(this,h,p,n?.compress,n?.compressionQuality??.5,n.compressionFunction);U5("%cWriting PDTA...",C1.info),U5("%cWriting SHDR...",C1.info);let X=_v.call(this,h,p);U5("%cWriting IGEN...",C1.info);let O=bv.call(this);U5("%cWriting IMOD...",C1.info);let U=xv.call(this);U5("%cWriting IBAG...",C1.info);let W0=Lv.call(this);U5("%cWriting INST...",C1.info);let _=Mv.call(this),q=Rv.call(this);U5("%cWriting PMOD...",C1.info);let t0=Fv.call(this);U5("%cWriting PBAG...",C1.info);let n1=Tv.call(this);U5("%cWriting PHDR...",C1.info);let S1=Nv.call(this),c1=St([new j5([112,100,116,97]),S1,n1,t0,q,_,W0,U,O,X]),I2=it(new y4("LIST",c1.length,c1));U5("%cWriting the output file...",C1.info);let $2=St([new j5([115,102,98,107]),c,P,I2]),f2=it(new y4("RIFF",$2.length,$2));return U5(`%cSaved succesfully! Final file size: %c${f2.length}`,C1.info,C1.recognized),g9(),f2}var Rp=class{velRange={min:-1,max:127};keyRange={min:-1,max:127};isGlobal=!1;generators=[];modulators=[];get hasKeyRange(){return this.keyRange.min!==-1}get hasVelRange(){return this.velRange.min!==-1}getGeneratorValue(i,A){return this.generators.find(c=>c.generatorType===i)?.generatorValue??A}};var zr=class extends Rp{sample=void 0;useCount=0;deleteZone(){this.useCount--,!this.isGlobal&&this.sample.useCount--}},pu=class extends Rp{instrument=void 0;deleteZone(){this.isGlobal||this.instrument.removeUseCount()}};var VD=new Set([m0.velRange,m0.keyRange,m0.instrument,m0.exclusiveClass,m0.endOper,m0.sampleModes,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.initialAttenuation,m0.fineTune,m0.coarseTune,m0.keyNumToVolEnvHold,m0.keyNumToVolEnvDecay,m0.keyNumToModEnvHold,m0.keyNumToModEnvDecay]);function Uv(n,i=!0){function A(_,q){_.push(...q.filter(t0=>!_.find(n1=>n1.generatorType===t0.generatorType)))}function c(_,q){return{min:Math.max(_.min,q.min),max:Math.min(_.max,q.max)}}function h(_,q){_.push(...q.filter(t0=>!_.find(n1=>$e.isIdentical(t0,n1))))}let p=[],P=[],X=[],O={min:0,max:127},U={min:0,max:127},W0=n.presetZones.find(_=>_.isGlobal);W0&&(P.push(...W0.generators),X.push(...W0.modulators),O=W0.keyRange,U=W0.velRange);for(let _ of n.presetZones){if(_.isGlobal)continue;let q=_.keyRange;_.hasKeyRange||(q=O);let t0=_.velRange;_.hasVelRange||(t0=U);let n1=_.generators.map(A0=>new u6(A0.generatorType,A0.generatorValue));A(n1,P);let S1=[..._.modulators];h(S1,X);let c1=_.instrument.instrumentZones,I2=[],$2=[],f2={min:0,max:127},K2={min:0,max:127},J2=c1.find(A0=>A0.isGlobal);J2&&(I2.push(...J2.generators),$2.push(...J2.modulators),f2=J2.keyRange,K2=J2.velRange);for(let A0 of c1){if(A0.isGlobal)continue;let C5=A0.keyRange;A0.hasKeyRange||(C5=f2);let p3=A0.velRange;if(A0.hasVelRange||(p3=K2),C5=c(C5,q),p3=c(p3,t0),C5.maxnew u6(P3.generatorType,P3.generatorValue));A(w3,I2);let m6=[...A0.modulators];h(m6,$2);let v3=[...m6];for(let P3 of S1){let w6=v3.findIndex(Me=>$e.isIdentical(P3,Me));w6!==-1?v3[w6]=v3[w6].sumTransform(P3):v3.push(P3)}let x6=w3.map(P3=>new u6(P3.generatorType,P3.generatorValue));for(let P3 of n1){if(P3.generatorType===m0.velRange||P3.generatorType===m0.keyRange||P3.generatorType===m0.instrument||P3.generatorType===m0.endOper||P3.generatorType===m0.sampleModes)continue;let w6=w3.findIndex(Me=>Me.generatorType===P3.generatorType);if(w6!==-1){let Me=x6[w6].generatorValue+P3.generatorValue;x6[w6]=new u6(P3.generatorType,Me)}else{let Me=Z6[P3.generatorType].def+P3.generatorValue;x6.push(new u6(P3.generatorType,Me))}}x6=x6.filter(P3=>P3.generatorType!==m0.sampleID&&P3.generatorType!==m0.keyRange&&P3.generatorType!==m0.velRange&&P3.generatorType!==m0.endOper&&P3.generatorType!==m0.instrument&&P3.generatorValue!==Z6[P3.generatorType].def);let u9=new zr;u9.keyRange=C5,u9.velRange=p3,u9.keyRange.min===0&&u9.keyRange.max===127&&(u9.keyRange.min=-1),u9.velRange.min===0&&u9.velRange.max===127&&(u9.velRange.min=-1),u9.isGlobal=!1,u9.sample=A0.sample,u9.generators=x6,u9.modulators=v3,p.push(u9)}}if(i){let _=new zr;_.isGlobal=!0;for(let n1=0;n1<58;n1++){if(VD.has(n1))continue;let S1={},c1=Z6[n1]?.def||0;S1[c1]=0;for(let I2 of p){let $2=I2.generators.find(J2=>J2.generatorType===n1);if($2){let J2=$2.generatorValue;S1[J2]===void 0?S1[J2]=1:S1[J2]++}else S1[c1]++;let f2;switch(n1){default:continue;case m0.decayVolEnv:f2=m0.keyNumToVolEnvDecay;break;case m0.holdVolEnv:f2=m0.keyNumToVolEnvHold;break;case m0.decayModEnv:f2=m0.keyNumToModEnvDecay;break;case m0.holdModEnv:f2=m0.keyNumToModEnvHold}if(I2.generators.find(J2=>J2.generatorType===f2)!==void 0){S1={};break}}if(Object.keys(S1).length>0){let I2=Object.entries(S1).reduce((f2,K2)=>f2[1]{let K2=f2.generators.findIndex(J2=>J2.generatorType===n1);K2!==-1?f2.generators[K2].generatorValue===$2&&f2.generators.splice(K2,1):$2!==c1&&f2.generators.push(new u6(n1,c1))})}}let t0=p.find(n1=>!n1.isGlobal).modulators.map(n1=>$e.copy(n1));for(let n1 of t0){let S1=!0;for(let c1 of p){if(c1.isGlobal||!S1)continue;c1.modulators.find($2=>$e.isIdentical($2,n1))||(S1=!1)}if(S1===!0){_.modulators.push($e.copy(n1));for(let c1 of p){let I2=c1.modulators.find($2=>$e.isIdentical($2,n1));I2.transformAmount===n1.transformAmount&&c1.modulators.splice(c1.modulators.indexOf(I2),1)}}}p.splice(0,0,_)}return p}var Pv=20;function JE(n,i,A,c,h,p,P){let X=P===0?0:1,O=new j5(Pv+X*16);m9(O,Pv),j3(O,i),j3(O,A);let U=c*.4,W0=Math.floor(U*-65536);m9(O,W0),m9(O,0);let _=p-h,q=0;switch(P){default:case 0:X=0;break;case 1:q=0,X=1;break;case 3:q=1,X=1}return m9(O,X),X===1&&(m9(O,16),m9(O,q),m9(O,h),m9(O,_)),k6("wsmp",O)}var I6={none:0,modLfo:1,velocity:2,keyNum:3,volEnv:4,modEnv:5,pitchWheel:6,polyPressure:7,channelPressure:8,vibratoLfo:9,modulationWheel:129,volume:135,pan:138,expression:139,chorus:219,reverb:221,pitchWheelRange:256,fineTune:257,coarseTune:258};var R5={none:0,gain:1,reserved:2,pitch:3,pan:4,keyNum:5,chorusSend:128,reverbSend:129,modLfoFreq:260,modLfoDelay:261,vibLfoFreq:276,vibLfoDelay:277,volEnvAttack:518,volEnvDecay:519,volEnvRelease:521,volEnvSustain:522,volEnvDelay:523,volEnvHold:524,modEnvAttack:778,modEnvDecay:779,modEnvRelease:781,modEnvSustain:782,modEnvDelay:783,modEnvHold:784,filterCutoff:1280,filterQ:1281};var Fp=class{source;control;destination;scale;transform;constructor(i,A,c,h,p){this.source=i,this.control=A,this.destination=c,this.scale=h,this.transform=p}writeArticulator(){let i=new j5(12);return j3(i,this.source),j3(i,this.control),j3(i,this.destination),j3(i,this.transform),m9(i,this.scale<<16),i}};function Ov(n,i){if(n)switch(i){default:return;case $3.modulationWheel:return I6.modulationWheel;case $3.mainVolume:return I6.volume;case $3.pan:return I6.pan;case $3.expressionController:return I6.expression;case $3.chorusDepth:return I6.chorus;case $3.reverbDepth:return I6.reverb}else switch(i){default:return;case q4.noteOnKeyNum:return I6.keyNum;case q4.noteOnVelocity:return I6.velocity;case q4.noController:return I6.none;case q4.polyPressure:return I6.polyPressure;case q4.channelPressure:return I6.channelPressure;case q4.pitchWheel:return I6.pitchWheel;case q4.pitchWheelRange:return I6.pitchWheelRange}}function qv(n,i){switch(n){default:return;case m0.initialAttenuation:return{dest:R5.gain,amount:-i};case m0.fineTune:return R5.pitch;case m0.pan:return R5.pan;case m0.keyNum:return R5.keyNum;case m0.reverbEffectsSend:return R5.reverbSend;case m0.chorusEffectsSend:return R5.chorusSend;case m0.freqModLFO:return R5.modLfoFreq;case m0.delayModLFO:return R5.modLfoDelay;case m0.delayVibLFO:return R5.vibLfoDelay;case m0.freqVibLFO:return R5.vibLfoFreq;case m0.delayVolEnv:return R5.volEnvDelay;case m0.attackVolEnv:return R5.volEnvAttack;case m0.holdVolEnv:return R5.volEnvHold;case m0.decayVolEnv:return R5.volEnvDecay;case m0.sustainVolEnv:return{dest:R5.volEnvSustain,amount:1e3-i};case m0.releaseVolEnv:return R5.volEnvRelease;case m0.delayModEnv:return R5.modEnvDelay;case m0.attackModEnv:return R5.modEnvAttack;case m0.holdModEnv:return R5.modEnvHold;case m0.decayModEnv:return R5.modEnvDecay;case m0.sustainModEnv:return{dest:R5.modEnvSustain,amount:1e3-i};case m0.releaseModEnv:return R5.modEnvRelease;case m0.initialFilterFc:return R5.filterCutoff;case m0.initialFilterQ:return R5.filterQ}}function Hv(n,i){switch(n){default:return;case m0.modEnvToFilterFc:return{source:I6.modEnv,dest:R5.filterCutoff,amt:i,isBipolar:!1};case m0.modEnvToPitch:return{source:I6.modEnv,dest:R5.pitch,amt:i,isBipolar:!1};case m0.modLfoToFilterFc:return{source:I6.modLfo,dest:R5.filterCutoff,amt:i,isBipolar:!0};case m0.modLfoToVolume:return{source:I6.modLfo,dest:R5.gain,amt:i,isBipolar:!0};case m0.modLfoToPitch:return{source:I6.modLfo,dest:R5.pitch,amt:i,isBipolar:!0};case m0.vibLfoToPitch:return{source:I6.vibratoLfo,dest:R5.pitch,amt:i,isBipolar:!0};case m0.keyNumToVolEnvHold:return{source:I6.keyNum,dest:R5.volEnvHold,amt:i,isBipolar:!0};case m0.keyNumToVolEnvDecay:return{source:I6.keyNum,dest:R5.volEnvDecay,amt:i,isBipolar:!0};case m0.keyNumToModEnvHold:return{source:I6.keyNum,dest:R5.modEnvHold,amt:i,isBipolar:!0};case m0.keyNumToModEnvDecay:return{source:I6.keyNum,dest:R5.modEnvDecay,amt:i,isBipolar:!0};case m0.scaleTuning:return{source:I6.keyNum,dest:R5.pitch,amt:i*128,isBipolar:!1}}}function Yv(n){let i=qv(n.generatorType,n.generatorValue),A=i,c=0,h=n.generatorValue;i?.amount!==void 0&&(h=i.amount,A=i.dest);let p=Hv(n.generatorType,n.generatorValue);if(p!==void 0)h=p.amt,A=p.dest,c=p.source;else if(A===void 0){T9(`Invalid generator type: ${n.generatorType}`);return}return new Fp(c,0,A,h,0)}function Vv(n){if(n.transformType!==0){T9("Other transform types are not supported.");return}let i=Ov(n.sourceUsesCC,n.sourceIndex),A=n.sourceCurveType,c=n.sourcePolarity,h=n.sourceDirection;if(i===void 0){T9(`Invalid source: ${n.sourceIndex}, CC: ${n.sourceUsesCC}`);return}let p=Ov(n.secSrcUsesCC,n.secSrcIndex),P=n.secSrcCurveType,X=n.secSrcPolarity,O=n.secSrcDirection;if(p===void 0){T9(`Invalid secondary source: ${n.secSrcIndex}, CC: ${n.secSrcUsesCC}`);return}let U=qv(n.modulatorDestination,n.transformAmount),W0=U,_=n.transformAmount;U?.dest!==void 0&&(W0=U.dest,_=U.amount);let q=Hv(n.modulatorDestination,n.transformAmount);if(q!==void 0)_=q.amt,p=i,P=A,X=c,O=h,A=Z7.linear,c=q.isBipolar?1:0,h=0,i=q.source,W0=q.dest;else if(W0===void 0){T9(`Invalid destination: ${n.modulatorDestination}`);return}let t0=0;return t0|=P<<4,t0|=X<<8,t0|=O<<9,t0|=A<<10,t0|=c<<14,t0|=h<<15,new Fp(i,p,W0,_,t0)}var JD=new Set([m0.sampleModes,m0.initialAttenuation,m0.keyRange,m0.velRange,m0.sampleID,m0.fineTune,m0.coarseTune,m0.startAddrsOffset,m0.startAddrsCoarseOffset,m0.endAddrOffset,m0.endAddrsCoarseOffset,m0.startloopAddrsOffset,m0.startloopAddrsCoarseOffset,m0.endloopAddrsOffset,m0.endloopAddrsCoarseOffset,m0.overridingRootKey,m0.exclusiveClass]);function zE(n){for(let p=0;pn1.generatorType===X);if(O===void 0)continue;let U=P.generatorValue*-128,W0=60/128*U,_=O.generatorValue-W0,q=n.generators.indexOf(P),t0=n.generators.indexOf(O);n.generators[t0]=new u6(X,_,!1),n.generators[q]=new u6(P.generatorType,U,!1)}let i=n.generators.reduce((p,P)=>{if(JD.has(P.generatorType))return p;let X=Yv(P);return X!==void 0?(p.push(X),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]),A=n.modulators.reduce((p,P)=>{let X=Vv(P);return X!==void 0?(p.push(X),U5("%cSucceeded converting to DLS Articulator!",C1.recognized)):T9("Failed converting to DLS Articulator!"),p},[]);i.push(...A);let c=new j5(8);m9(c,8),m9(c,i.length);let h=i.map(p=>p.writeArticulator());return k6("art2",St([c,...h]))}function Jv(n,i){let A=new j5(14);j3(A,Math.max(n.keyRange.min,0)),j3(A,n.keyRange.max),j3(A,Math.max(n.velRange.min,0)),j3(A,n.velRange.max),j3(A,0);let c=n.getGeneratorValue(m0.exclusiveClass,0);j3(A,c),j3(A,0);let h=k6("rgnh",A),p=n.getGeneratorValue(m0.overridingRootKey,n.sample.samplePitch);n.getGeneratorValue(m0.scaleTuning,i.getGeneratorValue(m0.scaleTuning,100))===0&&n.keyRange.max-n.keyRange.min===0&&(p=n.keyRange.min);let X=JE(n.sample,p,n.getGeneratorValue(m0.fineTune,0)+n.getGeneratorValue(m0.coarseTune,0)*100+n.sample.samplePitchCorrection,n.getGeneratorValue(m0.initialAttenuation,0),n.sample.sampleLoopStartIndex+n.getGeneratorValue(m0.startloopAddrsOffset,0)+n.getGeneratorValue(m0.startloopAddrsCoarseOffset,0)*32768,n.sample.sampleLoopEndIndex+n.getGeneratorValue(m0.endloopAddrsOffset,0)+n.getGeneratorValue(m0.endloopAddrsCoarseOffset,0)*32768,n.getGeneratorValue(m0.sampleModes,0)),O=new j5(12);j3(O,0),j3(O,0);let U=0;switch(n.sample.sampleType){default:case 1:case 4:U=0;break;case 2:U=1}m9(O,U),m9(O,this.samples.indexOf(n.sample));let W0=k6("wlnk",O),_=zE(n),q=k6("lar2",_,!1,!0);return k6("rgn2",St([h,X,W0,q]),!1,!0)}function zv(n){y8(`%cWriting %c${n.presetName}%c...`,C1.info,C1.recognized,C1.info);let i=Uv(n),A=i.reduce((q,t0)=>t0.isGlobal?q:q+1,0),c=new j5(12);m9(c,A);let h=(n.bank&127)<<8;n.bank===128&&(h|=1<<31),m9(c,h),m9(c,n.program&127);let p=k6("insh",c),P=new j5(0),X=i.find(q=>q.isGlobal===!0);if(X){let q=zE(X);P=k6("lar2",q,!1,!0)}let O=St(i.reduce((q,t0)=>(t0.isGlobal||q.push(Jv.apply(this,[t0,X])),q),[])),U=k6("lrgn",O,!1,!0),W0=k6("INAM",T7(n.presetName)),_=k6("INFO",W0,!1,!0);return g9(),k6("ins ",St([p,U,P,_]),!1,!0)}function Kv(){let n=St(this.presets.map(i=>zv.apply(this,[i])));return k6("lins",n,!1,!0)}function Wv(n){let i=new j5(18);j3(i,1),j3(i,1),m9(i,n.sampleRate),m9(i,n.sampleRate*2),j3(i,2),j3(i,16);let A=k6("fmt ",i),c=JE(n,n.samplePitch,n.samplePitchCorrection,0,n.sampleLoopStartIndex,n.sampleLoopEndIndex,1),h=n.getAudioData(),p;if(n.isCompressed){let O=new Int16Array(h.length);for(let U=0;U{let h=Wv(c);return i.push(n),n+=h.length,h});return{data:k6("wvpl",St(A),!1,!0),indexes:i}}function jv(){y8("%cSaving DLS...",C1.info);let n=new j5(4);m9(n,this.presets.length);let i=k6("colh",n);y8("%cWriting instruments...",C1.info);let A=Kv.apply(this);U5("%cSuccess!",C1.recognized),g9(),y8("%cWriting WAVE samples...",C1.info);let c=Zv.apply(this),h=c.data,p=c.indexes;U5("%cSucceeded!",C1.recognized),g9();let P=new j5(8+4*p.length);m9(P,8),m9(P,p.length);for(let _ of p)m9(P,_);let X=k6("ptbl",P);this.soundFontInfo.ICMT=(this.soundFontInfo.ICMT||"Soundfont")+` +Converted from SF2 to DLS using SpessaSynth`,this.soundFontInfo.ISFT="SpessaSynth";let O=[];for(let[_,q]of Object.entries(this.soundFontInfo))_!=="ICMT"&&_!=="INAM"&&_!=="ICRD"&&_!=="IENG"&&_!=="ICOP"&&_!=="ISFT"&&_!=="ISBJ"||O.push(k6(_,T7(q)));let U=k6("INFO",St(O),!1,!0),W0=new j5(i.length+A.length+X.length+h.length+U.length+4);return U8(W0,"DLS "),W0.set(St([i,A,X,h,U]),4),U5("%cSaved succesfully!",C1.recognized),g9(),k6("RIFF",W0)}var Ya=class n{constructor(i=void 0){this.soundFontInfo={},this.presets=[],this.samples=[],this.instruments=[],this.defaultModulators=wE.map(A=>$e.copy(A)),i?.presets&&(this.presets.push(...i.presets),this.soundFontInfo=i.info)}static mergeSoundfonts(...i){let A=i.shift(),c=A.presets;for(;i.length;)i.shift().presets.forEach(p=>{c.find(P=>P.bank===p.bank&&P.program===p.program)===void 0&&c.push(p)});return new n({presets:c,info:A.soundFontInfo})}removeUnusedElements(){this.instruments.forEach(i=>{i.useCount<1&&i.instrumentZones.forEach(A=>{A.isGlobal||A.sample.useCount--})}),this.instruments=this.instruments.filter(i=>i.useCount>0),this.samples=this.samples.filter(i=>i.useCount>0)}deleteInstrument(i){if(i.useCount>0)throw new Error(`Cannot delete an instrument that has ${i.useCount} usages.`);this.instruments.splice(this.instruments.indexOf(i),1),i.deleteInstrument(),this.removeUnusedElements()}deletePreset(i){i.deletePreset(),this.presets.splice(this.presets.indexOf(i),1),this.removeUnusedElements()}deleteSample(i){if(i.useCount>0)throw new Error(`Cannot delete sample that has ${i.useCount} usages.`);this.samples.splice(this.samples.indexOf(i),1),this.removeUnusedElements()}setSampleIDOffset(i){this.presets.forEach(A=>A.sampleIDOffset=i)}getPresetNoFallback(i,A,c=!1){let h=this.presets.find(p=>p.bank===i&&p.program===A);if(h)return h;if(c!==!1)return i===128?this.presets.find(p=>p.bank===128):this.presets.find(p=>p.program===A)}getPreset(i,A){let c=this.presets.find(h=>h.bank===i&&h.program===A);return c||(i===128?(c=this.presets.find(h=>h.bank===128&&h.program===A),c||(c=this.presets.find(h=>h.bank===128))):c=this.presets.find(h=>h.program===A&&h.bank!==128),c&&T9(`%cPreset ${i}.${A} not found. Replaced with %c${c.presetName} (${c.bank}.${c.program})`,C1.warn,C1.recognized)),c||(T9(`Preset ${A} not found. Defaulting to`,this.presets[0].presetName),c=this.presets[0]),c}getPresetByName(i){let A=this.presets.find(c=>c.presetName===i);return A||(T9("Preset not found. Defaulting to:",this.presets[0].presetName),A=this.presets[0]),A}parsingError(i){throw new Error(`SF parsing error: ${i} The file may be corrupted.`)}destroySoundfont(){delete this.presets,delete this.instruments,delete this.samples}};Ya.prototype.write=Gv;Ya.prototype.writeDLS=jv;function Xv(n){y8("%cLoading instruments...",C1.info);for(let i=0;ii.deleteZone()),this.presetZones.length=0}deleteZone(i){this.presetZones[i].deleteZone(),this.presetZones.splice(i,1)}preload(i,A){for(let c=i;c{p.sample.isSampleLoaded||p.sample.getAudioData()})}preloadSpecific(i,A){this.getSamplesAndGenerators(i,A).forEach(c=>{c.sample.isSampleLoaded||c.sample.getAudioData()})}getSamplesAndGenerators(i,A){let c=this.foundSamplesAndGenerators[i][A];if(c)return c;if(this.presetZones.length<1)return[];function h(t0,n1){return n1>=t0.min&&n1<=t0.max}function p(t0,n1){t0.push(...n1.filter(S1=>!t0.find(c1=>c1.generatorType===S1.generatorType)))}function P(t0,n1){t0.push(...n1.filter(S1=>!t0.find(c1=>$e.isIdentical(S1,c1))))}let X=[],O=this.presetZones[0].isGlobal?[...this.presetZones[0].generators]:[],U=this.presetZones[0].isGlobal?[...this.presetZones[0].modulators]:[],W0=this.presetZones[0].isGlobal?this.presetZones[0].keyRange:{min:0,max:127},_=this.presetZones[0].isGlobal?this.presetZones[0].velRange:{min:0,max:127};return this.presetZones.filter(t0=>h(t0.hasKeyRange?t0.keyRange:W0,i)&&h(t0.hasVelRange?t0.velRange:_,A)&&!t0.isGlobal).forEach(t0=>{if(t0.instrument.instrumentZones.length<1)return;let n1=t0.generators,S1=t0.modulators,c1=t0.instrument.instrumentZones[0],I2=c1.isGlobal?[...c1.generators]:[],$2=c1.isGlobal?[...c1.modulators]:[],f2=c1.isGlobal?c1.keyRange:{min:0,max:127},K2=c1.isGlobal?c1.velRange:{min:0,max:127};t0.instrument.instrumentZones.filter(A0=>h(A0.hasKeyRange?A0.keyRange:f2,i)&&h(A0.hasVelRange?A0.velRange:K2,A)&&!A0.isGlobal).forEach(A0=>{let C5=[...A0.generators],p3=[...A0.modulators];p(n1,O),p(C5,I2),P(S1,U),P(p3,$2),P(p3,this.defaultModulators);let w3=[...p3];for(let m6=0;m6$e.isIdentical(v3,u9));x6!==-1?w3[x6]=w3[x6].sumTransform(v3):w3.push(v3)}X.push({instrumentGenerators:C5,presetGenerators:n1,modulators:w3,sample:A0.sample,sampleID:A0.generators.find(m6=>m6.generatorType===m0.sampleID).generatorValue})})}),this.foundSamplesAndGenerators[i][A]=X,X}};var Cu=class{constructor(){this.instrumentName="",this.instrumentZones=[],this._useCount=0}get useCount(){return this._useCount}addUseCount(){this._useCount++,this.instrumentZones.forEach(i=>i.useCount++)}removeUseCount(){this._useCount--;for(let i=0;ii.deleteZone()),this.instrumentZones.length=0}safeDeleteZone(i){return this.instrumentZones[i].useCount--,this.instrumentZones[i].useCount<1?(this.deleteZone(i),!0):!1}deleteZone(i){this.instrumentZones[i].deleteZone(),this.instrumentZones.splice(i,1)}};var KE=class extends Eu{constructor(i,A){super(wE),this.program=A&127,this.bank=i>>8&127,i>>31&&(this.bank=128),this.DLSInstrument=new Cu,this.DLSInstrument.addUseCount();let h=new pu;h.instrument=this.DLSInstrument,this.presetZones=[h]}};function ek(n){this.verifyHeader(n,"LIST"),this.verifyText(Q4(n.chunkData,4),"ins ");let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(t0=>t0.header==="insh");if(!A)throw g9(),new Error("No instrument header!");let c=s3(A.chunkData,4),h=s3(A.chunkData,4),p=s3(A.chunkData,4),P=new KE(h,p),X="unnamedPreset",O=N7(i,"INFO");if(O){let t0=Be(O.chunkData);for(;t0.header!=="INAM";)t0=Be(O.chunkData);X=Q4(t0.chunkData,t0.chunkData.length).trim()}P.presetName=X,P.DLSInstrument.instrumentName=X,M7(`%cParsing %c"${X}"%c...`,C1.info,C1.recognized,C1.info);let U=N7(i,"lrgn");if(!U)throw g9(),new Error("No region list!");let W0=new zr;W0.isGlobal=!0;let _=N7(i,"lart"),q=N7(i,"lar2");(q!==void 0||_!==void 0)&&this.readLart(_,q,W0),W0.generators=W0.generators.filter(t0=>t0.generatorValue!==Z6[t0.generatorType].def),W0.modulators.find(t0=>t0.modulatorDestination===m0.reverbEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:219,dest:m0.reverbEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),W0.modulators.find(t0=>t0.modulatorDestination===m0.chorusEffectsSend)===void 0&&W0.modulators.push(new $e({srcEnum:221,dest:m0.chorusEffectsSend,amt:1e3,secSrcEnum:0,transform:0})),P.DLSInstrument.instrumentZones.push(W0);for(let t0=0;t0>10&15;$2===Z7.linear&&I2!==Z7.linear&&($2=I2);let f2=c>>14&1,K2=c>>15&1;P===m0.initialAttenuation&&h<0&&(K2=1),q=Yr($2,f2,K2,X.isCC,X.enum)}let t0=c>>4&15,n1=c>>8&1,S1=c>>9&1,c1=Yr(t0,n1,S1,_.isCC,_.enum);if(O){let I2=c1;c1=q,q=I2}return new $e({srcEnum:q,secSrcEnum:c1,dest:P,transform:0,amt:W0})}function WC(n,i){let A=n.chunkData,c=[],h=[];s3(A,4);let p=s3(A,4);for(let P=0;P>16;if(X===0&&O===0&&W0===0){let t0;switch(U){case R5.pan:t0=new u6(m0.pan,q);break;case R5.gain:t0=new u6(m0.initialAttenuation,-q*10/.4);break;case R5.filterCutoff:t0=new u6(m0.initialFilterFc,q);break;case R5.filterQ:t0=new u6(m0.initialFilterQ,q);break;case R5.modLfoFreq:t0=new u6(m0.freqModLFO,q);break;case R5.modLfoDelay:t0=new u6(m0.delayModLFO,q);break;case R5.vibLfoFreq:t0=new u6(m0.freqVibLFO,q);break;case R5.vibLfoDelay:t0=new u6(m0.delayVibLFO,q);break;case R5.volEnvDelay:t0=new u6(m0.delayVolEnv,q);break;case R5.volEnvAttack:t0=new u6(m0.attackVolEnv,q);break;case R5.volEnvHold:t0=new u6(m0.holdVolEnv,q,!1);break;case R5.volEnvDecay:t0=new u6(m0.decayVolEnv,q,!1);break;case R5.volEnvRelease:t0=new u6(m0.releaseVolEnv,q);break;case R5.volEnvSustain:let n1=1e3-q;t0=new u6(m0.sustainVolEnv,n1);break;case R5.modEnvDelay:t0=new u6(m0.delayModEnv,q);break;case R5.modEnvAttack:t0=new u6(m0.attackModEnv,q);break;case R5.modEnvHold:t0=new u6(m0.holdModEnv,q,!1);break;case R5.modEnvDecay:t0=new u6(m0.decayModEnv,q,!1);break;case R5.modEnvRelease:t0=new u6(m0.releaseModEnv,q);break;case R5.modEnvSustain:let S1=1e3-q;t0=new u6(m0.sustainModEnv,S1);break;case R5.reverbSend:t0=new u6(m0.reverbEffectsSend,q);break;case R5.chorusSend:t0=new u6(m0.chorusEffectsSend,q);break;case R5.pitch:let c1=Math.floor(q/100),I2=Math.floor(q-c1*100);t0=new u6(m0.fineTune,I2),c.push(new u6(m0.coarseTune,c1));break}t0&&c.push(t0)}else{let t0=!0;if(O===I6.none)if(X===I6.modLfo&&U===R5.pitch)c.push(new u6(m0.modLfoToPitch,q));else if(X===I6.modLfo&&U===R5.gain)c.push(new u6(m0.modLfoToVolume,q));else if(X===I6.modLfo&&U===R5.filterCutoff)c.push(new u6(m0.modLfoToFilterFc,q));else if(X===I6.vibratoLfo&&U===R5.pitch)c.push(new u6(m0.vibLfoToPitch,q));else if(X===I6.modEnv&&U===R5.pitch)c.push(new u6(m0.modEnvToPitch,q));else if(X===I6.modEnv&&U===R5.filterCutoff)c.push(new u6(m0.modEnvToFilterFc,q));else if(X===I6.keyNum&&U===R5.pitch)c.push(new u6(m0.scaleTuning,q/128));else if(X===I6.keyNum&&U===R5.volEnvHold){c.push(new u6(m0.keyNumToVolEnvHold,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.holdVolEnv&&(S1.generatorValue+=n1)})}else if(X===I6.keyNum&&U===R5.volEnvDecay){c.push(new u6(m0.keyNumToVolEnvDecay,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.decayVolEnv&&(S1.generatorValue+=n1)})}else if(X===I6.keyNum&&U===R5.modEnvHold){c.push(new u6(m0.keyNumToModEnvHold,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.holdModEnv&&(S1.generatorValue+=n1)})}else if(X===I6.keyNum&&U===R5.modEnvDecay){c.push(new u6(m0.keyNumToModEnvDecay,q/-128));let n1=Math.round(60/128*q);c.forEach(S1=>{S1.generatorType===m0.decayModEnv&&(S1.generatorValue+=n1)})}else t0=!1;else t0=!1;if(t0===!1){let n1=ik(X,O,U,W0,q);n1?(h.push(n1),U5("%cSucceeded converting to SF2 Modulator!",C1.recognized)):T9("Failed converting to SF2 Modulator!")}}}return i&&h.push(new $e({srcEnum:129,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0}),new $e({srcEnum:13,dest:m0.vibLfoToPitch,amt:0,secSrcEnum:0,transform:0})),{modulators:h,generators:c}}function rk(n,i,A){if(n)for(;n.chunkData.currentIndexn.chunkData.currentIndex;)i.push(Be(n.chunkData));let A=i.find(p3=>p3.header==="rgnh"),c=s3(A.chunkData,2),h=s3(A.chunkData,2),p=s3(A.chunkData,2),P=s3(A.chunkData,2),X=new WE({min:c,max:h},{min:p,max:P});s3(A.chunkData,2);let O=s3(A.chunkData,2);O!==0&&X.generators.push(new u6(m0.exclusiveClass,O));let U=N7(i,"lart"),W0=N7(i,"lar2");this.readLart(U,W0,X),X.isGlobal=!1;let _=i.find(p3=>p3.header==="wsmp");s3(_.chunkData,4);let q=s3(_.chunkData,2),t0=Ga(_.chunkData[_.chunkData.currentIndex++],_.chunkData[_.chunkData.currentIndex++]),S1=(s3(_.chunkData,4)|0)/-655360;s3(_.chunkData,4);let c1=s3(_.chunkData,4),I2,$2={start:0,end:0};if(c1===0)I2=0;else{s3(_.chunkData,4),s3(_.chunkData,4)===0?I2=1:I2=3,$2.start=s3(_.chunkData,4);let w3=s3(_.chunkData,4);$2.end=$2.start+w3}let f2=i.find(p3=>p3.header==="wlnk");if(f2===void 0)return;s3(f2.chunkData,2),s3(f2.chunkData,2),s3(f2.chunkData,4);let K2=s3(f2.chunkData,4),J2=this.samples[K2];if(J2===void 0)throw new Error("Invalid sample ID!");let C5=(S1||J2.sampleDbAttenuation)*10/.4;return X.setWavesample(C5,I2,$2,q,J2,K2,t0),X}var Bu=class{constructor(i,A,c,h,p,P,X,O){this.sampleName=i,this.sampleRate=A,this.samplePitch=c,this.samplePitchCorrection=h,this.sampleLink=p,this.sampleType=P,this.sampleLoopStartIndex=X,this.sampleLoopEndIndex=O,this.isCompressed=(P&16)>0,this.compressedData=void 0,this.useCount=0}getRawData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}compressSample(i,A){if(!this.isCompressed)try{this.compressedData=A([this.getAudioData()],1,this.sampleRate,i),this.sampleType|=16,this.isCompressed=!0}catch{T9(`Failed to compress ${this.sampleName}. Leaving as uncompressed!`),this.isCompressed=!1,this.compressedData=void 0,this.sampleType&=-17}}getAudioData(){let i=new Error("Not implemented");throw i.name="NotImplementedError",i}};var ZE=class extends Bu{sampleDbAttenuation;sampleData;constructor(i,A,c,h,p,P,X,O){super(i,A,c,h,0,1,p,P),this.sampleData=X,this.sampleDbAttenuation=O}getAudioData(){return this.sampleData}getRawData(){if(this.isCompressed){if(!this.compressedData)throw new Error("Compressed but no data?? This shouldn't happen!!");return this.compressedData}let i=new Uint8Array(this.sampleData.length*2);for(let A=0;A>8&255}return i}};var ok={PCM:1,ALAW:6};function WD(n,i){let A=Math.pow(2,i*8-1),c=Math.pow(2,i*8),h,p=!1;i===1?(h=255,p=!0):h=A;let P=n.size/i,X=new Float32Array(P);for(let O=0;O=A&&(U-=c),X[O]=U/h)}return X}function ZD(n,i){let A=n.size/i,c=new Float32Array(A);for(let h=0;h>4,O=P&15;X>0&&(O+=16),O=(O<<4)+8,X>1&&(O=O<127?O:-O;c[h]=U/32678}return c}function sk(n){y8("%cLoading Wave samples...",C1.recognized);let i=0;for(;n.chunkData.currentIndexJ2.header==="fmt ");if(!h)throw new Error("No fmt chunk in the wave file!");let p=s3(h.chunkData,2),P=s3(h.chunkData,2);if(P!==1)throw new Error(`Only mono samples are supported. Fmt reports ${P} channels`);let X=s3(h.chunkData,4);s3(h.chunkData,4),s3(h.chunkData,2);let U=s3(h.chunkData,2)/8,W0=!1,_=c.find(J2=>J2.header==="data");_||this.parsingError("No data chunk in the WAVE chunk!");let q;switch(p){default:W0=!0,q=new Float32Array(_.size/U);break;case ok.PCM:q=WD(_,U);break;case ok.ALAW:q=ZD(_,U);break}let t0=N7(c,"INFO"),n1=`Unnamed ${i}`;if(t0){let J2=Be(t0.chunkData);for(;J2.header!=="INAM"&&t0.chunkData.currentIndexJ2.header==="wsmp");if(K2){s3(K2.chunkData,4),S1=s3(K2.chunkData,2),c1=Ga(K2.chunkData[K2.chunkData.currentIndex++],K2.chunkData[K2.chunkData.currentIndex++]);let J2=Math.trunc(c1/100);if(S1+=J2,c1-=J2*100,f2=(s3(K2.chunkData,4)|0)/-655360,s3(K2.chunkData,4),s3(K2.chunkData,4)===1){s3(K2.chunkData,8),I2=s3(K2.chunkData,4);let p3=s3(K2.chunkData,4);$2=I2+p3}}else T9("No wsmp chunk in wave... using sane defaults.");W0&&console.error(`Failed to load '${n1}': Unsupported format: (${p})`),this.samples.push(new ZE(n1,X,S1,c1,I2,$2,q,f2)),i++,U5(`%cLoaded sample %c${n1}`,C1.info,C1.recognized)}g9()}var qo=class extends Ya{constructor(i){super(),this.dataArray=new j5(i),M7("%cParsing DLS...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let A=Be(this.dataArray,!1);this.verifyHeader(A,"riff"),this.verifyText(Q4(this.dataArray,4).toLowerCase(),"dls ");let c=[];for(;this.dataArray.currentIndexP.header==="colh");p||(g9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),U5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let O=N7(c,"wvpl");O||(g9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(O);let H=N7(c,"lins");H||(g9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(H),this.presets.sort((P,U)=>P.program-U.program+(P.bank-U.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qo.prototype.readDLSInstrumentList=jv;qo.prototype.readDLSInstrument=Xv;qo.prototype.readRegion=rk;qo.prototype.readLart=ik;qo.prototype.readDLSSamples=ok;var Va=Va!==void 0?Va:{},sk=!1,ak;Va.isInitialized=new Promise(n=>ak=n);var jD=function(n){var i,A,c,h,p,O,H,P="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",U="",W0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do h=P.indexOf(n.charAt(W0++)),p=P.indexOf(n.charAt(W0++)),O=P.indexOf(n.charAt(W0++)),H=P.indexOf(n.charAt(W0++)),i=h<<2|p>>4,A=(15&p)<<4|O>>2,c=(3&O)<<6|H,U+=String.fromCharCode(i),O!==64&&(U+=String.fromCharCode(A)),H!==64&&(U+=String.fromCharCode(c));while(W01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof J$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):v3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Er(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(p3||w3)&&(p3?document.currentScript&&(x6=document.currentScript.src):x6=self.location.href,x6=x6.indexOf("blob:")!==0?x6.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},w3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var P3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||P3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function Me(R0){var t1=i0;return i0=i0+R0+15&-16,t1}function Wr(R0){var t1=P[I2>>2],y1=t1+R0+15&-16;return P[I2>>2]=y1,y1>=N9&&!Zr()?(P[I2>>2]=t1,0):t1}function j7(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function za(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Er(t1%8==0),t1/8}}function Ho(R0){Ho.shown||(Ho.shown={}),Ho.shown[R0]||(Ho.shown[R0]=1,w6(R0))}C5=void 0;var Tp={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},L$=[];function iC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function M$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Ka=0,Qu=0;function Er(R0,t1){R0||X7("Assertion failed: "+t1)}function Wa(R0){var t1=A0["_"+R0];return Er(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var Np={stackSave:function(){Jp()},stackRestore:function(){V$()},arrayToC:function(R0){var t1,y1,_2=Za(R0.length);return t1=R0,y1=_2,h.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=Za(y1),Up(R0,t1,y1)}return t1}},Yo={string:Np.stringToC,array:Np.arrayToC};function yu(R0,t1,y1,_2,t6){var p9=Wa(R0),X9=[],p6=0;if(_2)for(var w8=0;w8<_2.length;w8++){var H4=Yo[y1[w8]];H4?(p6===0&&(p6=Jp()),X9[w8]=H4(_2[w8])):X9[w8]=_2[w8]}var rt,M4=p9.apply(null,X9);return M4=(rt=M4,t1==="string"?F$(rt):t1==="boolean"?!!rt:rt),p6!==0&&V$(p6),M4}function O3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":h[R0>>0]=t1;break;case"i16":O[R0>>1]=t1;break;case"i32":P[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+ku(tempDouble=t1)>=1?tempDouble>0?(0|bu(+Su(tempDouble/4294967296),4294967295))>>>0:~~+H$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],P[R0>>2]=tempI64[0],P[R0+4>>2]=tempI64[1];break;case"float":W0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:X7("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return h[R0>>0];case"i16":return O[R0>>1];case"i32":case"i64":return P[R0>>2];case"float":return W0[R0>>2];case"double":return _[R0>>3];default:X7("invalid type for getValue: "+t1)}return null}function lB(R0,t1,y1,_2){typeof R0=="number"?(p9=!0,X9=R0):(p9=!1,X9=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof Zo=="function"?Zo:Me,Za,Me,Wr][y1===void 0?2:y1](Math.max(X9,t6?1:t1.length)),p9){for(_2=p6,Er((3&p6)==0),w8=p6+(-4&X9);_2>2]=0;for(w8=p6+X9;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var p9,X9,p6,w8,H4,rt,M4,E9=0;E9>0],(_2!=0||t1)&&(X9++,!t1||X9!=t1););t1||(t1=X9);var p6="";if(p9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Gp)return Gp.decode(H4.subarray(rt,M4));for(var E9,Gi,P7,v8,Ui,O7,q7="";;){if(!(E9=H4[rt++]))return q7;if(!(128&E9)){q7+=String.fromCharCode(E9);continue}if(Gi=63&H4[rt++],(224&E9)==192){q7+=String.fromCharCode((31&E9)<<6|Gi);continue}if(P7=63&H4[rt++],(240&E9)==224?E9=(15&E9)<<12|Gi<<6|P7:(v8=63&H4[rt++],(248&E9)==240?E9=(7&E9)<<18|Gi<<12|P7<<6|v8:(Ui=63&H4[rt++],E9=(252&E9)==248?(3&E9)<<24|Gi<<18|P7<<12|v8<<6|Ui:(1&E9)<<30|Gi<<24|P7<<18|v8<<12|Ui<<6|(O7=63&H4[rt++]))),E9<65536)q7+=String.fromCharCode(E9);else{var Pn=E9-65536;q7+=String.fromCharCode(55296|Pn>>10,56320|1023&Pn)}}}(p,y1)}function cB(R0){for(var t1="";;){var y1=h[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function Vo(R0,t1){return function(_2,t6,p9){for(var X9=0;X9<_2.length;++X9)h[t6++>>0]=_2.charCodeAt(X9);p9||(h[t6>>0]=0)}(R0,t1,!1)}var Gp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Gn(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,p9=y1+_2-1,X9=0;X9=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++X9)),p6<=127){if(y1>=p9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=p9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=p9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=p9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=p9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=p9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function Up(R0,t1,y1){return Gn(R0,p,t1,y1)}function Jo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Pp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function gB(R0){for(var t1=R0,y1=t1>>1;O[y1];)++y1;if((t1=y1<<1)-R0>32&&Pp)return Pp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var p9=O[R0+2*_2>>1];if(p9==0)return t6;++_2,t6+=String.fromCharCode(p9)}}function uB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,p9=0;p9>1]=X9,t1+=2}return O[t1>>1]=0,t1-_2}function hB(R0){return 2*R0.length}function dB(R0){for(var t1=0,y1="";;){var _2=P[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function fB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,p9=0;p9=55296&&X9<=57343&&(X9=65536+((1023&X9)<<10)|1023&R0.charCodeAt(++p9)),P[t1>>2]=X9,(t1+=4)+4>t6)break}return P[t1>>2]=0,t1-_2}function IB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function mB(R0){var t1=Jo(R0)+1,y1=Zo(t1);return y1&&Gn(R0,h,y1,t1),y1}function pB(R0){var t1=Jo(R0)+1,y1=Za(t1);return Gn(R0,h,y1,t1),y1}function Op(R0){return R0}function nC(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` -`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function wu(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function qp(R0){A0.buffer=c=R0}function j9(){A0.HEAP8=h=new Int8Array(c),A0.HEAP16=O=new Int16Array(c),A0.HEAP32=P=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=H=new Uint16Array(c),A0.HEAPU32=U=new Uint32Array(c),A0.HEAPF32=W0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(P[I2>>2]>t1)return!1;var y1=N9;for(N9=Math.max(N9,16777216);N9>2];)N9=N9<=536870912?wu(2*N9,R0):Math.min(wu((3*N9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(N9);return _2&&_2.byteLength==N9?(qp(_2),j9(),!0):(N9=y1,!1)}e0=i0=_1=f1=C2=u2=I2=0,a1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=h;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!aC(t1)&&t1});try{(K2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{K2=function(t1){return t1.byteLength}}var T$=A0.TOTAL_STACK||5242880,N9=A0.TOTAL_MEMORY||16777216;function N$(){return N9}function zo(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}N9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var ku=Math.abs,H$=Math.ceil,Su=Math.floor,bu=Math.min,Un=0,Du=null,Wo=null;function EB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Vp="data:application/octet-stream;base64,";function Y$(R0){return String.prototype.startsWith?R0.startsWith(Vp):R0.indexOf(Vp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";Y$(t1)||(t1=u9(t1)),Y$(y1)||(y1=u9(y1)),Y$(_2)||(_2=u9(_2));var t6={global:null,env:null,asm2wasm:Tp,parent:A0},p9=null;function X9(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){X7(M4)}}A0.asmPreload=A0.asm;var w8=A0.reallocBuffer,H4=function(M4){M4=wu(M4,A0.usingWasm?65536:16777216);var E9=A0.buffer.byteLength;if(A0.usingWasm)try{var Gi=A0.wasmMemory.grow((M4-E9)/65536);return Gi!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?w8(M4):H4(M4)};var rt="";A0.asm=function(M4,E9,Gi){var P7;if(!(E9=P7=E9).table){var v8,Ui=A0.wasmTableSize;Ui===void 0&&(Ui=1024);var O7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?O7!==void 0?E9.table=new WebAssembly.Table({initial:Ui,maximum:O7,element:"anyfunc"}):E9.table=new WebAssembly.Table({initial:Ui,element:"anyfunc"}):E9.table=Array(Ui),A0.wasmTable=E9.table}return E9.memoryBase||(E9.memoryBase=A0.STATIC_BASE),E9.tableBase||(E9.tableBase=0),v8=function(Pn,Cr,zp){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function _u(Br,er){if((p9=Br.exports).memory){var ja,jo,Xo;ja=p9.memory,jo=A0.buffer,ja.byteLength0?y1:Jo(R0)+1,t6=Array(_2),p9=Gn(R0,t6,0,t6.length);return t1&&(t6.length=p9),t6}function sC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}i0+=16,I2=Me(4),C2=(_1=f1=j7(i0))+T$,u2=j7(C2),P[I2>>2]=u2,a1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:X7,assert:Er,enlargeMemory:Zr,getTotalMemory:N$,abortOnCannotGrowMemory:function(){X7("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+N9+", (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 ")},invoke_iii:function(t1,y1,_2){var t6=Jp();try{return A0.dynCall_iii(t1,y1,_2)}catch(p9){if(V$(t6),typeof p9!="number"&&p9!=="longjmp")throw p9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){X7("Assertion failed: "+F$(t1)+", at: "+[y1?F$(y1):"unknown filename",_2,t6?F$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(P[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:Su,DYNAMICTOP_PTR:I2,tempDoublePtr:Ni,ABORT:Ka,STACKTOP:f1,STACK_MAX:C2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var aC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Zo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var Za=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},V$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Jp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function J$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function z$(R0){R0=R0||A0.arguments,!(Un>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)oC(A0.preRun.shift());zo(jr)}(),!(Un>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Ka||(P$||(P$=!0,zo(G$)),zo(vu),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)U7(A0.postRun.shift());zo(U$)}()))}}function AC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Ka=!0,Qu=R0,f1=J2,zo(v7),G7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new J$(R0)))}function X7(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(P3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Ka=!0,Qu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=yu,A0.cwrap=function(t1,y1,_2,t6){var p9=(_2=_2||[]).every(function(X9){return X9==="number"});return y1!=="string"&&p9&&!t6?Wa(t1):function(){return yu(t1,y1,_2,arguments,t6)}},J$.prototype=Error(),J$.prototype.constructor=J$,Wo=function R0(){A0.calledRun||z$(),A0.calledRun||(Wo=R0)},A0.run=z$,A0.abort=X7,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,z$(),A0.onRuntimeInitialized=()=>{sk=!0,ak()},Va.decode=function(R0){return function(y1){if(!sk)throw Error("Not initialized");var _2={};function t6(Cr){return new Int32Array(A0.HEAPU8.buffer,Cr,1)[0]}function p9(Cr,zp){var _u=new ArrayBuffer(zp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(_u);return bt.set(new Float32Array(A0.HEAPU8.buffer,Cr,zp)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X9,p6,w8,H4,rt=_2.open(),M4=(X9=y1,p6=y1.byteLength,w8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,w8,p6)).set(new Uint8Array(X9,0,p6)),H4),E9=A0._malloc(4),Gi=A0._malloc(4),P7=_2.decode(rt,M4.byteOffset,M4.byteLength,E9,Gi);if(A0._free(M4.byteOffset),P7<0)throw _2.close(rt),A0._free(E9),Error("stbvorbis decode failed: "+P7);for(var v8=_2.channels(rt),Ui=Array(v8),O7=new Int32Array(A0.HEAPU32.buffer,t6(E9),v8),q7=0;q7n.chunkData.currentIndex;){let p=XD(h,n.chunkData,i,A);c.push(p),h++}return c.length>1&&c.pop(),c}function XD(n,i,A,c){let h=Q4(i,20),p=s3(i,4)*2,O=s3(i,4)*2,H=s3(i,4),P=s3(i,4),U=s3(i,4),W0=i[i.currentIndex++];W0===255&&(W0=60);let _=Sy(i[i.currentIndex++]),e0=s3(i,2),i0=s3(i,2);return new jC(h,p,O,H,P,U,W0,_,e0,i0,A,n,c)}var XC=class extends u6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ga(i[A+2],i[A+3]),i.currentIndex+=4}};function eB(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new XC(n.chunkData));return i.length>1&&i.pop(),i}var tB=class extends Cu{constructor(i){super(),this.instrumentName=Q4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new tB(n);if(A.length>0){let h=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(h,i)}A.push(c)}return A.length>1&&A.pop(),A}var iB=class extends zr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function lk(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new iB(n.chunkData);if(h.length>0){let O=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(O,H),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getSample(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var rB=class extends pu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function ck(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new rB(n.chunkData);if(h.length>0){let O=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,H=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(O,H),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getInstrument(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var nB=class extends Eu{constructor(i,A){super(A),this.presetName=Q4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let h=new nB(n,A);if(c.length>0){let p=h.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(h)}return c.length>1&&c.pop(),c}var oB=class extends $e{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ga(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function jE(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new oB(n.chunkData));return i}var XE=class extends Ya{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new j5(i),M7("%cParsing SoundFont...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let c=Be(this.dataArray,!1);this.verifyHeader(c,"riff");let h=Q4(this.dataArray,4).toLowerCase();if(h!=="sfbk"&&h!=="sfpk")throw g9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${h}"`);let p=h==="sfpk",O=Be(this.dataArray);for(this.verifyHeader(O,"list"),Q4(O.chunkData,4);O.chunkData.length>O.chunkData.currentIndex;){let m6=Be(O.chunkData),v3;switch(m6.header.toLowerCase()){case"ifil":case"iver":v3=`${s3(m6.chunkData,2)}.${s3(m6.chunkData,2)}`,this.soundFontInfo[m6.header]=v3;break;case"icmt":v3=Q4(m6.chunkData,m6.chunkData.length,void 0,!1),this.soundFontInfo[m6.header]=v3;break;case"dmod":let x6=jE(m6);x6.pop(),v3=`Modulators: ${x6.length}`;let u9=this.defaultModulators;this.defaultModulators=x6,this.defaultModulators.push(...u9.filter(P3=>!this.defaultModulators.find(w6=>$e.isIdentical(P3,w6)))),this.soundFontInfo[m6.header]=m6.chunkData;break;default:v3=Q4(m6.chunkData,m6.chunkData.length),this.soundFontInfo[m6.header]=v3}U5(`%c"${m6.header}": %c"${v3}"`,C1.info,C1.recognized)}let H=Be(this.dataArray,!1);this.verifyHeader(H,"list"),this.verifyText(Q4(this.dataArray,4),"sdta"),U5("%cVerifying smpl chunk...",C1.warn);let P=Be(this.dataArray,!1);this.verifyHeader(P,"smpl");let U;if(p){U5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{U=Va.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+H.size-12)).data[0]}catch(m6){throw g9(),new Error(`SF2Pack Ogg Vorbis decode error: ${m6}`)}U5(`%cDecoded the smpl chunk! Length: %c${U.length}`,C1.info,C1.value)}else U=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;U5(`%cSkipping sample chunk, length: %c${H.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=H.size-12,U5("%cLoading preset data chunk...",C1.warn);let W0=Be(this.dataArray);this.verifyHeader(W0,"list"),Q4(W0.chunkData,4);let _=Be(W0.chunkData);this.verifyHeader(_,"phdr");let e0=Be(W0.chunkData);this.verifyHeader(e0,"pbag");let i0=Be(W0.chunkData);this.verifyHeader(i0,"pmod");let a1=Be(W0.chunkData);this.verifyHeader(a1,"pgen");let _1=Be(W0.chunkData);this.verifyHeader(_1,"inst");let f1=Be(W0.chunkData);this.verifyHeader(f1,"ibag");let C2=Be(W0.chunkData);this.verifyHeader(C2,"imod");let u2=Be(W0.chunkData);this.verifyHeader(u2,"igen");let I2=Be(W0.chunkData);this.verifyHeader(I2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...Ak(I2,U,!p));let K2=eB(u2),J2=jE(C2),A0=lk(f1,K2,J2,this.samples);this.instruments=$k(_1,A0);let C5=eB(a1),p3=jE(i0),w3=ck(e0,C5,p3,this.instruments);this.presets.push(...gk(_,w3,this.defaultModulators)),this.presets.sort((m6,v3)=>m6.program-v3.program+(m6.bank-v3.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, - %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Ja(n){let i=n.slice(8,12),A=new j5(i);return Q4(A,4,void 0,!1).toLowerCase()==="dls "?new qo(n):new XE(n,!1)}async function uk(){let n="locale.exportAudio.formats.formats.soundfont.options.";w4(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,h=parseInt(i.div.querySelector("input[type='range']").value)/10;_e(i.id),M7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),O=Ja(p.embeddedSoundFont||this.soundFont);Ua(p,await this.synth.getSynthesizerSnapshot()),A&&mu(O,p);let H=O.write({compress:c,compressionQuality:h,compressionFunction:this.compressionFunc}),P=new Blob([H.buffer],{type:"audio/soundfont"}),U=O.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(P,`${O.soundFontInfo.INAM||"unnamed"}.${U}`),g9()}}],99999999,!0,this.localeManager)}async function hk(){let n="locale.exportAudio.formats.";w4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_e(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_e(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_e(i.id);try{this._exportSoundfont()}catch{w4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_e(i.id);try{this._exportDLS()}catch{w4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_e(i.id);try{this._exportRMIDI()}catch{w4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function dk(){let n=(_,e0,i0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?e0:i0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),h=n("IART","",A),p=n("IGNR","",A),O=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),H="locale.exportAudio.formats.formats.rmidi.options.",P="locale.exportAudio.formats.metadata.",W0=w4(this.localeManager.getLocaleString(H+"title"),[{type:"toggle",translatePathTitle:H+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:H+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:P+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:P+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:P+"artist",attributes:{value:h,name:"artist",type:"text"}},{type:"input",translatePathTitle:P+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:P+"comment",attributes:{value:O,name:"comment",type:"text"}},{type:"file",translatePathTitle:P+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:H+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:H+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(H+"confirm"),onClick:async _=>{let e0=_.div.querySelector("input[compress-toggle='1']").checked,i0=parseInt(_.div.querySelector("input[type='range']").value)/10,a1=_.div.querySelector("input[name='album']").value,_1=_.div.querySelector("input[name='artist']").value,f1=_.div.querySelector("input[name='song_title']").value,C2=_.div.querySelector("input[name='comment']").value,u2=_.div.querySelector("input[name='genre']").value,I2=parseInt(_.div.querySelector("input[name='bank_offset']").value),K2=_.div.querySelector("input[name='adjust']").checked,J2=_.div.querySelector("input[type='file']")?.files[0];_e(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=w4(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let p3=C5.div.getElementsByClassName("export_rmidi_message")[0],w3=await this.seq.getMIDI(),m6=Ja(w3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Ua(w3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),mu(m6,w3);let v3=m6.write({compress:e0,compressionQuality:i0,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let x6;J2?.type.split("/")[0]==="image"?x6=await J2.arrayBuffer():w3.RMIDInfo?.IPIC!==void 0&&(x6=w3.RMIDInfo.IPIC.buffer);let u9=by(v3,w3,m6,I2,this.seqUI.encoding,{name:f1,comment:C2,engineer:m6.soundFontInfo.IENG,picture:x6,album:a1.length>0?a1:void 0,artist:_1.length>0?_1:void 0,genre:u2.length>0?u2:void 0,midiEncoding:this.seqUI.encoding},K2),P3=new Blob([u9.buffer],{type:"audio/rmid"});this.saveBlob(P3,`${f1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(A0+"done"),_e(C5.id),g9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");W0.oninput=()=>{W0.files[0]&&(W0.parentElement.firstChild.textContent=W0.files[0].name)}}var fk="synthetizer/worklet_processor.min.js";var eC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",h=typeof process=="object"&&typeof CE=="function"&&!c,p=typeof importScripts=="function",O=!c&&!h&&!p;if(h){n.print||(n.print=function(l){process.stdout.write(l+` +Converted from DLS to SF2 with SpessaSynth`;for(let[O,U]of Object.entries(this.soundFontInfo))U5(`%c"${O}": %c"${U}"`,C1.info,C1.recognized);let p=c.find(O=>O.header==="colh");p||(g9(),this.parsingError("No colh chunk!")),this.instrumentAmount=s3(p.chunkData,4),U5(`%cInstruments amount: %c${this.instrumentAmount}`,C1.info,C1.recognized);let P=N7(c,"wvpl");P||(g9(),this.parsingError("No wvpl chunk!")),this.readDLSSamples(P);let X=N7(c,"lins");X||(g9(),this.parsingError("No lins chunk!")),this.readDLSInstrumentList(X),this.presets.sort((O,U)=>O.program-U.program+(O.bank-U.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM||"UNNAMED"}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9()}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid DLS chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`FourCC error: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"`))}parsingError(i){throw new Error(`DLS parse error: ${i} The file may be corrupted.`)}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};qo.prototype.readDLSInstrumentList=Xv;qo.prototype.readDLSInstrument=ek;qo.prototype.readRegion=nk;qo.prototype.readLart=rk;qo.prototype.readDLSSamples=sk;var Va=Va!==void 0?Va:{},ak=!1,Ak;Va.isInitialized=new Promise(n=>Ak=n);var jD=function(n){var i,A,c,h,p,P,X,O="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",U="",W0=0;n=n.replace(/[^A-Za-z0-9\+\/\=]/g,"");do h=O.indexOf(n.charAt(W0++)),p=O.indexOf(n.charAt(W0++)),P=O.indexOf(n.charAt(W0++)),X=O.indexOf(n.charAt(W0++)),i=h<<2|p>>4,A=(15&p)<<4|P>>2,c=(3&P)<<6|X,U+=String.fromCharCode(i),P!==64&&(U+=String.fromCharCode(A)),X!==64&&(U+=String.fromCharCode(c));while(W01&&(A0.thisProgram=process.argv[1].replace(/\\/g,"/")),A0.arguments=process.argv.slice(2),typeof module<"u",process.on("uncaughtException",function(R0){if(!(R0 instanceof J$))throw R0}),process.on("unhandledRejection",function(R0,t1){process.exit(1)}),A0.quit=function(R0){process.exit(R0)},A0.inspect=function(){return"[Emscripten Module object]"}):v3?(typeof read<"u"&&(A0.read=function(t1){return read(t1)}),A0.readBinary=function(t1){var y1;return typeof readbuffer=="function"?new Uint8Array(readbuffer(t1)):(Er(typeof(y1=read(t1,"binary"))=="object"),y1)},typeof scriptArgs<"u"?A0.arguments=scriptArgs:typeof arguments<"u"&&(A0.arguments=arguments),typeof quit=="function"&&(A0.quit=function(R0){quit(R0)})):(p3||w3)&&(p3?document.currentScript&&(x6=document.currentScript.src):x6=self.location.href,x6=x6.indexOf("blob:")!==0?x6.split("/").slice(0,-1).join("/")+"/":"",A0.read=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.send(null),y1.responseText},w3&&(A0.readBinary=function(t1){var y1=new XMLHttpRequest;return y1.open("GET",t1,!1),y1.responseType="arraybuffer",y1.send(null),new Uint8Array(y1.response)}),A0.readAsync=function(t1,y1,_2){var t6=new XMLHttpRequest;t6.open("GET",t1,!0),t6.responseType="arraybuffer",t6.onload=function(){if(t6.status==200||t6.status==0&&t6.response){y1(t6.response);return}_2()},t6.onerror=_2,t6.send(null)},A0.setWindowTitle=function(R0){document.title=R0});var P3=A0.print||(typeof console<"u"?console.log.bind(console):typeof print<"u"?print:null),w6=A0.printErr||(typeof printErr<"u"?printErr:typeof console<"u"&&console.warn.bind(console)||P3);for(n in C5)C5.hasOwnProperty(n)&&(A0[n]=C5[n]);function Me(R0){var t1=t0;return t0=t0+R0+15&-16,t1}function Wr(R0){var t1=O[f2>>2],y1=t1+R0+15&-16;return O[f2>>2]=y1,y1>=N9&&!Zr()?(O[f2>>2]=t1,0):t1}function j7(R0,t1){return t1||(t1=16),R0=Math.ceil(R0/t1)*t1}function za(R0){switch(R0){case"i1":case"i8":return 1;case"i16":return 2;case"i32":case"float":return 4;case"i64":case"double":return 8;default:if(R0[R0.length-1]==="*")return 4;if(R0[0]!=="i")return 0;var t1=parseInt(R0.substr(1));return Er(t1%8==0),t1/8}}function Ho(R0){Ho.shown||(Ho.shown={}),Ho.shown[R0]||(Ho.shown[R0]=1,w6(R0))}C5=void 0;var Tp={"f64-rem":function(R0,t1){return R0%t1},debugger:function(){}},L$=[];function iC(R0,t1){for(var y1=0,_2=y1;_2>>0)+4294967296*+(t1>>>0):+(R0>>>0)+4294967296*+(0|t1)}function M$(R0,t1,y1){return y1&&y1.length?A0["dynCall_"+R0].apply(null,[t1].concat(y1)):A0["dynCall_"+R0].call(null,t1)}var Ka=0,Qu=0;function Er(R0,t1){R0||X7("Assertion failed: "+t1)}function Wa(R0){var t1=A0["_"+R0];return Er(t1,"Cannot call unknown function "+R0+", make sure it is exported"),t1}var Np={stackSave:function(){Jp()},stackRestore:function(){V$()},arrayToC:function(R0){var t1,y1,_2=Za(R0.length);return t1=R0,y1=_2,h.set(t1,y1),_2},stringToC:function(R0){var t1=0;if(R0!=null&&R0!==0){var y1=(R0.length<<2)+1;t1=Za(y1),Up(R0,t1,y1)}return t1}},Yo={string:Np.stringToC,array:Np.arrayToC};function yu(R0,t1,y1,_2,t6){var p9=Wa(R0),X9=[],p6=0;if(_2)for(var w8=0;w8<_2.length;w8++){var H4=Yo[y1[w8]];H4?(p6===0&&(p6=Jp()),X9[w8]=H4(_2[w8])):X9[w8]=_2[w8]}var rt,M4=p9.apply(null,X9);return M4=(rt=M4,t1==="string"?F$(rt):t1==="boolean"?!!rt:rt),p6!==0&&V$(p6),M4}function O3(R0,t1,y1,_2){switch((y1=y1||"i8").charAt(y1.length-1)==="*"&&(y1="i32"),y1){case"i1":case"i8":h[R0>>0]=t1;break;case"i16":P[R0>>1]=t1;break;case"i32":O[R0>>2]=t1;break;case"i64":tempI64=[t1>>>0,+ku(tempDouble=t1)>=1?tempDouble>0?(0|bu(+Su(tempDouble/4294967296),4294967295))>>>0:~~+H$((tempDouble-+(~~tempDouble>>>0))/4294967296)>>>0:0],O[R0>>2]=tempI64[0],O[R0+4>>2]=tempI64[1];break;case"float":W0[R0>>2]=t1;break;case"double":_[R0>>3]=t1;break;default:X7("invalid type for setValue: "+y1)}}function C3(R0,t1,y1){switch((t1=t1||"i8").charAt(t1.length-1)==="*"&&(t1="i32"),t1){case"i1":case"i8":return h[R0>>0];case"i16":return P[R0>>1];case"i32":case"i64":return O[R0>>2];case"float":return W0[R0>>2];case"double":return _[R0>>3];default:X7("invalid type for getValue: "+t1)}return null}function $B(R0,t1,y1,_2){typeof R0=="number"?(p9=!0,X9=R0):(p9=!1,X9=R0.length);var t6=typeof t1=="string"?t1:null;if(p6=y1==4?_2:[typeof Zo=="function"?Zo:Me,Za,Me,Wr][y1===void 0?2:y1](Math.max(X9,t6?1:t1.length)),p9){for(_2=p6,Er((3&p6)==0),w8=p6+(-4&X9);_2>2]=0;for(w8=p6+X9;_2>0]=0;return p6}if(t6==="i8")return R0.subarray||R0.slice?p.set(R0,p6):p.set(new Uint8Array(R0),p6),p6;for(var p9,X9,p6,w8,H4,rt,M4,E9=0;E9>0],(_2!=0||t1)&&(X9++,!t1||X9!=t1););t1||(t1=X9);var p6="";if(p9<128){for(;t1>0;)t6=String.fromCharCode.apply(String,p.subarray(R0,R0+Math.min(t1,1024))),p6=p6?p6+t6:t6,R0+=1024,t1-=1024;return p6}return y1=R0,function(H4,rt){for(var M4=rt;H4[M4];)++M4;if(M4-rt>16&&H4.subarray&&Gp)return Gp.decode(H4.subarray(rt,M4));for(var E9,Gi,P7,v8,Ui,O7,q7="";;){if(!(E9=H4[rt++]))return q7;if(!(128&E9)){q7+=String.fromCharCode(E9);continue}if(Gi=63&H4[rt++],(224&E9)==192){q7+=String.fromCharCode((31&E9)<<6|Gi);continue}if(P7=63&H4[rt++],(240&E9)==224?E9=(15&E9)<<12|Gi<<6|P7:(v8=63&H4[rt++],(248&E9)==240?E9=(7&E9)<<18|Gi<<12|P7<<6|v8:(Ui=63&H4[rt++],E9=(252&E9)==248?(3&E9)<<24|Gi<<18|P7<<12|v8<<6|Ui:(1&E9)<<30|Gi<<24|P7<<18|v8<<12|Ui<<6|(O7=63&H4[rt++]))),E9<65536)q7+=String.fromCharCode(E9);else{var Pn=E9-65536;q7+=String.fromCharCode(55296|Pn>>10,56320|1023&Pn)}}}(p,y1)}function lB(R0){for(var t1="";;){var y1=h[R0++>>0];if(!y1)return t1;t1+=String.fromCharCode(y1)}}function Vo(R0,t1){return function(_2,t6,p9){for(var X9=0;X9<_2.length;++X9)h[t6++>>0]=_2.charCodeAt(X9);p9||(h[t6>>0]=0)}(R0,t1,!1)}var Gp=typeof TextDecoder<"u"?new TextDecoder("utf8"):void 0;function Gn(R0,t1,y1,_2){if(!(_2>0))return 0;for(var t6=y1,p9=y1+_2-1,X9=0;X9=55296&&p6<=57343&&(p6=65536+((1023&p6)<<10)|1023&R0.charCodeAt(++X9)),p6<=127){if(y1>=p9)break;t1[y1++]=p6}else if(p6<=2047){if(y1+1>=p9)break;t1[y1++]=192|p6>>6,t1[y1++]=128|63&p6}else if(p6<=65535){if(y1+2>=p9)break;t1[y1++]=224|p6>>12,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=2097151){if(y1+3>=p9)break;t1[y1++]=240|p6>>18,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else if(p6<=67108863){if(y1+4>=p9)break;t1[y1++]=248|p6>>24,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}else{if(y1+5>=p9)break;t1[y1++]=252|p6>>30,t1[y1++]=128|p6>>24&63,t1[y1++]=128|p6>>18&63,t1[y1++]=128|p6>>12&63,t1[y1++]=128|p6>>6&63,t1[y1++]=128|63&p6}}return t1[y1]=0,y1-t6}function Up(R0,t1,y1){return Gn(R0,p,t1,y1)}function Jo(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&(_2=65536+((1023&_2)<<10)|1023&R0.charCodeAt(++y1)),_2<=127?++t1:_2<=2047?t1+=2:_2<=65535?t1+=3:_2<=2097151?t1+=4:_2<=67108863?t1+=5:t1+=6}return t1}var Pp=typeof TextDecoder<"u"?new TextDecoder("utf-16le"):void 0;function cB(R0){for(var t1=R0,y1=t1>>1;P[y1];)++y1;if((t1=y1<<1)-R0>32&&Pp)return Pp.decode(p.subarray(R0,t1));for(var _2=0,t6="";;){var p9=P[R0+2*_2>>1];if(p9==0)return t6;++_2,t6+=String.fromCharCode(p9)}}function gB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<2)return 0;for(var _2=t1,t6=(y1-=2)<2*R0.length?y1/2:R0.length,p9=0;p9>1]=X9,t1+=2}return P[t1>>1]=0,t1-_2}function uB(R0){return 2*R0.length}function hB(R0){for(var t1=0,y1="";;){var _2=O[R0+4*t1>>2];if(_2==0)return y1;if(++t1,_2>=65536){var t6=_2-65536;y1+=String.fromCharCode(55296|t6>>10,56320|1023&t6)}else y1+=String.fromCharCode(_2)}}function dB(R0,t1,y1){if(y1===void 0&&(y1=2147483647),y1<4)return 0;for(var _2=t1,t6=_2+y1-4,p9=0;p9=55296&&X9<=57343&&(X9=65536+((1023&X9)<<10)|1023&R0.charCodeAt(++p9)),O[t1>>2]=X9,(t1+=4)+4>t6)break}return O[t1>>2]=0,t1-_2}function fB(R0){for(var t1=0,y1=0;y1=55296&&_2<=57343&&++y1,t1+=4}return t1}function IB(R0){var t1=Jo(R0)+1,y1=Zo(t1);return y1&&Gn(R0,h,y1,t1),y1}function mB(R0){var t1=Jo(R0)+1,y1=Za(t1);return Gn(R0,h,y1,t1),y1}function Op(R0){return R0}function nC(){var R0,t1=function(){var _2=Error();if(!_2.stack){try{throw Error(0)}catch(t6){_2=t6}if(!_2.stack)return"(no stack trace available)"}return _2.stack.toString()}();return A0.extraStackTrace&&(t1+=` +`+A0.extraStackTrace()),(R0=t1).replace(/__Z[\w\d_]+/g,function(y1){var _2,t6=_2=y1;return y1===t6?y1:y1+" ["+t6+"]"})}function wu(R0,t1){return R0%t1>0&&(R0+=t1-R0%t1),R0}function qp(R0){A0.buffer=c=R0}function j9(){A0.HEAP8=h=new Int8Array(c),A0.HEAP16=P=new Int16Array(c),A0.HEAP32=O=new Int32Array(c),A0.HEAPU8=p=new Uint8Array(c),A0.HEAPU16=X=new Uint16Array(c),A0.HEAPU32=U=new Uint32Array(c),A0.HEAPF32=W0=new Float32Array(c),A0.HEAPF64=_=new Float64Array(c)}function Zr(){var R0=A0.usingWasm?65536:16777216,t1=2147483648-R0;if(O[f2>>2]>t1)return!1;var y1=N9;for(N9=Math.max(N9,16777216);N9>2];)N9=N9<=536870912?wu(2*N9,R0):Math.min(wu((3*N9+2147483648)/4,R0),t1);var _2=A0.reallocBuffer(N9);return _2&&_2.byteLength==N9?(qp(_2),j9(),!0):(N9=y1,!1)}q=t0=S1=c1=I2=$2=f2=0,n1=!1,A0.reallocBuffer||(A0.reallocBuffer=function(R0){try{if(ArrayBuffer.transfer)t1=ArrayBuffer.transfer(c,R0);else{var t1,y1=h;t1=new ArrayBuffer(R0),new Int8Array(t1).set(y1)}}catch{return!1}return!!aC(t1)&&t1});try{(K2=Function.prototype.call.bind(Object.getOwnPropertyDescriptor(ArrayBuffer.prototype,"byteLength").get))(new ArrayBuffer(4))}catch{K2=function(t1){return t1.byteLength}}var T$=A0.TOTAL_STACK||5242880,N9=A0.TOTAL_MEMORY||16777216;function N$(){return N9}function zo(R0){for(;R0.length>0;){var t1=R0.shift();if(typeof t1=="function"){t1();continue}var y1=t1.func;typeof y1=="number"?t1.arg===void 0?A0.dynCall_v(y1):A0.dynCall_vi(y1,t1.arg):y1(t1.arg===void 0?null:t1.arg)}}N9=0?R0:t1<=32?2*Math.abs(1<=_2&&(t1<=32||R0>_2)&&(R0=-2*_2+R0),R0}var ku=Math.abs,H$=Math.ceil,Su=Math.floor,bu=Math.min,Un=0,Du=null,Wo=null;function pB(R0){return R0}A0.preloadedImages={},A0.preloadedAudios={};var Vp="data:application/octet-stream;base64,";function Y$(R0){return String.prototype.startsWith?R0.startsWith(Vp):R0.indexOf(Vp)===0}(function(){var t1="main.wast",y1="main.wasm",_2="main.temp.asm.js";Y$(t1)||(t1=u9(t1)),Y$(y1)||(y1=u9(y1)),Y$(_2)||(_2=u9(_2));var t6={global:null,env:null,asm2wasm:Tp,parent:A0},p9=null;function X9(M4){return M4}function p6(){try{if(A0.wasmBinary)return new Uint8Array(A0.wasmBinary);if(A0.readBinary)return A0.readBinary(y1);throw"both async and sync fetching of the wasm failed"}catch(M4){X7(M4)}}A0.asmPreload=A0.asm;var w8=A0.reallocBuffer,H4=function(M4){M4=wu(M4,A0.usingWasm?65536:16777216);var E9=A0.buffer.byteLength;if(A0.usingWasm)try{var Gi=A0.wasmMemory.grow((M4-E9)/65536);return Gi!==-1?A0.buffer=A0.wasmMemory.buffer:null}catch{return null}};A0.reallocBuffer=function(M4){return rt==="asmjs"?w8(M4):H4(M4)};var rt="";A0.asm=function(M4,E9,Gi){var P7;if(!(E9=P7=E9).table){var v8,Ui=A0.wasmTableSize;Ui===void 0&&(Ui=1024);var O7=A0.wasmMaxTableSize;typeof WebAssembly=="object"&&typeof WebAssembly.Table=="function"?O7!==void 0?E9.table=new WebAssembly.Table({initial:Ui,maximum:O7,element:"anyfunc"}):E9.table=new WebAssembly.Table({initial:Ui,element:"anyfunc"}):E9.table=Array(Ui),A0.wasmTable=E9.table}return E9.memoryBase||(E9.memoryBase=A0.STATIC_BASE),E9.tableBase||(E9.tableBase=0),v8=function(Pn,Cr,zp){if(typeof WebAssembly!="object")return w6("no native wasm support detected"),!1;if(!(A0.wasmMemory instanceof WebAssembly.Memory))return w6("no native wasm Memory in use"),!1;function _u(Br,er){if((p9=Br.exports).memory){var ja,jo,Xo;ja=p9.memory,jo=A0.buffer,ja.byteLength0?y1:Jo(R0)+1,t6=Array(_2),p9=Gn(R0,t6,0,t6.length);return t1&&(t6.length=p9),t6}function sC(R0){for(var t1=[],y1=0;y1255&&(_2&=255),t1.push(String.fromCharCode(_2))}return t1.join("")}t0+=16,f2=Me(4),I2=(S1=c1=j7(t0))+T$,$2=j7(I2),O[f2>>2]=$2,n1=!0,A0.wasmTableSize=4,A0.wasmMaxTableSize=4,A0.asmGlobalArg={},A0.asmLibraryArg={abort:X7,assert:Er,enlargeMemory:Zr,getTotalMemory:N$,abortOnCannotGrowMemory:function(){X7("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+N9+", (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 ")},invoke_iii:function(t1,y1,_2){var t6=Jp();try{return A0.dynCall_iii(t1,y1,_2)}catch(p9){if(V$(t6),typeof p9!="number"&&p9!=="longjmp")throw p9;A0.setThrew(1,0)}},___assert_fail:function(t1,y1,_2,t6){X7("Assertion failed: "+F$(t1)+", at: "+[y1?F$(y1):"unknown filename",_2,t6?F$(t6):"unknown function"])},___setErrNo:function(t1){return A0.___errno_location&&(O[A0.___errno_location()>>2]=t1),t1},_abort:function(){A0.abort()},_emscripten_memcpy_big:function(t1,y1,_2){return p.set(p.subarray(y1,y1+_2),t1),t1},_llvm_floor_f64:Su,DYNAMICTOP_PTR:f2,tempDoublePtr:Ni,ABORT:Ka,STACKTOP:c1,STACK_MAX:I2};var en=A0.asm(A0.asmGlobalArg,A0.asmLibraryArg,c);A0.asm=en,A0.___errno_location=function(){return A0.asm.___errno_location.apply(null,arguments)};var aC=A0._emscripten_replace_memory=function(){return A0.asm._emscripten_replace_memory.apply(null,arguments)};A0._free=function(){return A0.asm._free.apply(null,arguments)};var Zo=A0._malloc=function(){return A0.asm._malloc.apply(null,arguments)};A0._memcpy=function(){return A0.asm._memcpy.apply(null,arguments)},A0._memset=function(){return A0.asm._memset.apply(null,arguments)},A0._sbrk=function(){return A0.asm._sbrk.apply(null,arguments)},A0._stb_vorbis_js_channels=function(){return A0.asm._stb_vorbis_js_channels.apply(null,arguments)},A0._stb_vorbis_js_close=function(){return A0.asm._stb_vorbis_js_close.apply(null,arguments)},A0._stb_vorbis_js_decode=function(){return A0.asm._stb_vorbis_js_decode.apply(null,arguments)},A0._stb_vorbis_js_open=function(){return A0.asm._stb_vorbis_js_open.apply(null,arguments)},A0._stb_vorbis_js_sample_rate=function(){return A0.asm._stb_vorbis_js_sample_rate.apply(null,arguments)},A0.establishStackSpace=function(){return A0.asm.establishStackSpace.apply(null,arguments)},A0.getTempRet0=function(){return A0.asm.getTempRet0.apply(null,arguments)},A0.runPostSets=function(){return A0.asm.runPostSets.apply(null,arguments)},A0.setTempRet0=function(){return A0.asm.setTempRet0.apply(null,arguments)},A0.setThrew=function(){return A0.asm.setThrew.apply(null,arguments)};var Za=A0.stackAlloc=function(){return A0.asm.stackAlloc.apply(null,arguments)},V$=A0.stackRestore=function(){return A0.asm.stackRestore.apply(null,arguments)},Jp=A0.stackSave=function(){return A0.asm.stackSave.apply(null,arguments)};function J$(R0){this.name="ExitStatus",this.message="Program terminated with exit("+R0+")",this.status=R0}function z$(R0){R0=R0||A0.arguments,!(Un>0)&&(function(){if(A0.preRun)for(typeof A0.preRun=="function"&&(A0.preRun=[A0.preRun]);A0.preRun.length;)oC(A0.preRun.shift());zo(jr)}(),!(Un>0)&&(A0.calledRun||(A0.setStatus?(A0.setStatus("Running..."),setTimeout(function(){setTimeout(function(){A0.setStatus("")},1),t1()},1)):t1())));function t1(){!A0.calledRun&&(A0.calledRun=!0,Ka||(P$||(P$=!0,zo(G$)),zo(vu),A0.onRuntimeInitialized&&A0.onRuntimeInitialized(),function(){if(A0.postRun)for(typeof A0.postRun=="function"&&(A0.postRun=[A0.postRun]);A0.postRun.length;)U7(A0.postRun.shift());zo(U$)}()))}}function AC(R0,t1){(!t1||!A0.noExitRuntime||R0!==0)&&(A0.noExitRuntime||(Ka=!0,Qu=R0,c1=J2,zo(v7),G7=!0,A0.onExit&&A0.onExit(R0)),A0.quit(R0,new J$(R0)))}function X7(R0){throw A0.onAbort&&A0.onAbort(R0),R0!==void 0?(P3(R0),w6(R0),R0=JSON.stringify(R0)):R0="",Ka=!0,Qu=1,"abort("+R0+"). Build with -s ASSERTIONS=1 for more info."}if(A0.dynCall_iii=function(){return A0.asm.dynCall_iii.apply(null,arguments)},A0.asm=en,A0.ccall=yu,A0.cwrap=function(t1,y1,_2,t6){var p9=(_2=_2||[]).every(function(X9){return X9==="number"});return y1!=="string"&&p9&&!t6?Wa(t1):function(){return yu(t1,y1,_2,arguments,t6)}},J$.prototype=Error(),J$.prototype.constructor=J$,Wo=function R0(){A0.calledRun||z$(),A0.calledRun||(Wo=R0)},A0.run=z$,A0.abort=X7,A0.preInit)for(typeof A0.preInit=="function"&&(A0.preInit=[A0.preInit]);A0.preInit.length>0;)A0.preInit.pop()();A0.noExitRuntime=!0,z$(),A0.onRuntimeInitialized=()=>{ak=!0,Ak()},Va.decode=function(R0){return function(y1){if(!ak)throw Error("Not initialized");var _2={};function t6(Cr){return new Int32Array(A0.HEAPU8.buffer,Cr,1)[0]}function p9(Cr,zp){var _u=new ArrayBuffer(zp*Float32Array.BYTES_PER_ELEMENT),bt=new Float32Array(_u);return bt.set(new Float32Array(A0.HEAPU8.buffer,Cr,zp)),bt}_2.open=A0.cwrap("stb_vorbis_js_open","number",[]),_2.close=A0.cwrap("stb_vorbis_js_close","void",["number"]),_2.channels=A0.cwrap("stb_vorbis_js_channels","number",["number"]),_2.sampleRate=A0.cwrap("stb_vorbis_js_sample_rate","number",["number"]),_2.decode=A0.cwrap("stb_vorbis_js_decode","number",["number","number","number","number","number"]);var X9,p6,w8,H4,rt=_2.open(),M4=(X9=y1,p6=y1.byteLength,w8=A0._malloc(p6),(H4=new Uint8Array(A0.HEAPU8.buffer,w8,p6)).set(new Uint8Array(X9,0,p6)),H4),E9=A0._malloc(4),Gi=A0._malloc(4),P7=_2.decode(rt,M4.byteOffset,M4.byteLength,E9,Gi);if(A0._free(M4.byteOffset),P7<0)throw _2.close(rt),A0._free(E9),Error("stbvorbis decode failed: "+P7);for(var v8=_2.channels(rt),Ui=Array(v8),O7=new Int32Array(A0.HEAPU32.buffer,t6(E9),v8),q7=0;q7n.chunkData.currentIndex;){let p=XD(h,n.chunkData,i,A);c.push(p),h++}return c.length>1&&c.pop(),c}function XD(n,i,A,c){let h=Q4(i,20),p=s3(i,4)*2,P=s3(i,4)*2,X=s3(i,4),O=s3(i,4),U=s3(i,4),W0=i[i.currentIndex++];W0===255&&(W0=60);let _=ky(i[i.currentIndex++]),q=s3(i,2),t0=s3(i,2);return new ZC(h,p,P,X,O,U,W0,_,q,t0,A,n,c)}var jC=class extends u6{constructor(i){super();let A=i.currentIndex;this.generatorType=i[A+1]<<8|i[A],this.generatorValue=Ga(i[A+2],i[A+3]),i.currentIndex+=4}};function XC(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new jC(n.chunkData));return i.length>1&&i.pop(),i}var eB=class extends Cu{constructor(i){super(),this.instrumentName=Q4(i.chunkData,20).trim(),this.instrumentZoneIndex=s3(i.chunkData,2),this.instrumentZonesAmount=0}getInstrumentZones(i,A){this.instrumentZonesAmount=i;for(let c=this.instrumentZoneIndex;cn.chunkData.currentIndex;){let c=new eB(n);if(A.length>0){let h=c.instrumentZoneIndex-A[A.length-1].instrumentZoneIndex;A[A.length-1].getInstrumentZones(h,i)}A.push(c)}return A.length>1&&A.pop(),A}var tB=class extends zr{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.sampleID);A&&(this.sample=i[A.generatorValue],this.isGlobal=!1,this.sample.useCount++)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function ck(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new tB(n.chunkData);if(h.length>0){let P=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,X=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(P,X),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getSample(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var iB=class extends pu{constructor(i){super(),this.generatorZoneStartIndex=s3(i,2),this.modulatorZoneStartIndex=s3(i,2),this.modulatorZoneSize=0,this.generatorZoneSize=0,this.isGlobal=!0}setZoneSize(i,A){this.modulatorZoneSize=i,this.generatorZoneSize=A}getGenerators(i){for(let A=this.generatorZoneStartIndex;Ac.generatorType===m0.instrument);A&&(this.instrument=i[A.generatorValue],this.instrument.addUseCount(),this.isGlobal=!1)}getKeyRange(){let i=this.generators.find(A=>A.generatorType===m0.keyRange);i&&(this.keyRange.min=i.generatorValue&127,this.keyRange.max=i.generatorValue>>8&127)}getVelRange(){let i=this.generators.find(A=>A.generatorType===m0.velRange);i&&(this.velRange.min=i.generatorValue&127,this.velRange.max=i.generatorValue>>8&127)}};function gk(n,i,A,c){let h=[];for(;n.chunkData.length>n.chunkData.currentIndex;){let p=new iB(n.chunkData);if(h.length>0){let P=p.modulatorZoneStartIndex-h[h.length-1].modulatorZoneStartIndex,X=p.generatorZoneStartIndex-h[h.length-1].generatorZoneStartIndex;h[h.length-1].setZoneSize(P,X),h[h.length-1].getGenerators(i),h[h.length-1].getModulators(A),h[h.length-1].getInstrument(c),h[h.length-1].getKeyRange(),h[h.length-1].getVelRange()}h.push(p)}return h.length>1&&h.pop(),h}var rB=class extends Eu{constructor(i,A){super(A),this.presetName=Q4(i.chunkData,20).trim().replace(/\d{3}:\d{3}/,""),this.program=s3(i.chunkData,2),this.bank=s3(i.chunkData,2),this.presetZoneStartIndex=s3(i.chunkData,2),this.library=s3(i.chunkData,4),this.genre=s3(i.chunkData,4),this.morphology=s3(i.chunkData,4),this.presetZonesAmount=0}getPresetZones(i,A){this.presetZonesAmount=i;for(let c=this.presetZoneStartIndex;cn.chunkData.currentIndex;){let h=new rB(n,A);if(c.length>0){let p=h.presetZoneStartIndex-c[c.length-1].presetZoneStartIndex;c[c.length-1].getPresetZones(p,i)}c.push(h)}return c.length>1&&c.pop(),c}var nB=class extends $e{constructor(i){super({srcEnum:s3(i,2),dest:s3(i,2),amt:Ga(i[i.currentIndex++],i[i.currentIndex++]),secSrcEnum:s3(i,2),transform:s3(i,2)})}};function jE(n){let i=[];for(;n.chunkData.length>n.chunkData.currentIndex;)i.push(new nB(n.chunkData));return i}var XE=class extends Ya{constructor(i,A=!0){super(),A&&console.warn("Using the constructor directly is deprecated. Use loadSoundFont instead."),this.dataArray=new j5(i),M7("%cParsing SoundFont...",C1.info),this.dataArray||(g9(),this.parsingError("No data provided!"));let c=Be(this.dataArray,!1);this.verifyHeader(c,"riff");let h=Q4(this.dataArray,4).toLowerCase();if(h!=="sfbk"&&h!=="sfpk")throw g9(),new SyntaxError(`Invalid soundFont! Expected "sfbk" or "sfpk" got "${h}"`);let p=h==="sfpk",P=Be(this.dataArray);for(this.verifyHeader(P,"list"),Q4(P.chunkData,4);P.chunkData.length>P.chunkData.currentIndex;){let m6=Be(P.chunkData),v3;switch(m6.header.toLowerCase()){case"ifil":case"iver":v3=`${s3(m6.chunkData,2)}.${s3(m6.chunkData,2)}`,this.soundFontInfo[m6.header]=v3;break;case"icmt":v3=Q4(m6.chunkData,m6.chunkData.length,void 0,!1),this.soundFontInfo[m6.header]=v3;break;case"dmod":let x6=jE(m6);x6.pop(),v3=`Modulators: ${x6.length}`;let u9=this.defaultModulators;this.defaultModulators=x6,this.defaultModulators.push(...u9.filter(P3=>!this.defaultModulators.find(w6=>$e.isIdentical(P3,w6)))),this.soundFontInfo[m6.header]=m6.chunkData;break;default:v3=Q4(m6.chunkData,m6.chunkData.length),this.soundFontInfo[m6.header]=v3}U5(`%c"${m6.header}": %c"${v3}"`,C1.info,C1.recognized)}let X=Be(this.dataArray,!1);this.verifyHeader(X,"list"),this.verifyText(Q4(this.dataArray,4),"sdta"),U5("%cVerifying smpl chunk...",C1.warn);let O=Be(this.dataArray,!1);this.verifyHeader(O,"smpl");let U;if(p){U5("%cSF2Pack detected, attempting to decode the smpl chunk...",C1.info);try{U=Va.decode(this.dataArray.buffer.slice(this.dataArray.currentIndex,this.dataArray.currentIndex+X.size-12)).data[0]}catch(m6){throw g9(),new Error(`SF2Pack Ogg Vorbis decode error: ${m6}`)}U5(`%cDecoded the smpl chunk! Length: %c${U.length}`,C1.info,C1.value)}else U=this.dataArray,this.sampleDataStartIndex=this.dataArray.currentIndex;U5(`%cSkipping sample chunk, length: %c${X.size-12}`,C1.info,C1.value),this.dataArray.currentIndex+=X.size-12,U5("%cLoading preset data chunk...",C1.warn);let W0=Be(this.dataArray);this.verifyHeader(W0,"list"),Q4(W0.chunkData,4);let _=Be(W0.chunkData);this.verifyHeader(_,"phdr");let q=Be(W0.chunkData);this.verifyHeader(q,"pbag");let t0=Be(W0.chunkData);this.verifyHeader(t0,"pmod");let n1=Be(W0.chunkData);this.verifyHeader(n1,"pgen");let S1=Be(W0.chunkData);this.verifyHeader(S1,"inst");let c1=Be(W0.chunkData);this.verifyHeader(c1,"ibag");let I2=Be(W0.chunkData);this.verifyHeader(I2,"imod");let $2=Be(W0.chunkData);this.verifyHeader($2,"igen");let f2=Be(W0.chunkData);this.verifyHeader(f2,"shdr"),this.dataArray.currentIndex=this.sampleDataStartIndex,this.samples.push(...$k(f2,U,!p));let K2=XC($2),J2=jE(I2),A0=ck(c1,K2,J2,this.samples);this.instruments=lk(S1,A0);let C5=XC(n1),p3=jE(t0),w3=gk(q,C5,p3,this.instruments);this.presets.push(...uk(_,w3,this.defaultModulators)),this.presets.sort((m6,v3)=>m6.program-v3.program+(m6.bank-v3.bank)),U5(`%cParsing finished! %c"${this.soundFontInfo.INAM}"%c has %c${this.presets.length} %cpresets, + %c${this.instruments.length}%c instruments and %c${this.samples.length}%c samples.`,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info,C1.recognized,C1.info),g9(),p&&delete this.dataArray}verifyHeader(i,A){i.header.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid chunk header! Expected "${A.toLowerCase()}" got "${i.header.toLowerCase()}"`))}verifyText(i,A){i.toLowerCase()!==A.toLowerCase()&&(g9(),this.parsingError(`Invalid FourCC: Expected "${A.toLowerCase()}" got "${i.toLowerCase()}"\``))}destroySoundfont(){super.destroySoundfont(),delete this.dataArray}};function Ja(n){let i=n.slice(8,12),A=new j5(i);return Q4(A,4,void 0,!1).toLowerCase()==="dls "?new qo(n):new XE(n,!1)}async function hk(){let n="locale.exportAudio.formats.formats.soundfont.options.";w4(this.localeManager.getLocaleString(n+"title"),[{type:"toggle",translatePathTitle:n+"trim",attributes:{"trim-toggle":"1",checked:"checked"}},{type:"toggle",translatePathTitle:n+"compress",attributes:{"compress-toggle":"1"}},{type:"range",translatePathTitle:n+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked,c=i.div.querySelector("input[compress-toggle='1']").checked,h=parseInt(i.div.querySelector("input[type='range']").value)/10;_e(i.id),M7("%cExporting minified soundfont...",C1.info);let p=await this.seq.getMIDI(),P=Ja(p.embeddedSoundFont||this.soundFont);Ua(p,await this.synth.getSynthesizerSnapshot()),A&&mu(P,p);let X=P.write({compress:c,compressionQuality:h,compressionFunction:this.compressionFunc}),O=new Blob([X.buffer],{type:"audio/soundfont"}),U=P.soundFontInfo.ifil.split(".")[0]==="3"?"sf3":"sf2";this.saveBlob(O,`${P.soundFontInfo.INAM||"unnamed"}.${U}`),g9()}}],99999999,!0,this.localeManager)}async function dk(){let n="locale.exportAudio.formats.";w4(this.localeManager.getLocaleString(n+"title"),[{type:"button",translatePathTitle:n+"formats.wav.button",onClick:i=>{_e(i.id),this._exportAudioData()}},{type:"button",translatePathTitle:n+"formats.midi.button",onClick:i=>{_e(i.id),this.exportMidi()}},{type:"button",translatePathTitle:n+"formats.soundfont.button",onClick:i=>{_e(i.id);try{this._exportSoundfont()}catch{w4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.dls.button",onClick:i=>{_e(i.id);try{this._exportDLS()}catch{w4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}},{type:"button",translatePathTitle:n+"formats.rmidi.button",onClick:i=>{_e(i.id);try{this._exportRMIDI()}catch{w4("Warning",[{type:"text",textContent:this.localeManager.getLocaleString("locale.warnings.outOfMemory")}])}}}],999999,!0,this.localeManager,{display:"flex",flexWrap:"wrap",justifyContent:"center"})}async function fk(){let n=(_,q,t0)=>this.seq.midiData.RMIDInfo?.[_]===void 0?q:t0.decode(this.seq.midiData.RMIDInfo?.[_]).replace(/\0$/,""),i=n("IENC","ascii",new TextDecoder),A=new TextDecoder(i),c=n("IPRD","",A),h=n("IART","",A),p=n("IGNR","",A),P=n("ICMT","Created using SpessaSynth: https://spessasus.github.io/SpessaSynth",A),X="locale.exportAudio.formats.formats.rmidi.options.",O="locale.exportAudio.formats.metadata.",W0=w4(this.localeManager.getLocaleString(X+"title"),[{type:"toggle",translatePathTitle:X+"compress",attributes:{"compress-toggle":"1",checked:"true"}},{type:"range",translatePathTitle:X+"quality",attributes:{min:"0",max:"10",value:"5"}},{type:"input",translatePathTitle:O+"songTitle",attributes:{name:"song_title",type:"text",value:this.seqUI.currentSongTitle}},{type:"input",translatePathTitle:O+"album",attributes:{value:c,name:"album",type:"text"}},{type:"input",translatePathTitle:O+"artist",attributes:{value:h,name:"artist",type:"text"}},{type:"input",translatePathTitle:O+"genre",attributes:{value:p,name:"genre",type:"text"}},{type:"input",translatePathTitle:O+"comment",attributes:{value:P,name:"comment",type:"text"}},{type:"file",translatePathTitle:O+"albumCover",attributes:{value:this.seq.midiData.RMIDInfo?.IPIC!==void 0?this.seq.midiData.RMIDInfo.IPIC:"",name:"cover",accept:"image/*"}},{type:"input",translatePathTitle:X+"bankOffset",attributes:{value:this.seq.midiData.bankOffset,name:"bank_offset",type:"number"}},{type:"toggle",translatePathTitle:X+"adjust",attributes:{name:"adjust",checked:"checked"}},{type:"button",textContent:this.localeManager.getLocaleString(X+"confirm"),onClick:async _=>{let q=_.div.querySelector("input[compress-toggle='1']").checked,t0=parseInt(_.div.querySelector("input[type='range']").value)/10,n1=_.div.querySelector("input[name='album']").value,S1=_.div.querySelector("input[name='artist']").value,c1=_.div.querySelector("input[name='song_title']").value,I2=_.div.querySelector("input[name='comment']").value,$2=_.div.querySelector("input[name='genre']").value,f2=parseInt(_.div.querySelector("input[name='bank_offset']").value),K2=_.div.querySelector("input[name='adjust']").checked,J2=_.div.querySelector("input[type='file']")?.files[0];_e(_.id),y8("%cExporting RMIDI...",C1.info);let A0="locale.exportAudio.formats.formats.rmidi.progress.",C5=w4(this.localeManager.getLocaleString(A0+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(A0+"loading"),attributes:{class:"export_rmidi_message"}}],9999999,!1);await new Promise(w6=>setTimeout(w6,500));let p3=C5.div.getElementsByClassName("export_rmidi_message")[0],w3=await this.seq.getMIDI(),m6=Ja(w3.embeddedSoundFont||this.soundFont);p3.textContent=this.localeManager.getLocaleString(A0+"modifyingMIDI"),await new Promise(w6=>setTimeout(w6,75)),Ua(w3,await this.synth.getSynthesizerSnapshot()),p3.textContent=this.localeManager.getLocaleString(A0+"modifyingSoundfont"),await new Promise(w6=>setTimeout(w6,75)),mu(m6,w3);let v3=m6.write({compress:q,compressionQuality:t0,compressionFunction:this.compressionFunc});p3.textContent=this.localeManager.getLocaleString(A0+"saving"),await new Promise(w6=>setTimeout(w6,75));let x6;J2?.type.split("/")[0]==="image"?x6=await J2.arrayBuffer():w3.RMIDInfo?.IPIC!==void 0&&(x6=w3.RMIDInfo.IPIC.buffer);let u9=Sy(v3,w3,m6,f2,this.seqUI.encoding,{name:c1,comment:I2,engineer:m6.soundFontInfo.IENG,picture:x6,album:n1.length>0?n1:void 0,artist:S1.length>0?S1:void 0,genre:$2.length>0?$2:void 0,midiEncoding:this.seqUI.encoding},K2),P3=new Blob([u9.buffer],{type:"audio/rmid"});this.saveBlob(P3,`${c1||"unnamed_song"}.rmi`),p3.textContent=this.localeManager.getLocaleString(A0+"done"),_e(C5.id),g9()}}],9999999,!0,this.localeManager).div.querySelector("input[type='file']");W0.oninput=()=>{W0.files[0]&&(W0.parentElement.firstChild.textContent=W0.files[0].name)}}var Ik="synthetizer/worklet_processor.min.js";var eC={init:function(){var n;n||(n=(typeof n<"u"?n:null)||{});var i={};for(var A in n)n.hasOwnProperty(A)&&(i[A]=n[A]);var c=typeof window=="object",h=typeof process=="object"&&typeof CE=="function"&&!c,p=typeof importScripts=="function",P=!c&&!h&&!p;if(h){n.print||(n.print=function(l){process.stdout.write(l+` `)}),n.printErr||(n.printErr=function(l){process.stderr.write(l+` -`)});var H=void 0,P=void 0;n.read=function(l,u){l=P.normalize(l);var f=H.readFileSync(l);return!f&&l!=P.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=H.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){W0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof Xa))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(O)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return e4(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var U=!1;n.print||(n.print=U&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function W0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){W0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return v7},stackRestore:function(r){v7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return e4(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(e4((r&7)===4),r+=4):e4((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){e4(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=v7;return v7=v7+r|0,v7=v7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=G7;if(G7=G7+r|0,G7=G7+15&-16,G7>=Ko){var u=oC();if(!u)return G7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var e0=0,i0=!1,a1=0,_1=0,f1,C2,u2,I2,K2,J2,A0,C5,p3,w3,m6,v3,x6,u9,P3,w6,Me,Wr,j7,za,Ho,Tp,L$,iC,Bk;function e4(r,l){r||es("Assertion failed: "+l)}var Qk=this;function rC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return e4(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var M$,Ka;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return Za(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),Zo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Ka=function(r1,x2,s,l1,C){var k5=rC(r1),w2=[],P5=0;if(l1)for(var G9=0;G9>0]=l;break;case"i8":j9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":N9[r>>2]=l;break;case"i64":u9=[l>>>0,(v3=l,+z$(v3)>=1?v3>0?(Gi(+H4(v3/4294967296),4294967295)|0)>>>0:~~+w8((v3-+(~~v3>>>0))/4294967296)>>>0:0)],N9[r>>2]=u9[0],N9[r+4>>2]=u9[1];break;case"float":W$[r>>2]=l;break;case"double":N$[r>>3]=l;break;default:es("invalid type for setValue: "+u)}}n.setValue=Qu;function Er(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return j9[r>>0];case"i8":return j9[r>>0];case"i16":return Zr[r>>1];case"i32":return N9[r>>2];case"i64":return N9[r>>2];case"float":return W$[r>>2];case"double":return N$[r>>3];default:es("invalid type for setValue: "+l)}return null}n.getValue=Er;var Wa=0,Np=1,Yo=2,yu=3,O3=4;n.ALLOC_NORMAL=Wa,n.ALLOC_STACK=Np,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=yu,n.ALLOC_NONE=O3;function C3(r,l,u,f){var Y,e;typeof r=="number"?(Y=!0,e=r):(Y=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==O3?r1=f:r1=[xu,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Yo:u](Math.max(e,X0?1:l.length)),Y){var f=r1,x2;for(e4((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?k7.set(r,r1):k7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(Y++,l&&Y==l)););l||(l=Y);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,k7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=R$;function F$(r){for(var l="";;){var u=j9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=F$;function cB(r,l){return V$(r,l,!1)}n.stringToAscii=cB;function Vo(r,l){for(var u,f,Y,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(Y=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|Y:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|Y<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|Y<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|Y<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=Vo;function Gp(r){return Vo(k7,r)}n.UTF8ToString=Gp;function Gn(r,l,u,f){if(!(f>0))return 0;for(var Y=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-Y}n.stringToUTF8Array=Gn;function Up(r,l,u){return Gn(r,k7,l,u)}n.stringToUTF8=Up;function Jo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Pp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Pp;function gB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,Y=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=gB;function uB(r){return r.length*2}n.lengthBytesUTF16=uB;function hB(r){for(var l=0,u="";;){var f=N9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var Y=f-65536;u+=String.fromCharCode(55296|Y>>10,56320|Y&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=hB;function dB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,Y=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(N9[l>>2]=X0,l+=4,l+4>Y)break}return N9[l>>2]=0,l-f}n.stringToUTF32=dB;function fB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=fB;function IB(r){var l=!!n.___cxa_demangle;if(l)try{var u=xu(r.length);Zo(r.substr(1),u);var f=xu(4),Y=n.___cxa_demangle(u,0,0,f);if(Er(f,"i32")===0&&Y)return R$(Y)}catch{}finally{u&&lC(u),f&&lC(f),Y&&lC(Y)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",G9=0;G9"}else K9=te;e:for(;e0;){var Qr=r[e++];if(Qr in X0)Qe.push(X0[Qr]);else switch(Qr){case"P":Qe.push(C(!0,1,!0)[0]+"*");break;case"R":Qe.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var j$=r.indexOf("E",e),It=j$-e;Qe.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,Qe.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:K9+="?"+Qr;break e}}return!G9&&Qe.length===1&&Qe[0]==="void"&&(Qe=[]),w2?(K9&&Qe.push(K9+"?"),Qe):K9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=R$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function mB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=IB(l);return l===u?l:l+" ["+u+"]"})}function pB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Op(){return mB(pB())}n.stackTrace=Op;var nC=4096;function wu(r){return r%4096>0&&(r+=4096-r%4096),r}var qp,j9,k7,Zr,T$,N9,K$,W$,N$,zo=0,jr=0,G$=!1,vu=0,v7=0,U$=0,P$=0,G7=0;function oC(){es("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ko+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Hp=n.TOTAL_STACK||5242880,Ko=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Yp=[],q$=[],ku=[],H$=[],Su=[],bu=!1,Un=!1;function Du(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Ni(n.preRun.shift());O$(Yp)}function Wo(){bu||(bu=!0,O$(q$))}function EB(){O$(ku)}function Vp(){O$(H$),Un=!0}function Y$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)sC(n.postRun.shift());O$(Su)}function Ni(r){Yp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Ni;function CB(r){q$.unshift(r)}n.addOnInit=n.addOnInit=CB;function BB(r){ku.unshift(r)}n.addOnPreMain=n.addOnPreMain=BB;function QB(r){H$.unshift(r)}n.addOnExit=n.addOnExit=QB;function sC(r){Su.unshift(r)}n.addOnPostRun=n.addOnPostRun=sC;function en(r,l,u){var f=u>0?u:Jo(r)+1,Y=new Array(f),e=Gn(r,Y,0,Y.length);return l&&(Y.length=e),Y}n.intArrayFromString=en;function aC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=aC;function Zo(r,l,u){for(var f=en(r,u),Y=0;Y>0]=e,Y=Y+1}}n.writeStringToMemory=Zo;function Za(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=Za;function V$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(j9[l>>0]=0)}n.writeAsciiToMemory=V$;function Jp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,Y=l&65535,e=u>>>16,X0=u&65535;return Y*X0+(f*X0+Y*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var z$=Math.abs,AC=Math.cos,X7=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,p9=Math.exp,X9=Math.log,p6=Math.sqrt,w8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,E9=Math.fround,Gi=Math.min,P7=Math.clz32,v8=0,Ui=null,O7=null;function q7(r){return r}function Pn(r){v8++,n.monitorRunDependencies&&n.monitorRunDependencies(v8)}n.addRunDependency=Pn;function Cr(r){if(v8--,n.monitorRunDependencies&&n.monitorRunDependencies(v8),v8==0&&(Ui!==null&&(clearInterval(Ui),Ui=null),O7)){var l=O7;O7=null,l()}}n.removeRunDependency=Cr,n.preloadedImages={},n.preloadedAudios={};var zp=null,_u=[];zo=8,jr=zo+553552,q$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",O3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",O3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",O3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",O3,_.GLOBAL_BASE+41032),C3([1],"i8",O3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",O3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",O3,_.GLOBAL_BASE+72464),C3([1],"i8",O3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",O3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",O3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",O3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",O3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",O3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",O3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",O3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",O3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",O3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",O3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",O3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",O3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",O3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",O3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",O3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",O3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",O3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",O3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",O3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",O3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",O3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",O3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",O3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",O3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",O3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",O3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",O3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",O3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",O3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",O3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",O3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Yo),8);e4(bt%8==0);function $C(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3]}function Br(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3],j9[bt+4]=j9[r+4],j9[bt+5]=j9[r+5],j9[bt+6]=j9[r+6],j9[bt+7]=j9[r+7]}var er=AC,ja=z$,jo=0;function Xo(r){return N9[jo>>2]=r,r}var T2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function yB(r){switch(r){case 30:return nC;case 85:return Xr/nC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Xo(T2.EINVAL),-1}n._memset=nS;var wB=!0;n._strlen=eS,n._strcat=tS,n._bitshift64Shl=AS;function yk(){n.abort()}n._i64Add=iS;var wk=H4,vk={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"},On={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){On.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,On.stream_ops)},stream_ops:{open:function(r){var l=On.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(T2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,Y){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(T2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,Y).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` +`)});var X=void 0,O=void 0;n.read=function(l,u){l=O.normalize(l);var f=X.readFileSync(l);return!f&&l!=O.resolve(l)&&(l=path.join(__dirname,"..","src",l),f=X.readFileSync(l)),f&&!u&&(f=f.toString()),f},n.readBinary=function(l){return n.read(l,!0)},n.load=function(l){W0(read(l))},n.thisProgram||(process.argv.length>1?n.thisProgram=process.argv[1].replace(/\\/g,"/"):n.thisProgram="unknown-program"),n.arguments=process.argv.slice(2),typeof module<"u"&&n!=null,process.on("uncaughtException",function(r){if(!(r instanceof Xa))throw r}),n.inspect=function(){return"[Emscripten Module object]"}}else if(P)n.print||(n.print=print),typeof printErr<"u"&&(n.printErr=printErr),typeof read<"u"?n.read=read:n.read=function(){throw"no read() available (jsc?)"},n.readBinary=function(l){if(typeof readbuffer=="function")return new Uint8Array(readbuffer(l));var u=read(l,"binary");return e4(typeof u=="object"),u},typeof scriptArgs<"u"?n.arguments=scriptArgs:typeof arguments<"u"&&(n.arguments=arguments);else if(c||p){if(n.read=function(l){var u=new XMLHttpRequest;return u.open("GET",l,!1),u.send(null),u.responseText},typeof arguments<"u"&&(n.arguments=arguments),typeof console<"u")n.print||(n.print=function(l){console.log(l)}),n.printErr||(n.printErr=function(l){console.log(l)});else{var U=!1;n.print||(n.print=U&&typeof dump<"u"?function(r){dump(r)}:function(r){})}p&&(n.load=importScripts),typeof n.setWindowTitle>"u"&&(n.setWindowTitle=function(r){document.title=r})}else throw"Unknown runtime environment. Where are we?";function W0(r){eval.call(null,r)}!n.load&&n.read&&(n.load=function(l){W0(n.read(l))}),n.print||(n.print=function(){}),n.printErr||(n.printErr=n.print),n.arguments||(n.arguments=[]),n.thisProgram||(n.thisProgram="./this.program"),n.print=n.print,n.printErr=n.printErr,n.preRun=[],n.postRun=[];for(var A in i)i.hasOwnProperty(A)&&(n[A]=i[A]);var _={setTempRet0:function(r){w6=r},getTempRet0:function(){return w6},stackSave:function(){return v7},stackRestore:function(r){v7=r},getNativeTypeSize:function(r){switch(r){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(r[r.length-1]==="*")return _.QUANTUM_SIZE;if(r[0]==="i"){var l=parseInt(r.substr(1));return e4(l%8===0),l/8}else return 0}}},getNativeFieldSize:function(r){return Math.max(_.getNativeTypeSize(r),_.QUANTUM_SIZE)},STACK_ALIGN:16,prepVararg:function(r,l){return l==="double"||l==="i64"?r&7&&(e4((r&7)===4),r+=4):e4((r&3)===0),r},getAlignSize:function(r,l,u){return!u&&(r=="i64"||r=="double")?8:r?Math.min(l||(r?_.getNativeFieldSize(r):0),_.QUANTUM_SIZE):Math.min(l,8)},dynCall:function(r,l,u){return u&&u.length?(u.splice||(u=Array.prototype.slice.call(u)),u.splice(0,0,l),n["dynCall_"+r].apply(null,u)):n["dynCall_"+r].call(null,l)},functionPointers:[],addFunction:function(r){for(var l=0;l<_.functionPointers.length;l++)if(!_.functionPointers[l])return _.functionPointers[l]=r,2*(1+l);throw"Finished up all reserved function pointers. Use a higher value for RESERVED_FUNCTION_POINTERS."},removeFunction:function(r){_.functionPointers[(r-2)/2]=null},warnOnce:function(r){_.warnOnce.shown||(_.warnOnce.shown={}),_.warnOnce.shown[r]||(_.warnOnce.shown[r]=1,n.printErr(r))},funcWrappers:{},getFuncWrapper:function(r,l){e4(l),_.funcWrappers[l]||(_.funcWrappers[l]={});var u=_.funcWrappers[l];return u[r]||(u[r]=function(){return _.dynCall(l,r,arguments)}),u[r]},getCompilerSetting:function(r){throw"You must build with -s RETAIN_COMPILER_SETTINGS=1 for Runtime.getCompilerSetting or emscripten_get_compiler_setting to work"},stackAlloc:function(r){var l=v7;return v7=v7+r|0,v7=v7+15&-16,l},staticAlloc:function(r){var l=jr;return jr=jr+r|0,jr=jr+15&-16,l},dynamicAlloc:function(r){var l=G7;if(G7=G7+r|0,G7=G7+15&-16,G7>=Ko){var u=oC();if(!u)return G7=l,0}return l},alignMemory:function(r,l){var u=r=Math.ceil(r/(l||16))*(l||16);return u},makeBigInt:function(r,l,u){var f=u?+(r>>>0)+ +(l>>>0)*4294967296:+(r>>>0)+ +(l|0)*4294967296;return f},GLOBAL_BASE:8,QUANTUM_SIZE:4,__dummy__:0};n.Runtime=_;var q=0,t0=!1,n1=0,S1=0,c1,I2,$2,f2,K2,J2,A0,C5,p3,w3,m6,v3,x6,u9,P3,w6,Me,Wr,j7,za,Ho,Tp,L$,iC,Qk;function e4(r,l){r||es("Assertion failed: "+l)}var yk=this;function rC(r){var l=n["_"+r];if(!l)try{l=void("_"+r)}catch{}return e4(l,"Cannot call unknown function "+r+" (perhaps LLVM optimizations or closure removed it?)"),l}var M$,Ka;(function(){var r={stackSave:function(){_.stackSave()},stackRestore:function(){_.stackRestore()},arrayToC:function(X0){var r1=_.stackAlloc(X0.length);return Za(X0,r1),r1},stringToC:function(X0){var r1=0;return X0!=null&&X0!==0&&(r1=_.stackAlloc((X0.length<<2)+1),Zo(X0,r1)),r1}},l={string:r.stringToC,array:r.arrayToC};Ka=function(r1,x2,s,l1,C){var k5=rC(r1),w2=[],P5=0;if(l1)for(var G9=0;G9>0]=l;break;case"i8":j9[r>>0]=l;break;case"i16":Zr[r>>1]=l;break;case"i32":N9[r>>2]=l;break;case"i64":u9=[l>>>0,(v3=l,+z$(v3)>=1?v3>0?(Gi(+H4(v3/4294967296),4294967295)|0)>>>0:~~+w8((v3-+(~~v3>>>0))/4294967296)>>>0:0)],N9[r>>2]=u9[0],N9[r+4>>2]=u9[1];break;case"float":W$[r>>2]=l;break;case"double":N$[r>>3]=l;break;default:es("invalid type for setValue: "+u)}}n.setValue=Qu;function Er(r,l,u){switch(l=l||"i8",l.charAt(l.length-1)==="*"&&(l="i32"),l){case"i1":return j9[r>>0];case"i8":return j9[r>>0];case"i16":return Zr[r>>1];case"i32":return N9[r>>2];case"i64":return N9[r>>2];case"float":return W$[r>>2];case"double":return N$[r>>3];default:es("invalid type for setValue: "+l)}return null}n.getValue=Er;var Wa=0,Np=1,Yo=2,yu=3,O3=4;n.ALLOC_NORMAL=Wa,n.ALLOC_STACK=Np,n.ALLOC_STATIC=Yo,n.ALLOC_DYNAMIC=yu,n.ALLOC_NONE=O3;function C3(r,l,u,f){var Y,e;typeof r=="number"?(Y=!0,e=r):(Y=!1,e=r.length);var X0=typeof l=="string"?l:null,r1;if(u==O3?r1=f:r1=[xu,_.stackAlloc,_.staticAlloc,_.dynamicAlloc][u===void 0?Yo:u](Math.max(e,X0?1:l.length)),Y){var f=r1,x2;for(e4((r1&3)==0),x2=r1+(e&-4);f>2]=0;for(x2=r1+e;f>0]=0;return r1}if(X0==="i8")return r.subarray||r.slice?k7.set(r,r1):k7.set(new Uint8Array(r),r1),r1;for(var s=0,l1,C,k5;s>0],u|=f,!(f==0&&!l||(Y++,l&&Y==l)););l||(l=Y);var e="";if(u<128){for(var X0=1024,r1;l>0;)r1=String.fromCharCode.apply(String,k7.subarray(r,r+Math.min(l,X0))),e=e?e+r1:r1,r+=X0,l-=X0;return e}return n.UTF8ToString(r)}n.Pointer_stringify=R$;function F$(r){for(var l="";;){var u=j9[r++>>0];if(!u)return l;l+=String.fromCharCode(u)}}n.AsciiToString=F$;function lB(r,l){return V$(r,l,!1)}n.stringToAscii=lB;function Vo(r,l){for(var u,f,Y,e,X0,r1,x2="";;){if(u=r[l++],!u)return x2;if(!(u&128)){x2+=String.fromCharCode(u);continue}if(f=r[l++]&63,(u&224)==192){x2+=String.fromCharCode((u&31)<<6|f);continue}if(Y=r[l++]&63,(u&240)==224?u=(u&15)<<12|f<<6|Y:(e=r[l++]&63,(u&248)==240?u=(u&7)<<18|f<<12|Y<<6|e:(X0=r[l++]&63,(u&252)==248?u=(u&3)<<24|f<<18|Y<<12|e<<6|X0:(r1=r[l++]&63,u=(u&1)<<30|f<<24|Y<<18|e<<12|X0<<6|r1))),u<65536)x2+=String.fromCharCode(u);else{var s=u-65536;x2+=String.fromCharCode(55296|s>>10,56320|s&1023)}}}n.UTF8ArrayToString=Vo;function Gp(r){return Vo(k7,r)}n.UTF8ToString=Gp;function Gn(r,l,u,f){if(!(f>0))return 0;for(var Y=u,e=u+f-1,X0=0;X0=55296&&r1<=57343&&(r1=65536+((r1&1023)<<10)|r.charCodeAt(++X0)&1023),r1<=127){if(u>=e)break;l[u++]=r1}else if(r1<=2047){if(u+1>=e)break;l[u++]=192|r1>>6,l[u++]=128|r1&63}else if(r1<=65535){if(u+2>=e)break;l[u++]=224|r1>>12,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=2097151){if(u+3>=e)break;l[u++]=240|r1>>18,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else if(r1<=67108863){if(u+4>=e)break;l[u++]=248|r1>>24,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}else{if(u+5>=e)break;l[u++]=252|r1>>30,l[u++]=128|r1>>24&63,l[u++]=128|r1>>18&63,l[u++]=128|r1>>12&63,l[u++]=128|r1>>6&63,l[u++]=128|r1&63}}return l[u]=0,u-Y}n.stringToUTF8Array=Gn;function Up(r,l,u){return Gn(r,k7,l,u)}n.stringToUTF8=Up;function Jo(r){for(var l=0,u=0;u=55296&&f<=57343&&(f=65536+((f&1023)<<10)|r.charCodeAt(++u)&1023),f<=127?++l:f<=2047?l+=2:f<=65535?l+=3:f<=2097151?l+=4:f<=67108863?l+=5:l+=6}return l}n.lengthBytesUTF8=Jo;function Pp(r){for(var l=0,u="";;){var f=Zr[r+l*2>>1];if(f==0)return u;++l,u+=String.fromCharCode(f)}}n.UTF16ToString=Pp;function cB(r,l,u){if(u===void 0&&(u=2147483647),u<2)return 0;u-=2;for(var f=l,Y=u>1]=X0,l+=2}return Zr[l>>1]=0,l-f}n.stringToUTF16=cB;function gB(r){return r.length*2}n.lengthBytesUTF16=gB;function uB(r){for(var l=0,u="";;){var f=N9[r+l*4>>2];if(f==0)return u;if(++l,f>=65536){var Y=f-65536;u+=String.fromCharCode(55296|Y>>10,56320|Y&1023)}else u+=String.fromCharCode(f)}}n.UTF32ToString=uB;function hB(r,l,u){if(u===void 0&&(u=2147483647),u<4)return 0;for(var f=l,Y=f+u-4,e=0;e=55296&&X0<=57343){var r1=r.charCodeAt(++e);X0=65536+((X0&1023)<<10)|r1&1023}if(N9[l>>2]=X0,l+=4,l+4>Y)break}return N9[l>>2]=0,l-f}n.stringToUTF32=hB;function dB(r){for(var l=0,u=0;u=55296&&f<=57343&&++u,l+=4}return l}n.lengthBytesUTF32=dB;function fB(r){var l=!!n.___cxa_demangle;if(l)try{var u=xu(r.length);Zo(r.substr(1),u);var f=xu(4),Y=n.___cxa_demangle(u,0,0,f);if(Er(f,"i32")===0&&Y)return R$(Y)}catch{}finally{u&&lC(u),f&&lC(f),Y&&lC(Y)}var e=3,X0={v:"void",b:"bool",c:"char",s:"short",i:"int",l:"long",f:"float",d:"double",w:"wchar_t",a:"signed char",h:"unsigned char",t:"unsigned short",j:"unsigned int",m:"unsigned long",x:"long long",y:"unsigned long long",z:"..."},r1=[],x2=!0;function s(w2){w2&&n.print(w2),n.print(r);for(var P5="",G9=0;G9"}else K9=te;e:for(;e0;){var Qr=r[e++];if(Qr in X0)Qe.push(X0[Qr]);else switch(Qr){case"P":Qe.push(C(!0,1,!0)[0]+"*");break;case"R":Qe.push(C(!0,1,!0)[0]+"&");break;case"L":{e++;var j$=r.indexOf("E",e),It=j$-e;Qe.push(r.substr(e,It)),e+=It+2;break}case"A":{var It=parseInt(r.substr(e));if(e+=It.toString().length,r[e]!=="_")throw"?";e++,Qe.push(C(!0,1,!0)[0]+" ["+It+"]");break}case"E":break e;default:K9+="?"+Qr;break e}}return!G9&&Qe.length===1&&Qe[0]==="void"&&(Qe=[]),w2?(K9&&Qe.push(K9+"?"),Qe):K9+Dt()}var k5=r;try{if(r=="Object._main"||r=="_main")return"main()";if(typeof r=="number"&&(r=R$(r)),r[0]!=="_"||r[1]!=="_"||r[2]!=="Z")return r;switch(r[3]){case"n":return"operator new()";case"d":return"operator delete()"}k5=C()}catch{k5+="?"}return k5.indexOf("?")>=0&&!l&&_.warnOnce("warning: a problem occurred in builtin C++ name demangling; build with -s DEMANGLE_SUPPORT=1 to link in libcxxabi demangling"),k5}function IB(r){return r.replace(/__Z[\w\d_]+/g,function(l){var u=fB(l);return l===u?l:l+" ["+u+"]"})}function mB(){var r=new Error;if(!r.stack){try{throw new Error(0)}catch(l){r=l}if(!r.stack)return"(no stack trace available)"}return r.stack.toString()}function Op(){return IB(mB())}n.stackTrace=Op;var nC=4096;function wu(r){return r%4096>0&&(r+=4096-r%4096),r}var qp,j9,k7,Zr,T$,N9,K$,W$,N$,zo=0,jr=0,G$=!1,vu=0,v7=0,U$=0,P$=0,G7=0;function oC(){es("Cannot enlarge memory arrays. Either (1) compile with -s TOTAL_MEMORY=X with X higher than the current value "+Ko+", (2) compile with ALLOW_MEMORY_GROWTH which adjusts the size at runtime but prevents some optimizations, or (3) set Module.TOTAL_MEMORY before the program runs.")}for(var Hp=n.TOTAL_STACK||5242880,Ko=n.TOTAL_MEMORY||16777216,Xr=64*1024;Xr0;){var l=r.shift();if(typeof l=="function"){l();continue}var u=l.func;typeof u=="number"?l.arg===void 0?_.dynCall("v",u):_.dynCall("vi",u,[l.arg]):u(l.arg===void 0?null:l.arg)}}var Yp=[],q$=[],ku=[],H$=[],Su=[],bu=!1,Un=!1;function Du(){if(n.preRun)for(typeof n.preRun=="function"&&(n.preRun=[n.preRun]);n.preRun.length;)Ni(n.preRun.shift());O$(Yp)}function Wo(){bu||(bu=!0,O$(q$))}function pB(){O$(ku)}function Vp(){O$(H$),Un=!0}function Y$(){if(n.postRun)for(typeof n.postRun=="function"&&(n.postRun=[n.postRun]);n.postRun.length;)sC(n.postRun.shift());O$(Su)}function Ni(r){Yp.unshift(r)}n.addOnPreRun=n.addOnPreRun=Ni;function EB(r){q$.unshift(r)}n.addOnInit=n.addOnInit=EB;function CB(r){ku.unshift(r)}n.addOnPreMain=n.addOnPreMain=CB;function BB(r){H$.unshift(r)}n.addOnExit=n.addOnExit=BB;function sC(r){Su.unshift(r)}n.addOnPostRun=n.addOnPostRun=sC;function en(r,l,u){var f=u>0?u:Jo(r)+1,Y=new Array(f),e=Gn(r,Y,0,Y.length);return l&&(Y.length=e),Y}n.intArrayFromString=en;function aC(r){for(var l=[],u=0;u255&&(f&=255),l.push(String.fromCharCode(f))}return l.join("")}n.intArrayToString=aC;function Zo(r,l,u){for(var f=en(r,u),Y=0;Y>0]=e,Y=Y+1}}n.writeStringToMemory=Zo;function Za(r,l){for(var u=0;u>0]=r[u]}n.writeArrayToMemory=Za;function V$(r,l,u){for(var f=0;f>0]=r.charCodeAt(f);u||(j9[l>>0]=0)}n.writeAsciiToMemory=V$;function Jp(r,l,u){return r>=0?r:l<=32?2*Math.abs(1<=f&&(l<=32||r>f)&&(r=-2*f+r),r}(!Math.imul||Math.imul(4294967295,5)!==-5)&&(Math.imul=function(l,u){var f=l>>>16,Y=l&65535,e=u>>>16,X0=u&65535;return Y*X0+(f*X0+Y*e<<16)|0}),Math.imul=Math.imul,Math.clz32||(Math.clz32=function(r){r=r>>>0;for(var l=0;l<32;l++)if(r&1<<31-l)return l;return 32}),Math.clz32=Math.clz32;var z$=Math.abs,AC=Math.cos,X7=Math.sin,R0=Math.tan,t1=Math.acos,y1=Math.asin,_2=Math.atan,t6=Math.atan2,p9=Math.exp,X9=Math.log,p6=Math.sqrt,w8=Math.ceil,H4=Math.floor,rt=Math.pow,M4=Math.imul,E9=Math.fround,Gi=Math.min,P7=Math.clz32,v8=0,Ui=null,O7=null;function q7(r){return r}function Pn(r){v8++,n.monitorRunDependencies&&n.monitorRunDependencies(v8)}n.addRunDependency=Pn;function Cr(r){if(v8--,n.monitorRunDependencies&&n.monitorRunDependencies(v8),v8==0&&(Ui!==null&&(clearInterval(Ui),Ui=null),O7)){var l=O7;O7=null,l()}}n.removeRunDependency=Cr,n.preloadedImages={},n.preloadedAudios={};var zp=null,_u=[];zo=8,jr=zo+553552,q$.push(),C3([0,0,0,0,1,0,0,0,3,0,0,0,7,0,0,0,15,0,0,0,31,0,0,0,63,0,0,0,127,0,0,0,255,0,0,0,255,1,0,0,255,3,0,0,255,7,0,0,255,15,0,0,255,31,0,0,255,63,0,0,255,127,0,0,255,255,0,0,255,255,1,0,255,255,3,0,255,255,7,0,255,255,15,0,255,255,31,0,255,255,63,0,255,255,127,0,255,255,255,0,255,255,255,1,255,255,255,3,255,255,255,7,255,255,255,15,255,255,255,31,255,255,255,63,255,255,255,127,255,255,255,255,0,0,0,0,0,0,0,0,183,29,193,4,110,59,130,9,217,38,67,13,220,118,4,19,107,107,197,23,178,77,134,26,5,80,71,30,184,237,8,38,15,240,201,34,214,214,138,47,97,203,75,43,100,155,12,53,211,134,205,49,10,160,142,60,189,189,79,56,112,219,17,76,199,198,208,72,30,224,147,69,169,253,82,65,172,173,21,95,27,176,212,91,194,150,151,86,117,139,86,82,200,54,25,106,127,43,216,110,166,13,155,99,17,16,90,103,20,64,29,121,163,93,220,125,122,123,159,112,205,102,94,116,224,182,35,152,87,171,226,156,142,141,161,145,57,144,96,149,60,192,39,139,139,221,230,143,82,251,165,130,229,230,100,134,88,91,43,190,239,70,234,186,54,96,169,183,129,125,104,179,132,45,47,173,51,48,238,169,234,22,173,164,93,11,108,160,144,109,50,212,39,112,243,208,254,86,176,221,73,75,113,217,76,27,54,199,251,6,247,195,34,32,180,206,149,61,117,202,40,128,58,242,159,157,251,246,70,187,184,251,241,166,121,255,244,246,62,225,67,235,255,229,154,205,188,232,45,208,125,236,119,112,134,52,192,109,71,48,25,75,4,61,174,86,197,57,171,6,130,39,28,27,67,35,197,61,0,46,114,32,193,42,207,157,142,18,120,128,79,22,161,166,12,27,22,187,205,31,19,235,138,1,164,246,75,5,125,208,8,8,202,205,201,12,7,171,151,120,176,182,86,124,105,144,21,113,222,141,212,117,219,221,147,107,108,192,82,111,181,230,17,98,2,251,208,102,191,70,159,94,8,91,94,90,209,125,29,87,102,96,220,83,99,48,155,77,212,45,90,73,13,11,25,68,186,22,216,64,151,198,165,172,32,219,100,168,249,253,39,165,78,224,230,161,75,176,161,191,252,173,96,187,37,139,35,182,146,150,226,178,47,43,173,138,152,54,108,142,65,16,47,131,246,13,238,135,243,93,169,153,68,64,104,157,157,102,43,144,42,123,234,148,231,29,180,224,80,0,117,228,137,38,54,233,62,59,247,237,59,107,176,243,140,118,113,247,85,80,50,250,226,77,243,254,95,240,188,198,232,237,125,194,49,203,62,207,134,214,255,203,131,134,184,213,52,155,121,209,237,189,58,220,90,160,251,216,238,224,12,105,89,253,205,109,128,219,142,96,55,198,79,100,50,150,8,122,133,139,201,126,92,173,138,115,235,176,75,119,86,13,4,79,225,16,197,75,56,54,134,70,143,43,71,66,138,123,0,92,61,102,193,88,228,64,130,85,83,93,67,81,158,59,29,37,41,38,220,33,240,0,159,44,71,29,94,40,66,77,25,54,245,80,216,50,44,118,155,63,155,107,90,59,38,214,21,3,145,203,212,7,72,237,151,10,255,240,86,14,250,160,17,16,77,189,208,20,148,155,147,25,35,134,82,29,14,86,47,241,185,75,238,245,96,109,173,248,215,112,108,252,210,32,43,226,101,61,234,230,188,27,169,235,11,6,104,239,182,187,39,215,1,166,230,211,216,128,165,222,111,157,100,218,106,205,35,196,221,208,226,192,4,246,161,205,179,235,96,201,126,141,62,189,201,144,255,185,16,182,188,180,167,171,125,176,162,251,58,174,21,230,251,170,204,192,184,167,123,221,121,163,198,96,54,155,113,125,247,159,168,91,180,146,31,70,117,150,26,22,50,136,173,11,243,140,116,45,176,129,195,48,113,133,153,144,138,93,46,141,75,89,247,171,8,84,64,182,201,80,69,230,142,78,242,251,79,74,43,221,12,71,156,192,205,67,33,125,130,123,150,96,67,127,79,70,0,114,248,91,193,118,253,11,134,104,74,22,71,108,147,48,4,97,36,45,197,101,233,75,155,17,94,86,90,21,135,112,25,24,48,109,216,28,53,61,159,2,130,32,94,6,91,6,29,11,236,27,220,15,81,166,147,55,230,187,82,51,63,157,17,62,136,128,208,58,141,208,151,36,58,205,86,32,227,235,21,45,84,246,212,41,121,38,169,197,206,59,104,193,23,29,43,204,160,0,234,200,165,80,173,214,18,77,108,210,203,107,47,223,124,118,238,219,193,203,161,227,118,214,96,231,175,240,35,234,24,237,226,238,29,189,165,240,170,160,100,244,115,134,39,249,196,155,230,253,9,253,184,137,190,224,121,141,103,198,58,128,208,219,251,132,213,139,188,154,98,150,125,158,187,176,62,147,12,173,255,151,177,16,176,175,6,13,113,171,223,43,50,166,104,54,243,162,109,102,180,188,218,123,117,184,3,93,54,181,180,64,247,177,1,0,0,0,1,0,0,0,2,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,1,0,0,0,0,0,0,0,88,105,112,104,46,79,114,103,32,108,105,98,86,111,114,98,105,115,32,73,32,50,48,49,53,48,49,48,53,32,40,226,155,132,226,155,132,226,155,132,226,155,132,41,0,0,0,0,1,0,0,0,4,0,0,0,3,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,0,0,76,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,96,194,0,0,100,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,130,194,0,0,132,194,0,0,134,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,180,194,0,0,182,194,0,0,182,194,0,0,184,194,0,0,186,194,0,0,188,194,0,0,190,194,0,0,192,194,0,0,192,194,0,0,194,194,0,0,196,194,0,0,196,194,0,0,198,194,0,0,198,194,0,0,200,194,0,0,200,194,0,0,202,194,0,0,204,194,0,0,206,194,0,0,208,194,0,0,212,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,214,194,0,0,210,194,0,0,206,194,0,0,204,194,0,0,202,194,0,0,198,194,0,0,196,194,0,0,192,194,0,0,190,194,0,0,190,194,0,0,192,194,0,0,194,194,0,0,192,194,0,0,190,194,0,0,186,194,0,0,180,194,0,0,160,194,0,0,140,194,0,0,72,194,0,0,32,194,0,0,240,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,0,0,128,48,64,0,0,0,4,107,244,52,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,0,0,0,0,0,0,18,64,0,0,0,0,0,0,33,64,0,0,0,4,107,244,52,66,62,180,228,51,9,145,243,51,139,178,1,52,60,32,10,52,35,26,19,52,96,169,28,52,167,215,38,52,75,175,49,52,80,59,61,52,112,135,73,52,35,160,86,52,184,146,100,52,85,109,115,52,136,159,129,52,252,11,138,52,147,4,147,52,105,146,156,52,50,191,166,52,63,149,177,52,147,31,189,52,228,105,201,52,173,128,214,52,54,113,228,52,166,73,243,52,136,140,1,53,192,247,9,53,6,239,18,53,118,123,28,53,192,166,38,53,55,123,49,53,218,3,61,53,94,76,73,53,59,97,86,53,185,79,100,53,252,37,115,53,138,121,129,53,134,227,137,53,124,217,146,53,133,100,156,53,82,142,166,53,51,97,177,53,37,232,188,53,220,46,201,53,206,65,214,53,65,46,228,53,87,2,243,53,143,102,1,54,79,207,9,54,245,195,18,54,152,77,28,54,232,117,38,54,50,71,49,54,116,204,60,54,94,17,73,54,101,34,86,54,206,12,100,54,184,222,114,54,151,83,129,54,28,187,137,54,114,174,146,54,175,54,156,54,129,93,166,54,53,45,177,54,199,176,188,54,228,243,200,54,1,3,214,54,96,235,227,54,30,187,242,54,162,64,1,55,235,166,9,55,241,152,18,55,201,31,28,55,30,69,38,55,61,19,49,55,30,149,60,55,111,214,72,55,162,227,85,55,247,201,99,55,137,151,114,55,175,45,129,55,190,146,137,55,116,131,146,55,230,8,156,55,190,44,166,55,71,249,176,55,121,121,188,55,254,184,200,55,71,196,213,55,146,168,227,55,248,115,242,55,192,26,1,56,147,126,9,56,249,109,18,56,6,242,27,56,98,20,38,56,86,223,48,56,216,93,60,56,146,155,72,56,242,164,85,56,51,135,99,56,110,80,114,56,211,7,129,56,107,106,137,56,130,88,146,56,42,219,155,56,9,252,165,56,104,197,176,56,59,66,188,56,41,126,200,56,160,133,213,56,217,101,227,56,232,44,242,56,233,244,0,57,70,86,9,57,14,67,18,57,81,196,27,57,181,227,37,57,127,171,48,57,162,38,60,57,197,96,72,57,83,102,85,57,131,68,99,57,104,9,114,57,1,226,128,57,36,66,137,57,157,45,146,57,123,173,155,57,99,203,165,57,153,145,176,57,13,11,188,57,102,67,200,57,11,71,213,57,50,35,227,57,237,229,241,57,29,207,0,58,5,46,9,58,48,24,18,58,169,150,27,58,21,179,37,58,183,119,48,58,124,239,59,58,10,38,72,58,199,39,85,58,230,1,99,58,120,194,113,58,59,188,128,58,233,25,137,58,198,2,146,58,219,127,155,58,203,154,165,58,216,93,176,58,239,211,187,58,179,8,200,58,136,8,213,58,159,224,226,58,7,159,241,58,92,169,0,59,208,5,9,59,94,237,17,59,15,105,27,59,132,130,37,59,253,67,48,59,103,184,59,59,97,235,71,59,77,233,84,59,93,191,98,59,156,123,113,59,127,150,128,59,186,241,136,59,249,215,145,59,71,82,155,59,65,106,165,59,39,42,176,59,226,156,187,59,18,206,199,59,23,202,212,59,32,158,226,59,53,88,241,59,166,131,0,60,167,221,8,60,152,194,17,60,130,59,27,60,1,82,37,60,84,16,48,60,97,129,59,60,200,176,71,60,229,170,84,60,232,124,98,60,212,52,113,60,207,112,128,60,150,201,136,60,58,173,145,60,192,36,155,60,197,57,165,60,133,246,175,60,229,101,187,60,130,147,199,60,185,139,212,60,180,91,226,60,121,17,241,60,251,93,0,61,137,181,8,61,223,151,17,61,2,14,27,61,141,33,37,61,185,220,47,61,109,74,59,61,64,118,71,61,145,108,84,61,133,58,98,61,34,238,112,61,42,75,128,61,127,161,136,61,136,130,145,61,72,247,154,61,88,9,165,61,242,194,175,61,248,46,187,61,3,89,199,61,109,77,212,61,92,25,226,61,209,202,240,61,91,56,0,62,119,141,8,62,51,109,17,62,144,224,26,62,39,241,36,62,46,169,47,62,135,19,59,62,202,59,71,62,77,46,84,62,55,248,97,62,132,167,112,62,143,37,128,62,115,121,136,62,226,87,145,62,220,201,154,62,249,216,164,62,109,143,175,62,27,248,186,62,149,30,199,62,51,15,212,62,23,215,225,62,61,132,240,62,198,18,0,63,114,101,8,63,147,66,17,63,43,179,26,63,206,192,36,63,177,117,47,63,178,220,58,63,101,1,71,63,29,240,83,63,251,181,97,63,251,96,112,63,0,0,128,63,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,146,194,0,0,138,194,0,0,136,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,150,194,0,0,158,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,84,194,0,0,116,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,134,194,0,0,140,194,0,0,152,194,0,0,152,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,20,194,0,0,24,194,0,0,32,194,0,0,40,194,0,0,56,194,0,0,64,194,0,0,84,194,0,0,92,194,0,0,120,194,0,0,130,194,0,0,104,194,0,0,96,194,0,0,96,194,0,0,116,194,0,0,112,194,0,0,130,194,0,0,134,194,0,0,138,194,0,0,142,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,176,194,0,0,186,194,0,0,196,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,208,193,0,0,216,193,0,0,232,193,0,0,0,194,0,0,24,194,0,0,64,194,0,0,80,194,0,0,80,194,0,0,72,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,80,194,0,0,88,194,0,0,112,194,0,0,134,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,146,194,0,0,146,194,0,0,152,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,172,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,128,193,0,0,136,193,0,0,152,193,0,0,160,193,0,0,176,193,0,0,208,193,0,0,224,193,0,0,248,193,0,0,32,194,0,0,60,194,0,0,28,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,0,60,194,0,0,76,194,0,0,100,194,0,0,80,194,0,0,92,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,140,194,0,0,134,194,0,0,138,194,0,0,144,194,0,0,146,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,208,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,0,193,0,0,32,193,0,0,48,193,0,0,112,193,0,0,152,193,0,0,200,193,0,0,240,193,0,0,8,194,0,0,248,193,0,0,240,193,0,0,248,193,0,0,232,193,0,0,0,194,0,0,12,194,0,0,40,194,0,0,64,194,0,0,40,194,0,0,48,194,0,0,56,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,80,194,0,0,108,194,0,0,88,194,0,0,92,194,0,0,92,194,0,0,104,194,0,0,120,194,0,0,124,194,0,0,132,194,0,0,144,194,0,0,146,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,180,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,134,194,0,0,134,194,0,0,152,194,0,0,144,194,0,0,142,194,0,0,148,194,0,0,152,194,0,0,152,194,0,0,150,194,0,0,156,194,0,0,158,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,92,194,0,0,108,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,158,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,20,194,0,0,20,194,0,0,36,194,0,0,48,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,120,194,0,0,112,194,0,0,100,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,130,194,0,0,144,194,0,0,142,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,240,193,0,0,0,194,0,0,0,194,0,0,4,194,0,0,12,194,0,0,36,194,0,0,68,194,0,0,72,194,0,0,68,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,76,194,0,0,100,194,0,0,130,194,0,0,116,194,0,0,108,194,0,0,116,194,0,0,128,194,0,0,138,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,154,194,0,0,156,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,180,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,152,193,0,0,160,193,0,0,168,193,0,0,184,193,0,0,216,193,0,0,240,193,0,0,12,194,0,0,16,194,0,0,36,194,0,0,56,194,0,0,48,194,0,0,40,194,0,0,32,194,0,0,36,194,0,0,36,194,0,0,44,194,0,0,64,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,84,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,112,194,0,0,134,194,0,0,132,194,0,0,138,194,0,0,142,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,174,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,16,193,0,0,48,193,0,0,64,193,0,0,64,193,0,0,112,193,0,0,128,193,0,0,160,193,0,0,184,193,0,0,240,193,0,0,20,194,0,0,8,194,0,0,4,194,0,0,8,194,0,0,248,193,0,0,0,194,0,0,0,194,0,0,24,194,0,0,60,194,0,0,48,194,0,0,36,194,0,0,32,194,0,0,60,194,0,0,68,194,0,0,56,194,0,0,56,194,0,0,104,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,104,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,174,194,0,0,182,194,0,0,192,194,0,0,200,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,134,194,0,0,132,194,0,0,136,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,202,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,108,194,0,0,112,194,0,0,112,194,0,0,116,194,0,0,124,194,0,0,132,194,0,0,142,194,0,0,136,194,0,0,140,194,0,0,140,194,0,0,142,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,162,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,166,194,0,0,172,194,0,0,180,194,0,0,194,194,0,0,206,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,84,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,116,194,0,0,130,194,0,0,112,194,0,0,112,194,0,0,120,194,0,0,124,194,0,0,124,194,0,0,132,194,0,0,136,194,0,0,148,194,0,0,146,194,0,0,150,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,192,194,0,0,202,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,56,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,76,194,0,0,100,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,84,194,0,0,88,194,0,0,108,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,152,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,176,194,0,0,188,194,0,0,194,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,16,194,0,0,28,194,0,0,36,194,0,0,40,194,0,0,40,194,0,0,28,194,0,0,24,194,0,0,36,194,0,0,44,194,0,0,80,194,0,0,48,194,0,0,32,194,0,0,28,194,0,0,20,194,0,0,20,194,0,0,32,194,0,0,60,194,0,0,88,194,0,0,72,194,0,0,64,194,0,0,72,194,0,0,92,194,0,0,116,194,0,0,108,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,138,194,0,0,138,194,0,0,146,194,0,0,148,194,0,0,148,194,0,0,150,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,174,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,216,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,193,0,0,208,193,0,0,192,193,0,0,176,193,0,0,160,193,0,0,160,193,0,0,184,193,0,0,232,193,0,0,240,193,0,0,248,193,0,0,224,193,0,0,216,193,0,0,224,193,0,0,224,193,0,0,224,193,0,0,12,194,0,0,32,194,0,0,4,194,0,0,0,194,0,0,232,193,0,0,240,193,0,0,240,193,0,0,240,193,0,0,20,194,0,0,52,194,0,0,36,194,0,0,20,194,0,0,24,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,64,194,0,0,84,194,0,0,68,194,0,0,64,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,76,194,0,0,80,194,0,0,104,194,0,0,96,194,0,0,100,194,0,0,96,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,212,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,182,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,152,194,0,0,156,194,0,0,156,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,172,194,0,0,170,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,194,194,0,0,214,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,140,194,0,0,134,194,0,0,134,194,0,0,136,194,0,0,150,194,0,0,146,194,0,0,140,194,0,0,138,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,158,194,0,0,168,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,176,194,0,0,178,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,152,194,0,0,142,194,0,0,136,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,128,194,0,0,130,194,0,0,128,194,0,0,116,194,0,0,120,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,162,194,0,0,166,194,0,0,170,194,0,0,176,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,160,194,0,0,150,194,0,0,142,194,0,0,136,194,0,0,130,194,0,0,124,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,116,194,0,0,108,194,0,0,96,194,0,0,100,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,84,194,0,0,88,194,0,0,104,194,0,0,134,194,0,0,124,194,0,0,134,194,0,0,136,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,194,194,0,0,202,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,130,194,0,0,116,194,0,0,108,194,0,0,100,194,0,0,96,194,0,0,92,194,0,0,92,194,0,0,96,194,0,0,96,194,0,0,100,194,0,0,92,194,0,0,84,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,48,194,0,0,72,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,28,194,0,0,40,194,0,0,32,194,0,0,56,194,0,0,76,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,124,194,0,0,112,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,140,194,0,0,146,194,0,0,148,194,0,0,150,194,0,0,152,194,0,0,150,194,0,0,158,194,0,0,170,194,0,0,178,194,0,0,182,194,0,0,192,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,80,194,0,0,72,194,0,0,68,194,0,0,68,194,0,0,64,194,0,0,64,194,0,0,64,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,68,194,0,0,56,194,0,0,44,194,0,0,28,194,0,0,12,194,0,0,4,194,0,0,24,194,0,0,16,194,0,0,0,194,0,0,232,193,0,0,0,194,0,0,0,194,0,0,0,194,0,0,12,194,0,0,48,194,0,0,28,194,0,0,24,194,0,0,24,194,0,0,56,194,0,0,72,194,0,0,52,194,0,0,56,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,84,194,0,0,96,194,0,0,100,194,0,0,108,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,148,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,180,194,0,0,194,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,160,194,0,0,150,194,0,0,150,194,0,0,158,194,0,0,160,194,0,0,158,194,0,0,160,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,190,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,156,194,0,0,150,194,0,0,142,194,0,0,134,194,0,0,136,194,0,0,146,194,0,0,146,194,0,0,144,194,0,0,146,194,0,0,150,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,154,194,0,0,146,194,0,0,138,194,0,0,132,194,0,0,116,194,0,0,120,194,0,0,132,194,0,0,128,194,0,0,120,194,0,0,130,194,0,0,132,194,0,0,140,194,0,0,144,194,0,0,152,194,0,0,162,194,0,0,160,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,206,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,166,194,0,0,158,194,0,0,148,194,0,0,140,194,0,0,132,194,0,0,108,194,0,0,84,194,0,0,104,194,0,0,120,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,116,194,0,0,120,194,0,0,144,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,160,194,0,0,162,194,0,0,160,194,0,0,166,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,132,194,0,0,120,194,0,0,96,194,0,0,64,194,0,0,48,194,0,0,64,194,0,0,56,194,0,0,56,194,0,0,44,194,0,0,56,194,0,0,64,194,0,0,64,194,0,0,76,194,0,0,104,194,0,0,104,194,0,0,108,194,0,0,112,194,0,0,120,194,0,0,120,194,0,0,116,194,0,0,116,194,0,0,130,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,130,194,0,0,116,194,0,0,92,194,0,0,68,194,0,0,28,194,0,0,4,194,0,0,32,194,0,0,12,194,0,0,0,194,0,0,24,194,0,0,32,194,0,0,4,194,0,0,12,194,0,0,20,194,0,0,56,194,0,0,36,194,0,0,52,194,0,0,48,194,0,0,56,194,0,0,40,194,0,0,52,194,0,0,56,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,100,194,0,0,120,194,0,0,128,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,152,194,0,0,162,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,164,194,0,0,166,194,0,0,160,194,0,0,156,194,0,0,168,194,0,0,158,194,0,0,160,194,0,0,166,194,0,0,174,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,198,194,0,0,212,194,0,0,234,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,150,194,0,0,140,194,0,0,136,194,0,0,148,194,0,0,144,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,170,194,0,0,174,194,0,0,184,194,0,0,178,194,0,0,182,194,0,0,190,194,0,0,200,194,0,0,212,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,180,194,0,0,166,194,0,0,150,194,0,0,142,194,0,0,124,194,0,0,128,194,0,0,134,194,0,0,120,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,162,194,0,0,168,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,176,194,0,0,162,194,0,0,150,194,0,0,136,194,0,0,104,194,0,0,88,194],"i8",O3,_.GLOBAL_BASE),C3([0,0,96,194,0,0,88,194,0,0,96,194,0,0,96,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,148,194,0,0,138,194,0,0,144,194,0,0,144,194,0,0,150,194,0,0,148,194,0,0,154,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,204,194,0,0,192,194,0,0,182,194,0,0,170,194,0,0,160,194,0,0,148,194,0,0,136,194,0,0,112,194,0,0,76,194,0,0,56,194,0,0,64,194,0,0,56,194,0,0,44,194,0,0,52,194,0,0,60,194,0,0,60,194,0,0,68,194,0,0,64,194,0,0,96,194,0,0,84,194,0,0,92,194,0,0,104,194,0,0,100,194,0,0,124,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,128,194,0,0,134,194,0,0,140,194,0,0,140,194,0,0,148,194,0,0,154,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,182,194,0,0,186,194,0,0,188,194,0,0,202,194,0,0,218,194,0,0,236,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,176,194,0,0,166,194,0,0,156,194,0,0,146,194,0,0,136,194,0,0,112,194,0,0,84,194,0,0,48,194,0,0,12,194,0,0,24,194,0,0,24,194,0,0,8,194,0,0,8,194,0,0,16,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,76,194,0,0,52,194,0,0,56,194,0,0,60,194,0,0,56,194,0,0,88,194,0,0,72,194,0,0,68,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,76,194,0,0,88,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,132,194,0,0,128,194,0,0,130,194,0,0,136,194,0,0,154,194,0,0,164,194,0,0,174,194,0,0,190,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,174,194,0,0,166,194,0,0,156,194,0,0,150,194,0,0,164,194,0,0,158,194,0,0,166,194,0,0,170,194,0,0,178,194,0,0,184,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,172,194,0,0,162,194,0,0,156,194,0,0,148,194,0,0,138,194,0,0,148,194,0,0,148,194,0,0,152,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,184,194,0,0,194,194,0,0,186,194,0,0,200,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,174,194,0,0,166,194,0,0,160,194,0,0,150,194,0,0,138,194,0,0,112,194,0,0,132,194,0,0,132,194,0,0,136,194,0,0,140,194,0,0,148,194,0,0,156,194,0,0,158,194,0,0,162,194,0,0,162,194,0,0,166,194,0,0,168,194,0,0,174,194,0,0,186,194,0,0,192,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,178,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,142,194,0,0,120,194,0,0,92,194,0,0,104,194,0,0,104,194,0,0,88,194,0,0,88,194,0,0,92,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,140,194,0,0,132,194,0,0,132,194,0,0,134,194,0,0,140,194,0,0,144,194,0,0,150,194,0,0,156,194,0,0,168,194,0,0,168,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,204,194,0,0,206,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,188,194,0,0,180,194,0,0,174,194,0,0,164,194,0,0,158,194,0,0,146,194,0,0,134,194,0,0,104,194,0,0,60,194,0,0,72,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,64,194,0,0,48,194,0,0,48,194,0,0,68,194,0,0,88,194,0,0,76,194,0,0,64,194,0,0,60,194,0,0,68,194,0,0,72,194,0,0,76,194,0,0,100,194,0,0,104,194,0,0,112,194,0,0,124,194,0,0,138,194,0,0,140,194,0,0,138,194,0,0,142,194,0,0,148,194,0,0,156,194,0,0,164,194,0,0,180,194,0,0,190,194,0,0,202,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,202,194,0,0,194,194,0,0,186,194,0,0,180,194,0,0,170,194,0,0,160,194,0,0,154,194,0,0,144,194,0,0,130,194,0,0,96,194,0,0,64,194,0,0,20,194,0,0,32,194,0,0,16,194,0,0,8,194,0,0,32,194,0,0,72,194,0,0,60,194,0,0,24,194,0,0,36,194,0,0,60,194,0,0,24,194,0,0,12,194,0,0,28,194,0,0,24,194,0,0,44,194,0,0,32,194,0,0,52,194,0,0,72,194,0,0,52,194,0,0,48,194,0,0,60,194,0,0,72,194,0,0,92,194,0,0,64,194,0,0,64,194,0,0,80,194,0,0,132,194,0,0,140,194,0,0,152,194,0,0,164,194,0,0,180,194,0,0,194,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,174,194,0,0,178,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,172,194,0,0,158,194,0,0,142,194,0,0,154,194,0,0,148,194,0,0,154,194,0,0,158,194,0,0,162,194,0,0,168,194,0,0,170,194,0,0,180,194,0,0,184,194,0,0,186,194,0,0,184,194,0,0,196,194,0,0,202,194,0,0,216,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,206,194,0,0,196,194,0,0,186,194,0,0,174,194,0,0,156,194,0,0,136,194,0,0,130,194,0,0,132,194,0,0,120,194,0,0,130,194,0,0,134,194,0,0,140,194,0,0,146,194,0,0,150,194,0,0,156,194,0,0,164,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,182,194,0,0,186,194,0,0,196,194,0,0,204,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,164,194,0,0,148,194,0,0,120,194,0,0,100,194,0,0,104,194,0,0,96,194,0,0,76,194,0,0,80,194,0,0,80,194,0,0,88,194,0,0,88,194,0,0,104,194,0,0,132,194,0,0,108,194,0,0,112,194,0,0,124,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,158,194,0,0,166,194,0,0,168,194,0,0,160,194,0,0,162,194,0,0,162,194,0,0,164,194,0,0,176,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,204,194,0,0,194,194,0,0,184,194,0,0,168,194,0,0,158,194,0,0,138,194,0,0,100,194,0,0,60,194,0,0,80,194,0,0,60,194,0,0,48,194,0,0,52,194,0,0,72,194,0,0,80,194,0,0,40,194,0,0,40,194,0,0,84,194,0,0,44,194,0,0,44,194,0,0,64,194,0,0,76,194,0,0,96,194,0,0,92,194,0,0,80,194,0,0,100,194,0,0,108,194,0,0,116,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,156,194,0,0,166,194,0,0,172,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,190,194,0,0,180,194,0,0,168,194,0,0,156,194,0,0,140,194,0,0,116,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,24,194,0,0,32,194,0,0,56,194,0,0,80,194,0,0,76,194,0,0,36,194,0,0,32,194,0,0,56,194,0,0,32,194,0,0,24,194,0,0,24,194,0,0,36,194,0,0,56,194,0,0,36,194,0,0,56,194,0,0,60,194,0,0,44,194,0,0,44,194,0,0,52,194,0,0,36,194,0,0,52,194,0,0,96,194,0,0,134,194,0,0,136,194,0,0,166,194,0,0,174,194,0,0,180,194,0,0,190,194,0,0,204,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,210,194,0,0,202,194,0,0,192,194,0,0,182,194,0,0,168,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,206,194,0,0,196,194,0,0,184,194,0,0,170,194,0,0,160,194,0,0,142,194,0,0,150,194,0,0,144,194,0,0,152,194,0,0,160,194,0,0,168,194,0,0,172,194,0,0,178,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,176,194,0,0,168,194,0,0,160,194,0,0,128,194,0,0,132,194,0,0,124,194,0,0,128,194,0,0,132,194,0,0,138,194,0,0,146,194,0,0,154,194,0,0,166,194,0,0,166,194,0,0,172,194,0,0,182,194,0,0,196,194,0,0,208,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,208,194,0,0,202,194,0,0,194,194,0,0,184,194,0,0,180,194,0,0,168,194,0,0,148,194,0,0,100,194,0,0,104,194,0,0,80,194,0,0,92,194,0,0,88,194,0,0,72,194,0,0,80,194,0,0,72,194,0,0,80,194,0,0,124,194,0,0,120,194,0,0,138,194,0,0,152,194,0,0,154,194,0,0,156,194,0,0,156,194,0,0,158,194,0,0,164,194,0,0,176,194,0,0,188,194,0,0,200,194,0,0,212,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,72,194,0,0,72,194,0,0,36,194,0,0,48,194,0,0,68,194,0,0,60,194,0,0,72,194,0,0,72,194,0,0,48,194,0,0,92,194,0,0,56,194,0,0,60,194,0,0,64,194,0,0,64,194,0,0,88,194,0,0,68,194,0,0,68,194,0,0,104,194,0,0,120,194,0,0,142,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,194,194,0,0,204,194,0,0,216,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,212,194,0,0,204,194,0,0,196,194,0,0,190,194,0,0,180,194,0,0,170,194,0,0,166,194,0,0,156,194,0,0,140,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,60,194,0,0,72,194,0,0,76,194,0,0,72,194,0,0,68,194,0,0,52,194,0,0,60,194,0,0,36,194,0,0,48,194,0,0,36,194,0,0,28,194,0,0,44,194,0,0,24,194,0,0,20,194,0,0,32,194,0,0,36,194,0,0,48,194,0,0,72,194,0,0,104,194,0,0,130,194,0,0,146,194,0,0,158,194,0,0,170,194,0,0,184,194,0,0,194,194,0,0,202,194,0,0,210,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,190,194,0,0,174,194,0,0,162,194,0,0,170,194,0,0,166,194,0,0,176,194,0,0,186,194,0,0,200,194,0,0,214,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,176,194,0,0,166,194,0,0,152,194,0,0,146,194,0,0,144,194,0,0,158,194,0,0,168,194,0,0,180,194,0,0,190,194,0,0,200,194,0,0,210,194,0,0,220,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,208,194,0,0,196,194,0,0,184,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,130,194,0,0,120,194,0,0,134,194,0,0,142,194,0,0,148,194,0,0,160,194,0,0,170,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,216,194,0,0,222,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,194,194,0,0,180,194,0,0,170,194,0,0,152,194,0,0,112,194,0,0,96,194,0,0,88,194,0,0,112,194,0,0,120,194,0,0,116,194,0,0,96,194,0,0,124,194,0,0,130,194,0,0,146,194,0,0,148,194,0,0,154,194,0,0,150,194,0,0,156,194,0,0,162,194,0,0,172,194,0,0,174,194,0,0,176,194,0,0,182,194,0,0,188,194,0,0,196,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,158,194,0,0,140,194,0,0,100,194,0,0,76,194,0,0,60,194,0,0,76,194,0,0,104,194,0,0,112,194,0,0,96,194,0,0,84,194,0,0,72,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,84,194,0,0,92,194,0,0,128,194,0,0,138,194,0,0,142,194,0,0,170,194,0,0,164,194,0,0,156,194,0,0,162,194,0,0,170,194,0,0,190,194,0,0,204,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,200,194,0,0,194,194,0,0,184,194,0,0,170,194,0,0,166,194,0,0,158,194,0,0,144,194,0,0,68,194,0,0,32,194,0,0,44,194,0,0,44,194,0,0,88,194,0,0,96,194,0,0,76,194,0,0,72,194,0,0,32,194,0,0,44,194,0,0,24,194,0,0,16,194,0,0,12,194,0,0,20,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,88,194,0,0,112,194,0,0,100,194,0,0,112,194,0,0,140,194,0,0,150,194,0,0,168,194,0,0,184,194,0,0,206,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,166,194,0,0,168,194,0,0,180,194,0,0,184,194,0,0,198,194,0,0,214,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,202,194,0,0,190,194,0,0,178,194,0,0,166,194,0,0,144,194,0,0,148,194,0,0,156,194,0,0,170,194,0,0,176,194,0,0,176,194,0,0,180,194,0,0,184,194,0,0,196,194,0,0,210,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,218,194,0,0,206,194,0,0,194,194,0,0,186,194,0,0,174,194,0,0,162,194,0,0,140,194,0,0,140,194,0,0,134,194,0,0,150,194,0,0,146,194,0,0,152,194,0,0,158,194,0,0,162,194,0,0,166,194,0,0,176,194,0,0,178,194,0,0,194,194,0,0,206,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,214,194,0,0,200,194,0,0,188,194,0,0,176,194,0,0,166,194,0,0,150,194,0,0,124,194,0,0,108,194,0,0,108,194,0,0,124,194,0,0,132,194,0,0,112,194,0,0,120,194,0,0,134,194,0,0,134,194,0,0,154,194,0,0,152,194,0,0,162,194,0,0,176,194,0,0,172,194,0,0,184,194,0,0,192,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,196,194,0,0,184,194,0,0,172,194,0,0,162,194,0,0,146,194,0,0,96,194,0,0,80,194,0,0,60,194,0,0,92,194,0,0,112,194,0,0,104,194,0,0,80,194,0,0,76,194,0,0,52,194,0,0,68,194,0,0,72,194,0,0,84,194,0,0,88,194,0,0,116,194,0,0,142,194,0,0,140,194,0,0,138,194,0,0,156,194,0,0,158,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,208,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,206,194,0,0,192,194,0,0,180,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,76,194,0,0,40,194,0,0,60,194,0,0,64,194,0,0,92,194,0,0,88,194,0,0,88,194,0,0,84,194,0,0,40,194,0,0,12,194,0,0,224,193,0,0,4,194,0,0,24,194,0,0,20,194,0,0,48,194,0,0,60,194,0,0,68,194,0,0,88,194,0,0,124,194,0,0,136,194,0,0,156,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,208,194,0,0,218,194,0,0,228,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,180,194,0,0,158,194,0,0,170,194,0,0,162,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,198,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,194,194,0,0,170,194,0,0,144,194,0,0,148,194,0,0,140,194,0,0,140,194,0,0,140,194,0,0,152,194,0,0,170,194,0,0,182,194,0,0,186,194,0,0,194,194,0,0,206,194,0,0,218,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,224,194,0,0,186,194,0,0,162,194,0,0,136,194,0,0,120,194,0,0,112,194,0,0,112,194,0,0,100,194,0,0,124,194,0,0,140,194,0,0,154,194,0,0,164,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,218,194,0,0,226,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,200,194,0,0,186,194,0,0,168,194,0,0,124,194,0,0,104,194,0,0,64,194,0,0,84,194,0,0,88,194,0,0,80,194,0,0,80,194,0,0,100,194,0,0,128,194,0,0,132,194,0,0,152,194,0,0,166,194,0,0,162,194,0,0,170,194,0,0,170,194,0,0,180,194,0,0,190,194,0,0,196,194,0,0,202,194,0,0,206,194,0,0,212,194,0,0,216,194,0,0,222,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,210,194,0,0,190,194,0,0,172,194,0,0,148,194,0,0,84,194,0,0,72,194,0,0,24,194,0,0,44,194,0,0,68,194,0,0,44,194,0,0,40,194,0,0,28,194,0,0,28,194,0,0,56,194,0,0,80,194,0,0,100,194,0,0,96,194,0,0,144,194,0,0,138,194,0,0,148,194,0,0,162,194,0,0,174,194,0,0,184,194,0,0,188,194,0,0,194,194,0,0,198,194,0,0,204,194,0,0,210,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,216,194,0,0,198,194,0,0,180,194,0,0,152,194,0,0,132,194,0,0,52,194,0,0,44,194,0,0,36,194,0,0,48,194,0,0,60,194,0,0,44,194,0,0,60,194,0,0,32,194,0,0,240,193,0,0,248,193,0,0,248,193,0,0,28,194,0,0,4,194,0,0,32,194,0,0,36,194,0,0,44,194,0,0,84,194,0,0,108,194,0,0,140,194,0,0,146,194,0,0,154,194,0,0,158,194,0,0,164,194,0,0,168,194,0,0,174,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,152,194,0,0,150,194,0,0,170,194,0,0,186,194,0,0,196,194,0,0,208,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,182,194,0,0,140,194,0,0,140,194,0,0,150,194,0,0,172,194,0,0,178,194,0,0,188,194,0,0,196,194,0,0,202,194,0,0,212,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,112,194,0,0,130,194,0,0,128,194,0,0,148,194,0,0,166,194,0,0,176,194,0,0,182,194,0,0,190,194,0,0,198,194,0,0,206,194,0,0,214,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,104,194,0,0,92,194,0,0,68,194,0,0,132,194,0,0,136,194,0,0,142,194,0,0,156,194,0,0,156,194,0,0,160,194,0,0,176,194,0,0,170,194,0,0,178,194,0,0,194,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,190,194,0,0,160,194,0,0,84,194,0,0,80,194,0,0,36,194,0,0,108,194,0,0,108,194,0,0,68,194,0,0,104,194,0,0,96,194,0,0,124,194,0,0,172,194,0,0,158,194,0,0,180,194,0,0,186,194,0,0,196,194,0,0,206,194,0,0,214,194,0,0,224,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,194,194,0,0,182,194,0,0,146,194,0,0,52,194,0,0,32,194,0,0,4,194,0,0,84,194,0,0,116,194,0,0,68,194,0,0,88,194,0,0,72,194,0,0,72,194,0,0,112,194,0,0,80,194,0,0,134,194,0,0,148,194,0,0,162,194,0,0,184,194,0,0,192,194,0,0,200,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,226,194,0,0,212,194,0,0,198,194,0,0,184,194,0,0,154,194,0,0,160,194,0,0,176,194,0,0,194,194,0,0,212,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196],"i8",O3,_.GLOBAL_BASE+10240),C3([0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,148,194,0,0,144,194,0,0,176,194,0,0,174,194,0,0,190,194,0,0,204,194,0,0,218,194,0,0,232,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,232,194,0,0,218,194,0,0,204,194,0,0,190,194,0,0,178,194,0,0,150,194,0,0,132,194,0,0,148,194,0,0,154,194,0,0,156,194,0,0,172,194,0,0,174,194,0,0,180,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,216,194,0,0,202,194,0,0,188,194,0,0,176,194,0,0,132,194,0,0,96,194,0,0,116,194,0,0,140,194,0,0,130,194,0,0,156,194,0,0,144,194,0,0,166,194,0,0,168,194,0,0,186,194,0,0,196,194,0,0,210,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,210,194,0,0,190,194,0,0,178,194,0,0,164,194,0,0,100,194,0,0,80,194,0,0,80,194,0,0,108,194,0,0,96,194,0,0,108,194,0,0,104,194,0,0,138,194,0,0,134,194,0,0,176,194,0,0,164,194,0,0,164,194,0,0,178,194,0,0,188,194,0,0,200,194,0,0,216,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,202,194,0,0,192,194,0,0,180,194,0,0,166,194,0,0,154,194,0,0,88,194,0,0,44,194,0,0,24,194,0,0,72,194,0,0,64,194,0,0,80,194,0,0,64,194,0,0,40,194,0,0,40,194,0,0,76,194,0,0,80,194,0,0,84,194,0,0,108,194,0,0,130,194,0,0,142,194,0,0,156,194,0,0,170,194,0,0,190,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,136,194,0,0,156,194,0,0,158,194,0,0,180,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,172,194,0,0,132,194,0,0,146,194,0,0,154,194,0,0,176,194,0,0,192,194,0,0,210,194,0,0,230,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,210,194,0,0,184,194,0,0,160,194,0,0,116,194,0,0,128,194,0,0,136,194,0,0,160,194,0,0,174,194,0,0,184,194,0,0,200,194,0,0,220,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,240,194,0,0,208,194,0,0,182,194,0,0,158,194,0,0,80,194,0,0,112,194,0,0,88,194,0,0,128,194,0,0,138,194,0,0,154,194,0,0,160,194,0,0,164,194,0,0,168,194,0,0,170,194,0,0,174,194,0,0,176,194,0,0,180,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,174,194,0,0,154,194,0,0,68,194,0,0,72,194,0,0,48,194,0,0,104,194,0,0,116,194,0,0,116,194,0,0,134,194,0,0,130,194,0,0,120,194,0,0,120,194,0,0,120,194,0,0,130,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,230,194,0,0,196,194,0,0,168,194,0,0,120,194,0,0,68,194,0,0,48,194,0,0,24,194,0,0,56,194,0,0,68,194,0,0,68,194,0,0,56,194,0,0,28,194,0,0,20,194,0,0,28,194,0,0,32,194,0,0,40,194,0,0,44,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,148,194,0,0,154,194,0,0,164,194,0,0,164,194,0,0,170,194,0,0,180,194,0,0,188,194,0,0,198,194,0,0,208,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,132,194,0,0,140,194,0,0,162,194,0,0,160,194,0,0,162,194,0,0,168,194,0,0,176,194,0,0,182,194,0,0,186,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,176,194,0,0,116,194,0,0,124,194,0,0,140,194,0,0,142,194,0,0,148,194,0,0,154,194,0,0,160,194,0,0,166,194,0,0,170,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,172,194,0,0,120,194,0,0,124,194,0,0,120,194,0,0,120,194,0,0,104,194,0,0,80,194,0,0,72,194,0,0,72,194,0,0,80,194,0,0,88,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,216,194,0,0,168,194,0,0,84,194,0,0,72,194,0,0,72,194,0,0,72,194,0,0,92,194,0,0,60,194,0,0,52,194,0,0,32,194,0,0,32,194,0,0,32,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,236,194,0,0,200,194,0,0,146,194,0,0,44,194,0,0,20,194,0,0,40,194,0,0,44,194,0,0,84,194,0,0,24,194,0,0,20,194,0,0,12,194,0,0,12,194,0,0,24,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,0,160,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,182,194,0,0,168,194,0,0,148,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,0,136,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,156,194,0,0,140,194,0,0,112,194,0,0,52,194,0,0,240,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,174,194,0,0,156,194,0,0,134,194,0,0,64,194,0,0,24,194,0,0,232,193,0,0,168,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,172,194,0,0,138,194,0,0,96,194,0,0,52,194,0,0,12,194,0,0,4,194,0,0,232,193,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,220,194,0,0,200,194,0,0,166,194,0,0,142,194,0,0,64,194,0,0,216,193,0,0,24,194,0,0,20,194,0,0,8,194,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,192,121,196,0,0,0,0,144,4,0,0,72,100,0,0,104,100,0,0,136,100,0,0,0,0,0,0,224,4,0,0,0,0,0,0,0,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,2,0,0,0,6,0,0,0,7,0,0,0,4,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,5,0,0,0,4,0,0,0,2,0,0,0,3,0,0,0,5,0,0,0,255,255,255,255,0,0,12,195,0,0,12,195,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,194,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,128,0,0,0,63,0,0,0,63,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,210,66,0,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,40,103,0,0,200,103,0,0,104,104,0,0,8,105,0,0,168,105,0,0,72,106,0,0,232,106,0,0,136,107,0,0,40,108,0,0,200,108,0,0,104,109,0,0,8,110,0,0,168,110,0,0,72,111,0,0,232,111,0,0,136,112,0,0,40,113,0,0,0,0,0,0,11,0,0,0,48,240,7,0,64,164,1,0,2,0,0,0,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,160,87,5,0,64,164,1,0,6,0,0,0,64,156,0,0,112,17,1,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,3,0,0,0,120,217,1,0,0,88,5,0,0,0,0,0,11,0,0,0,64,87,5,0,64,164,1,0,255,255,255,255,64,156,0,0,80,195,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,11,0,0,0,224,86,5,0,64,164,1,0,2,0,0,0,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,32,86,5,0,64,164,1,0,255,255,255,255,144,101,0,0,64,156,0,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,128,86,5,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,3,0,0,0,0,86,5,0,16,172,4,0,2,0,0,0,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,192,85,5,0,16,172,4,0,255,255,255,255,56,74,0,0,144,101,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,224,85,5,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,3,0,0,0,232,239,4,0,16,172,4,0,2,0,0,0,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,8,240,4,0,0,0,0,0,3,0,0,0,240,171,4,0,16,172,4,0,255,255,255,255,152,58,0,0,56,74,0,0,48,172,4,0,64,172,4,0,80,172,4,0,136,114,0,0,184,114,0,0,160,172,4,0,160,172,4,0,160,172,4,0,176,173,4,0,224,173,4,0,16,177,4,0,16,177,4,0,64,180,4,0,56,118,0,0,104,118,0,0,112,183,4,0,112,183,4,0,144,183,4,0,144,183,4,0,160,183,4,0,160,183,4,0,176,183,4,0,208,183,4,0,224,183,4,0,240,183,4,0,24,120,0,0,16,184,4,0,48,184,4,0,160,132,0,0,208,132,0,0,2,0,0,0,240,187,4,0,248,187,4,0,0,0,0,0,2,0,0,0,216,171,4,0,0,168,4,0,2,0,0,0,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,184,47,1,0,0,0,0,0,2,0,0,0,232,167,4,0,0,168,4,0,255,255,255,255,40,35,0,0,152,58,0,0,24,168,4,0,24,168,4,0,32,168,4,0,136,114,0,0,184,114,0,0,96,168,4,0,0,0,0,0,96,168,4,0,184,115,0,0,48,169,4,0,48,169,4,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,152,171,4,0,224,119,0,0,240,119,0,0,176,171,4,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,200,171,4,0,248,180,0,0,0,0,0,0,2,0,0,0,208,167,4,0,40,114,0,0,2,0,0,0,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,184,167,4,0,40,114,0,0,255,255,255,255,64,31,0,0,40,35,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,2,0,0,0,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,136,149,2,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,200,160,2,0,0,0,0,0,11,0,0,0,200,113,0,0,64,164,1,0,255,255,255,255,80,195,0,0,64,13,3,0,160,164,1,0,208,164,1,0,0,165,1,0,136,114,0,0,184,114,0,0,240,165,1,0,32,169,1,0,240,165,1,0,80,172,1,0,128,172,1,0,16,182,1,0,160,191,1,0,48,201,1,0,56,118,0,0,192,210,1,0,128,214,1,0,224,214,1,0,64,215,1,0,112,215,1,0,160,215,1,0,208,215,1,0,0,216,1,0,88,216,1,0,136,216,1,0,184,216,1,0,24,120,0,0,24,217,1,0,0,0,0,0,160,132,0,0,208,132,0,0,2,0,0,0,120,217,1,0,136,217,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,2,0,0,0,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,184,47,1,0,0,0,0,0,2,0,0,0,200,113,0,0,40,114,0,0,255,255,255,255,0,0,0,0,64,31,0,0,64,114,0,0,64,114,0,0,72,114,0,0,136,114,0,0,184,114,0,0,232,114,0,0,0,0,0,0,232,114,0,0,184,115,0,0,208,115,0,0,208,115,0,0,0,0,0,0,0,0,0,0,56,118,0,0,104,118,0,0,168,119,0,0,0,0,0,0,192,119,0,0,192,119,0,0,200,119,0,0,200,119,0,0,208,119,0,0,224,119,0,0,240,119,0,0,0,120,0,0,24,120,0,0,184,129,0,0,208,129,0,0,160,132,0,0,208,132,0,0,1,0,0,0,240,180,0,0,248,180,0,0,0,0,0,0,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,0,0,0,0,0,0,240,191,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,32,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,90,0,0,0,90,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,95,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,105,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,226,255,255,255,216,255,255,255,216,255,255,255,211,255,255,255,211,255,255,255,211,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,9,0,0,0,10,0,0,0,10,0,0,0,11,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,64,0,0,0,64,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,151,255,255,255,0,0,0,0,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,0,0,0,0,8,64],"i8",O3,_.GLOBAL_BASE+20480),C3([0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,8,0,0,0,0,0,160,65,0,0,96,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,112,194,0,0,240,193,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,32,194,0,0,0,64,0,0,150,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,96,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,194,0,0,240,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,200,193,0,0,0,64,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,64,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,160,193,0,0,160,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,112,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,160,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,160,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,0,0,32,65,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,112,193,0,0,112,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,64,193,0,0,0,0,0,0,170,194,0,0,192,192,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,3,1,0,24,3,1,0,48,3,1,0,80,3,1,0,112,3,1,0,160,3,1,0,208,3,1,0,232,3,1,0,40,4,1,0,104,4,1,0,152,4,1,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,33,0,0,0,8,0,0,0,16,0,0,0,70,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,128,0,0,0,14,0,0,0,4,0,0,0,58,0,0,0,2,0,0,0,8,0,0,0,28,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,2,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,5,0,0,0,6,0,0,0,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,28,0,0,0,8,0,0,0,116,0,0,0,4,0,0,0,16,0,0,0,56,0,0,0,180,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,4,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,8,0,0,0,33,0,0,0,4,0,0,0,16,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,12,0,0,0,23,0,0,0,46,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,128,0,0,0,12,0,0,0,46,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,23,0,0,0,33,0,0,0,70,0,0,0,2,0,0,0,6,0,0,0,10,0,0,0,14,0,0,0,19,0,0,0,28,0,0,0,39,0,0,0,58,0,0,0,90,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,128,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+30720),C3([1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,1,0,0,66,0,0,0,16,0,0,0,32,0,0,0,140,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,1,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,4,0,0,93,0,0,0,23,0,0,0,116,1,0,0,6,0,0,0,46,0,0,0,186,0,0,0,238,2,0,0,14,0,0,0,33,0,0,0,65,0,0,0,130,0,0,0,4,1,0,0,44,2,0,0,3,0,0,0,10,0,0,0,18,0,0,0,28,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,111,0,0,0,158,0,0,0,220,0,0,0,56,1,0,0,208,1,0,0,138,2,0,0,82,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,4,0,0,8,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,4,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,12,0,0,0,13,0,0,0,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,8,0,0,186,0,0,0,46,0,0,0,232,2,0,0,12,0,0,0,92,0,0,0,116,1,0,0,220,5,0,0,28,0,0,0,66,0,0,0,130,0,0,0,4,1,0,0,8,2,0,0,88,4,0,0,6,0,0,0,20,0,0,0,36,0,0,0,56,0,0,0,78,0,0,0,110,0,0,0,158,0,0,0,222,0,0,0,60,1,0,0,184,1,0,0,112,2,0,0,160,3,0,0,20,5,0,0,164,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,64,64,0,0,144,65,0,8,0,0,6,0,0,0,0,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,6,0,0,0,7,0,0,0,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,9,0,0,0,10,0,0,0,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,2,0,0,46,0,0,0,186,0,0,0,16,0,0,0,33,0,0,0,65,0,0,0,93,0,0,0,130,0,0,0,22,1,0,0,7,0,0,0,23,0,0,0,39,0,0,0,55,0,0,0,79,0,0,0,110,0,0,0,156,0,0,0,232,0,0,0,104,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,66,0,0,240,65,0,0,250,67,0,0,128,63,0,0,144,65,10,0,0,0,248,2,1,0,0,0,0,0,8,181,0,0,24,206,0,0,8,181,0,0,56,206,0,0,1],"i8",O3,_.GLOBAL_BASE+41032),C3([1],"i8",O3,_.GLOBAL_BASE+49544),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+50572),C3([1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,8,245,0,0,8,245,0,0,48,245,0,0,48,245,0,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,112,217,0,0,112,217,0,0,152,217,0,0,152,217,0,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+52752),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,16,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,30,0,0,0,255,255,255,255,50,0,0,0,255,255,255,255,80,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,136,233,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,218,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,219,0,0,0,0,0,0,72,219,0,0,112,219,0,0,0,0,0,0,0,0,0,0,152,219,0,0,192,219,0,0,0,0,0,0,0,0,0,0,232,219,0,0,16,220,0,0,56,220,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,233,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,233,0,0,0,0,0,0,4,0,0,0,81,0,0,0,184,232,0,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,233,0,0,0,0,0,0,4,0,0,0,113,2,0,0,40,230,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,232,0,0,0,0,0,0,4,0,0,0,113,2,0,0,152,227,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,230,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,227,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,227,0,0,0,0,0,0,2,0,0,0,81,0,0,0,152,226,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,240,226,0,0,0,0,0,0,4,0,0,0,81,0,0,0,48,226,0,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,128,225,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,226,0,0,0,0,0,0,2,0,0,0,121,0,0,0,208,224,0,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,80,225,0,0,0,0,0,0,2,0,0,0,121,0,0,0,32,224,0,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,224,0,0,0,0,0,0,2,0,0,0,225,0,0,0,248,222,0,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,224,223,0,0,0,0,0,0,2,0,0,0,225,0,0,0,208,221,0,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,184,222,0,0,0,0,0,0,2,0,0,0,33,1,0,0,96,220,0,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,136,221,0,0,0,0,0,0,2,5,4,6,6,8,8,8,8,8,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,10,10,9,7,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,10,10,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,9,9,7,7,8,8,10,10,11,11,4,7,7,9,9,10,10,8,8,10,10,10,11,10,11,4,7,7,9,9,10,10,8,8,10,9,11,11,11,11,7,9,9,12,12,11,12,10,10,11,10,12,11,11,11,7,9,9,11,11,13,12,9,9,11,10,11,11,12,11,9,10,10,12,12,14,14,10,10,11,12,12,11,11,11,9,10,11,11,13,14,13,10,11,11,11,12,11,12,12,7,8,8,10,9,11,10,11,12,12,11,12,14,12,13,7,8,8,9,10,10,11,12,12,12,11,12,12,12,13,9,9,9,11,11,13,12,12,12,12,11,12,12,13,12,8,10,10,11,10,11,12,12,12,12,12,12,14,12,12,9,11,11,11,12,12,12,12,13,13,12,12,13,13,12,10,11,11,12,11,12,12,12,11,12,13,12,12,12,13,11,11,12,12,12,13,12,12,11,12,13,13,12,12,13,12,11,12,12,13,13,12,13,12,13,13,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,11,11,11,11,11,11,11,11,11,11,11,11,3,11,8,11,11,11,11,11,11,11,11,11,11,11,11,3,9,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,11,13,12,4,6,6,7,7,9,9,11,11,12,12,6,7,7,9,9,11,11,12,12,13,13,6,7,7,9,9,11,11,12,12,13,13,8,9,9,11,11,12,12,13,13,14,14,8,9,9,11,11,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,15,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,15,16,16,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,9,9,9,4,5,5,7,7,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,10,10,8,10,10,5,9,9,7,10,10,8,10,10,4,10,10,9,12,12,9,11,11,7,12,11,10,11,13,10,13,13,7,12,12,10,13,12,10,13,13,4,10,10,9,12,12,9,12,12,7,12,12,10,13,13,10,12,13,7,11,12,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,9,9,6,6,6,7,7,8,8,9,9,7,7,7,8,8,8,9,10,10,7,7,7,8,8,9,8,10,10,9,9,9,9,9,10,10,10,10,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,5,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,10,12,11,8,8,8,9,9,10,10,11,11,9,10,10,11,11,11,11,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,6,7,7,9,9,6,7,7,9,9,9,9,9,11,11,9,9,9,11,11,6,7,7,9,9,7,7,8,9,10,7,7,8,9,10,9,9,10,10,11,9,9,10,10,12,6,7,7,9,9,7,8,7,10,9,7,8,7,10,9,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,11,11,12,12,13,11,11,12,12,13,9,9,10,12,11,9,10,10,12,12,10,10,10,12,12,11,12,11,13,12,11,12,11,13,12,6,7,7,9,9,7,8,8,10,10,7,8,7,10,9,10,10,10,12,12,10,10,10,12,11,7,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,10,12,10,10,11,12,12,7,8,8,10,10,7,9,8,11,10,8,8,9,11,11,10,11,10,12,11,10,11,11,12,12,9,10,10,12,12,9,10,10,12,12,10,11,11,13,12,11,10,12,10,14,12,12,12,13,14,9,10,10,12,12,9,11,10,12,12,10,11,11,12,12,11,12,11,14,12,12,12,12,14,14,5,7,7,9,9,7,7,7,9,10,7,8,8,10,10,10,10,10,11,11,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,10,10,11,12,10,10,11,11,13,6,7,8,10,10,8,9,9,10,10,7,9,7,11,10,10,11,10,12,12,10,11,10,12,10,9,10,10,12,12,10,11,11,13,12,9,10,10,12,12,12,12,12,14,13,11,11,12,11,14,9,10,10,11,12,10,11,11,12,13,9,10,10,12,12,12,12,12,14,13,11,12,10,14,11,9,9,10,11,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,12,9,10,9,12,12,9,10,11,12,13,10,11,10,13,11,12,12,13,13,14,12,12,12,13,13,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,12,13,14,11,12,11,14,13,10,10,11,13,13,12,12,12,14,13,12,10,14,10,15,13,14,14,14,14,11,11,12,13,14,10,12,11,13,13,12,12,12,13,15,12,13,11,15,12,13,13,14,14,14,9,10,9,12,12,9,10,10,12,12,10,10,10,12,12,11,11,12,12,13,12,12,12,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,12,12,14,13,12,12,13,13,14,9,10,10,12,13,10,10,11,11,12,9,11,10,13,12,12,12,12,13,14,12,13,12,14,13,11,12,11,13,13,12,13,12,14,13,10,11,12,13,13,13,13,13,14,15,12,11,14,12,14,11,11,12,12,13,12,12,12,13,14,10,12,10,14,13,13,13,13,14,15,12,14,11,15,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,9,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,9,11,11,14,13,10,12,11,14,14,10,12,11,14,13,12,13,13,15,14,12,13,13,15,14,8,11,11,13,14,10,11,12,13,15,10,11,12,14,14,12,13,13,14,15,12,13,13,14,15,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,13,11,12,12,13,14,8,10,10,12,12,9,11,12,13,14,10,12,12,13,13,12,12,13,14,14,11,13,13,15,15,7,10,10,12,12,9,12,11,14,12,10,11,12,13,14,12,13,12,14,14,12,13,13,15,16,10,12,12,15,14,11,12,13,15,15,11,13,13,15,16,14,14,15,15,16,13,14,15,17,15,9,12,12,14,15,11,13,12,15,15,11,13,13,15,15,13,14,13,15,14,13,14,14,17,0,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,13,13,9,11,12,12,13,11,12,13,15,15,11,12,13,14,15,8,10,10,12,12,10,12,11,13,13,10,12,11,13,13,11,13,13,15,14,12,13,12,15,13,9,12,12,14,14,11,13,13,16,15,11,12,13,16,15,13,14,15,16,16,13,13,15,15,16,10,12,12,15,14,11,13,13,14,16,11,13,13,15,16,13,15,15,16,17,13,15,14,16,15,8,11,11,14,15,10,12,12,15,15,10,12,12,15,16,14,15,15,16,17,13,14,14,16,16,9,12,12,15,15,11,13,14,15,17,11,13,13,15,16,14,15,16,19,17,13,15,15,0,17,9,12,12,15,15,11,14,13,16,15,11,13,13,15,16,15,15,15,18,17,13,15,15,17,17,11,15,14,18,16,12,14,15,17,17,12,15,15,18,18,15,15,16,15,19,14,16,16,0,0,11,14,14,16,17,12,15,14,18,17,12,15,15,18,18,15,17,15,18,16,14,16,16,18,18,7,11,11,14,14,10,12,12,15,15,10,12,13,15,15,13,14,15,16,16,14,15,15,18,18,9,12,12,15,15,11,13,13,16,15,11,12,13,16,16,14,15,15,17,16,15,16,16,17,17,9,12,12,15,15,11,13,13,15,17,11,14,13,16,15,13,15,15,17,17,15,15,15,18,17,11,14,14,17,15,12,14,15,17,18,13,13,15,17,17,14,16,16,19,18,16,15,17,17,0,11,14,14,17,17,12,15,15,18,0,12,15,14,18,16,14,17,17,19,0,16,18,15,0,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,5,6,6,5,6,6,5,7,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,7,8,8,6,7,7,6,8,7,7,7,9,8,9,9,6,7,8,7,9,7,8,9,9,5,6,6,6,7,7,7,8,8,6,8,7,8,9,9,7,7,9,6,7,8,8,9,9,7,9,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,10,7,9,9,5,8,8,7,10,9,7,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,10,12,12,7,10,10,9,12,11,10,12,12,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,10,10,12,12,9,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,9,15,9,16,8,10,13,7,5,8,6,9,7,10,7,10,11,11,6,7,8,8,9,9,9,12,16,8,5,8,6,8,6,9,7,10,12,11,7,7,7,6,7,7,7,11,15,7,5,8,6,7,5,7,6,9,13,13,9,9,8,6,6,5,5,9,14,8,6,8,6,6,4,5,3,5,13,9,9,11,8,10,7,8,4,5,12,11,16,17,15,17,12,13,8,8,15,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+55148),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,28,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,25,0,0,0,255,255,255,255,45,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,184,2,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,245,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,246,0,0,0,0,0,0,0,0,0,0,0,0,0,0,144,246,0,0,0,0,0,0,184,246,0,0,224,246,0,0,0,0,0,0,0,0,0,0,8,247,0,0,48,247,0,0,88,247,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,80,2,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,2,1,0,0,0,0,0,4,0,0,0,81,0,0,0,232,1,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,2,1,0,0,0,0,0,4,0,0,0,113,2,0,0,88,255,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,1,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,252,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,255,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,252,0,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,252,0,0,0,0,0,0,2,0,0,0,169,0,0,0,96,251,0,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,252,0,0,0,0,0,0,2,0,0,0,25,0,0,0,40,251,0,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,251,0,0,0,0,0,0,4,0,0,0,81,0,0,0,192,250,0,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,24,251,0,0,0,0,0,0,2,0,0,0,225,0,0,0,152,249,0,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,128,250,0,0,0,0,0,0,2,0,0,0,185,1,0,0,128,247,0,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,64,249,0,0,0,0,0,0,1,6,5,7,7,9,9,9,9,10,12,12,10,11,11,10,11,11,11,10,11,6,8,8,9,9,10,10,9,10,11,11,10,11,11,11,11,10,11,11,11,11,6,7,8,9,9,9,10,11,10,11,12,11,10,11,11,11,11,11,11,12,10,8,9,9,10,9,10,10,9,10,10,10,10,10,9,10,10,10,10,9,10,10,9,9,9,9,10,10,9,9,10,10,11,10,9,12,10,11,10,9,10,10,10,8,9,9,10,9,10,9,9,10,10,9,10,9,11,10,10,10,10,10,9,10,8,8,9,9,10,9,11,9,8,9,9,10,11,10,10,10,11,12,9,9,11,8,9,8,11,10,11,10,10,9,11,10,10,10,10,10,10,10,11,11,11,11,8,9,9,9,10,10,10,11,11,12,11,12,11,10,10,10,12,11,11,11,10,8,10,9,11,10,10,11,12,10,11,12,11,11,12,11,12,12,10,11,11,10,9,9,10,11,12,10,10,10,11,10,11,11,10,12,12,10,11,10,11,12,10,9,10,10,11,10,11,11,11,11,11,12,11,11,11,9,11,10,11,10,11,10,9,9,10,11,11,11,10,10,11,12,12,11,12,11,11,11,12,12,12,12,11,9,11,11,12,10,11,11,11,11,11,11,12,11,11,12,11,11,11,10,11,11,9,11,10,11,11,11,10,10,10,11,11,11,12,10,11,10,11,11,11,11,12,9,11,10,11,11,10,10,11,11,9,11,11,12,10,10,10,10,10,11,11,10,9,10,11,11,12,11,10,10,12,11,11,12,11,12,11,11,10,10,11,11,10,12,11,10,11,10,11,10,10,10,11,11,10,10,11,11,11,11,10,10,10,12,11,11,11,11,10,9,10,11,11,11,12,11,11,11,12,10,11,11,11,9,10,11,11,11,11,11,11,10,10,11,11,12,11,10,11,12,11,10,10,11,9,10,11,11,11,11,11,10,11,11,10,12,11,11,11,12,11,11,11,10,10,11,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,10,10,11,11,11,11,11,11,11,11,5,7,6,8,8,9,10,11,11,11,11,11,11,11,11,6,6,7,9,7,11,10,11,11,11,11,11,11,11,11,5,6,6,11,8,11,11,11,11,11,11,11,11,11,11,5,6,6,9,10,11,10,11,11,11,11,11,11,11,11,7,10,10,11,11,11,11,11,11,11,11,11,11,11,11,7,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,4,6,5,7,7,4,5,6,7,7,6,7,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,9,9,11,11,12,12,16,16,3,6,6,9,9,11,11,12,12,13,14,18,16,3,6,7,9,9,11,11,13,12,14,14,17,16,7,9,9,11,11,12,12,14,14,14,14,17,16,7,9,9,11,11,13,12,13,13,14,14,17,0,9,11,11,12,13,14,14,14,13,15,14,17,17,9,11,11,12,12,14,14,13,14,14,15,0,0,11,12,12,15,14,15,14,15,14,15,16,17,0,11,12,13,13,13,14,14,15,14,15,15,0,0,12,14,14,15,15,14,16,15,15,17,16,0,18,13,14,14,15,14,15,14,15,16,17,16,0,0,17,17,18,0,16,18,16,0,0,0,17,0,0,16,0,0,16,16,0,15,0,17,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,7,8,8,10,10,4,6,6,8,8,8,8,10,10,6,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,9,9,10,10,12,11,7,8,8,9,9,10,10,11,11,9,10,10,11,11,11,12,12,12,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,6,7,9,9,6,7,6,9,9,9,9,9,10,11,9,9,9,11,10,6,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,10,11,9,10,10,11,12,6,7,7,10,10,7,8,8,10,10,7,8,7,10,10,9,10,10,12,11,10,10,10,11,10,9,10,10,12,11,10,10,10,13,11,9,10,10,12,12,11,11,12,12,13,11,11,11,12,13,9,10,10,12,12,10,10,11,12,12,10,10,11,12,12,11,11,11,13,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,11,12,12,10,11,10,12,12,7,8,8,11,11,7,8,9,10,11,8,9,9,11,11,11,10,11,10,12,10,11,11,12,13,7,8,8,10,11,8,9,8,12,10,8,9,9,11,12,10,11,10,13,11,10,11,11,13,12,9,11,10,13,12,10,10,11,12,12,10,11,11,13,13,12,10,13,11,14,11,12,12,15,13,9,11,11,13,13,10,11,11,13,12,10,11,11,12,14,12,13,11,14,12,12,12,12,14,14,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,11,11,12,12,10,11,10,12,12,7,8,8,10,11,8,9,9,12,11,8,8,9,10,11,10,11,11,12,13,11,10,11,11,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,11,11,12,12,10,11,10,13,10,9,11,10,13,12,10,12,11,13,13,10,10,11,12,13,11,12,13,15,14,11,11,13,12,13,9,10,11,12,13,10,11,11,12,13,10,11,10,13,12,12,13,13,13,14,12,12,11,14,11,8,10,10,12,13,10,11,11,13,13,10,11,10,13,13,12,13,14,15,14,12,12,12,14,13,9,10,10,13,12,10,10,12,13,13,10,11,11,15,12,12,12,13,15,14,12,13,13,15,13,9,10,11,12,13,10,12,10,13,12,10,11,11,12,13,12,14,12,15,13,12,12,12,15,14,11,12,11,14,13,11,11,12,14,14,12,13,13,14,13,13,11,15,11,15,14,14,14,16,15,11,12,12,13,14,11,13,11,14,14,12,12,13,14,15,12,14,12,15,12,13,15,14,16,15,8,10,10,12,12,10,10,10,12,13,10,11,11,13,13,12,12,12,13,14,13,13,13,15,15,9,10,10,12,12,10,11,11,13,12,10,10,11,13,13,12,12,12,14,14,12,12,13,15,14,9,10,10,13,12,10,10,12,12,13,10,11,10,13,13,12,13,13,14,14,12,13,12,14,13,11,12,12,14,13,12,13,12,14,14,10,12,12,14,14,14,14,14,16,14,13,12,14,12,15,10,12,12,14,15,12,13,13,14,16,11,12,11,15,14,13,14,14,14,15,13,14,11,14,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,9,9,6,7,7,9,9,8,10,9,11,11,8,9,9,11,11,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,12,12,10,11,11,12,13,6,8,8,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,12,12,10,11,11,12,12,8,11,11,14,13,10,12,11,15,13,10,12,11,14,14,12,13,12,16,14,12,14,12,16,15,8,11,11,13,14,10,11,12,13,15,10,11,12,13,15,11,12,13,14,15,12,12,14,14,16,5,8,8,11,11,9,11,11,12,12,8,10,11,12,12,11,12,12,15,14,11,12,12,14,14,7,11,10,13,12,10,11,12,13,14,10,12,12,14,13,12,13,13,14,15,12,13,13,15,15,7,10,11,12,13,10,12,11,14,13,10,12,13,13,15,12,13,12,14,14,11,13,13,15,16,9,12,12,15,14,11,13,13,15,16,11,13,13,16,16,13,14,15,15,15,12,14,15,17,16,9,12,12,14,15,11,13,13,15,16,11,13,13,16,18,13,14,14,17,16,13,15,15,17,18,5,8,9,11,11,8,11,11,12,12,8,10,11,12,12,11,12,12,14,14,11,12,12,14,15,7,11,10,12,13,10,12,12,14,13,10,11,12,13,14,11,13,13,15,14,12,13,13,14,15,7,10,11,13,13,10,12,12,13,14,10,12,12,13,13,11,13,13,16,16,12,13,13,15,14,9,12,12,16,15,10,13,13,15,15,11,13,13,17,15,12,15,15,18,17,13,14,14,15,16,9,12,12,15,15,11,13,13,15,16,11,13,13,15,15,12,15,15,16,16,13,15,14,17,15,7,11,11,15,15,10,13,13,16,15,10,13,13,15,16,14,15,15,17,19,13,15,14,15,18,9,12,12,16,16,11,13,14,17,16,11,13,13,17,16,15,15,16,17,19,13,15,16,0,18,9,12,12,16,15,11,14,13,17,17,11,13,14,16,16,15,16,16,19,18,13,15,15,17,19,11,14,14,19,16,12,14,15,0,18,12,16,15,18,17,15,15,18,16,19,14,15,17,19,19,11,14,14,18,19,13,15,14,19,19,12,16,15,18,17,15,17,15,0,16,14,17,16,19,0,7,11,11,14,14,10,12,12,15,15,10,13,13,16,15,13,15,15,17,0,14,15,15,16,19,9,12,12,16,16,11,14,14,16,16,11,13,13,16,16,14,17,16,19,0,14,18,17,17,19,9,12,12,15,16,11,13,13,15,17,12,14,13,19,16,13,15,15,17,19,15,17,16,17,19,11,14,14,19,16,12,15,15,19,17,13,14,15,17,19,14,16,17,19,19,16,15,16,17,19,11,15,14,16,16,12,15,15,19,0,12,14,15,19,19,14,16,16,0,18,15,19,14,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,6,7,8,6,7,8,5,7,7,6,8,8,7,9,7,5,7,7,7,9,9,7,8,8,6,9,8,7,7,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,9,6,8,8,8,10,10,8,8,10,6,8,9,8,10,10,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,4,9,8,8,11,11,8,11,11,7,11,11,10,11,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,8,11,11,7,11,11,9,13,13,10,12,13,7,11,11,10,13,13,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,11,9,12,8,7,10,6,4,5,5,7,5,6,16,9,5,5,6,7,7,9,16,7,4,6,5,7,5,7,17,10,7,7,8,7,7,8,18,7,5,6,4,5,4,5,15,7,6,7,5,6,4,5,15,12,13,18,12,17,11,9,17,6,0,0,0,6,0,0,0,120,45,1,0,160,45,1,0,200,45,1,0,240,45,1,0,24,46,1,0,0,0,0,0,56,43,1,0,96,43,1,0,136,43,1,0,176,43,1,0,216,43,1,0,0,0,0,0,216,39,1,0,0,40,1,0,40,40,1,0,80,40,1,0,120,40,1,0,160,40,1,0,200,40,1,0,240,40,1,0,120,36,1,0,160,36,1,0,200,36,1,0,240,36,1,0,24,37,1,0,64,37,1,0,104,37,1,0,144,37,1,0,80,31,1,0,120,31,1,0,160,31,1,0,200,31,1,0,240,31,1,0,24,32,1,0,64,32,1,0,104,32,1,0,144,32,1,0,184,32,1,0,224,32,1,0,8,33,1,0,40,26,1,0,80,26,1,0,120,26,1,0,160,26,1,0,200,26,1,0,240,26,1,0,24,27,1,0,64,27,1,0,104,27,1,0,144,27,1,0,184,27,1,0,224,27,1,0,232,23,1,0,16,24,1,0,56,24,1,0,96,24,1,0,136,24,1,0,0,0,0,0,216,16,1,0,0,17,1,0,40,17,1,0,80,17,1,0,120,17,1,0,160,17,1,0,200,17,1,0,240,17,1,0,24,18,1,0,64,18,1,0,104,18,1,0,144,18,1,0,184,18,1,0,224,18,1,0,8,19,1,0,0,0,0,0,200,9,1,0,240,9,1,0,24,10,1,0,64,10,1,0,104,10,1,0,144,10,1,0,184,10,1,0,224,10,1,0,8,11,1,0,48,11,1,0,88,11,1,0,128,11,1,0,168,11,1,0,208,11,1,0,248,11,1,0,0,0,0,0,160,4,1,0,200,4,1,0,240,4,1,0,24,5,1,0,64,5,1,0,104,5,1,0,144,5,1,0,184,5,1,0,224,5,1,0,8,6,1,0,48,6,1,0,88,6,1,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,9,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,160,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,8,8,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,208,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,80,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,56,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,0,7,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,128,6,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,4,8,4,8,4,8,5,8,5,8,6,8,4,8,4,8,5,8,5,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,4,3,5,4,6,4,6,5,7,6,7,6,8,6,8,7,9,8,10,8,12,9,13,10,15,10,15,11,14,0,0,0,0,0,0,0,4,4,4,4,4,4,3,4,4,4,4,4,5,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,3,4,4,5,5,6,6,7,7,7,8,8,11,8,9,9,9,10,11,11,11,9,10,10,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,6,4,6,5,6,5,7,5,7,6,8,6,8,6,8,7,8,7,9,7,9,8,0,0,0,0,0,0,0,4,5,4,4,4,5,4,4,4,5,4,5,4,5,3,5,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,4,5,4,5,4,5,5,5,5,6,5,6,5,7,5,8,6,8,6,8,6,8,6,8,7,9,7,9,7,11,9,11,11,12,11,14,12,14,16,14,16,13,16,14,16,12,15,13,16,14,16,13,14,12,15,13,15,13,13,13,15,12,14,14,15,13,15,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,7,6,7,6,8,7,8,7,8,7,8,7,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,5,6,6,6,6,5,6,6,7,6,7,6,7,6,7,6,8,7,8,7,8,7,8,7,8,7,9,7,9,7,9,7,9,8,9,8,10,8,10,8,10,7,10,6,10,8,10,8,11,7,10,7,11,8,11,11,12,12,11,11,12,11,13,11,13,11,13,12,15,12,13,13,14,14,14,14,14,15,15,15,16,14,17,19,19,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,2,4,6,17,4,5,7,17,8,7,10,17,17,17,17,17,3,4,6,15,3,3,6,15,7,6,9,17,17,17,17,17,6,8,10,17,6,6,8,16,9,8,10,17,17,15,16,17,17,17,17,17,12,15,15,16,12,15,15,16,16,16,16,16,3,3,3,14,5,4,4,11,8,6,6,10,17,12,11,17,6,5,5,15,5,3,4,11,8,5,5,8,16,9,10,14,10,8,9,17,8,6,6,13,10,7,7,10,16,11,13,14,17,17,17,17,17,16,16,16,16,15,16,16,16,16,16,16,1,2,3,6,5,4,7,7,1,0,0,0,16,0,0,0,200,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,192,16,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,192,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,128,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,15,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,224,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,96,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,64,14,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,192,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,168,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,112,13,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,240,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,216,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,160,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,32,12,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,5,7,5,7,7,7,7,7,5,7,5,7,5,7,5,7,7,7,7,7,4,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,5,6,5,6,5,7,6,6,6,7,7,7,8,9,9,9,12,10,11,10,10,12,10,10,0,0,0,0,0,0,0,3,4,4,4,4,4,4,4,4,5,4,5,4,5,4,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,3,7,3,7,5,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,4,4,5,5,5,5,6,6,7,6,7,6,8,6,9,7,9,7,9,9,11,9,12,10,12,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,3,4,3,4,4,5,4,5,5,5,6,6,6,7,6,8,6,8,6,9,7,10,7,10,7,10,7,12,7,12,7,12,9,12,11,12,10,12,10,12,11,12,12,12,10,12,10,12,10,12,9,12,11,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,10,10,12,12,12,12,12,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,2,4,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,6,6,6,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,5,7,5,7,4,7,4,8,4,8,4,8,4,8,3,8,4,9,4,9,4,9,4,9,4,9,5,9,5,9,6,9,7,9,8,9,9,9,10,9,11,9,14,9,15,10,15,10,15,10,15,10,15,11,15,10,14,12,14,11,14,13,14,13,15,15,15,12,15,15,15,13,15,13,15,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,14,4,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7,6,7,6,7,6,7,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,8,5,8,5,8,5,9,5,9,6,10,6,10,6,11,6,11,6,11,6,11,6,11,6,11,6,11,6,12,7,11,7,11,7,11,7,11,7,10,7,11,7,11,7,12,7,11,8,11,8,11,8,11,8,13,8,12,9,11,9,11,9,11,10,12,10,12,9,12,10,12,11,14,12,16,12,12,11,14,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,2,4,7,13,4,5,7,15,8,7,10,16,16,14,16,16,2,4,7,16,3,4,7,14,8,8,10,16,16,16,15,16,6,8,11,16,7,7,9,16,11,9,13,16,16,16,15,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,3,3,6,16,5,5,7,16,9,8,11,16,16,16,16,16,5,5,8,16,5,5,7,16,8,7,9,16,16,16,16,16,9,9,12,16,6,8,11,16,9,10,11,16,16,16,16,16,16,16,16,16,13,16,16,16,15,16,16,16,16,16,16,16,5,4,7,16,6,5,8,16,9,8,10,16,16,16,16,16,5,5,7,15,5,4,6,15,7,6,8,16,16,16,16,16,9,9,11,15,7,7,9,16,8,8,9,16,16,16,16,16,16,16,16,16,15,15,15,16,15,15,14,16,16,16,16,16,8,8,11,16,8,9,10,16,11,10,14,16,16,16,16,16,6,8,10,16,6,7,10,16,8,8,11,16,14,16,16,16,10,11,14,16,9,9,11,16,10,10,11,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,12,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,1,2,3,6,4,7,5,7,2,6,8,9,7,11,13,13,1,3,5,5,6,6,12,10,1,0,0,0,16,0,0,0,216,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,208,23,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,208,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,144,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,16,22,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,240,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,21,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,20,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,19,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,2,6,3,6,4,7,4,7,5,9,5,11,6,11,6,11,7,11,6,11,6,11,9,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,2,4,2,5,3,5,4,6,6,6,7,7,8,7,8,7,8,7,9,8,9,8,9,8,10,8,11,9,12,9,12,0,0,0,0,0,0,0,4,5,4,5,4,5,4,5,3,5,3,5,3,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,7,3,8,3,10,3,8,3,9,3,8,4,9,4,9,5,9,6,10,6,9,7,11,7,12,9,13,10,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,4,4,4,5,5,5,5,5,6,5,7,5,8,6,8,6,9,7,10,7,10,8,10,8,11,9,11,0,0,0,0,0,0,0,4,5,4,5,3,5,3,5,3,5,4,4,4,4,5,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,4,5,4,5,4,5,5,6,5,6,5,7,5,7,6,7,6,8,7,8,7,8,7,9,8,9,9,9,9,10,10,10,11,9,12,9,12,9,15,10,14,9,13,10,13,10,12,10,12,10,13,10,12,11,13,11,14,12,13,13,14,14,13,14,15,14,16,13,13,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,15,1,5,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,6,7,7,7,7,8,7,8,8,9,8,10,9,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,5,8,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,9,4,8,4,8,4,9,5,9,5,9,5,9,5,9,6,10,6,10,7,10,8,11,9,11,11,12,13,12,14,13,15,13,15,14,16,14,17,15,17,15,15,16,16,15,16,16,16,15,18,16,15,17,17,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,19,2,5,5,4,5,4,5,4,5,4,6,5,6,5,6,5,6,5,7,5,7,6,8,6,8,6,8,6,9,6,9,6,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,8,6,8,6,8,6,9,6,9,6,10,6,10,6,11,6,11,7,11,7,12,7,12,7,12,7,12,7,12,7,12,7,12,7,12,8,13,8,12,8,12,8,13,8,13,9,13,9,13,9,13,9,12,10,12,10,13,10,14,11,14,12,14,13,14,13,14,14,15,16,15,15,15,14,15,17,21,22,22,21,22,22,22,22,22,22,21,21,21,21,21,21,21,21,21,21,2,3,7,13,4,4,7,15,8,6,9,17,21,16,15,21,2,5,7,11,5,5,7,14,9,7,10,16,17,15,16,21,4,7,10,17,7,7,9,15,11,9,11,16,21,18,15,21,18,21,21,21,15,17,17,19,21,19,18,20,21,21,21,20,1,5,7,21,5,8,9,21,10,9,12,20,20,16,20,20,4,8,9,20,6,8,9,20,11,11,13,20,20,15,17,20,9,11,14,20,8,10,15,20,11,13,15,20,20,20,20,20,20,20,20,20,13,20,20,20,18,18,20,20,20,20,20,20,3,6,8,20,6,7,9,20,10,9,12,20,20,20,20,20,5,7,9,20,6,6,9,20,10,9,12,20,20,20,20,20,8,10,13,20,8,9,12,20,11,10,12,20,20,20,20,20,18,20,20,20,15,17,18,20,18,17,18,20,20,20,20,20,7,10,12,20,8,9,11,20,14,13,14,20,20,20,20,20,6,9,12,20,7,8,11,20,12,11,13,20,20,20,20,20,9,11,15,20,8,10,14,20,12,11,14,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,11,16,18,20,15,15,17,20,20,17,20,20,20,20,20,20,9,14,16,20,12,12,15,20,17,15,18,20,20,20,20,20,16,19,18,20,15,16,20,20,17,17,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,1,4,2,6,3,7,5,7,2,10,8,14,7,12,11,14,1,5,3,7,4,9,7,13,1,0,0,0,0,1,0,0,40,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,32,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,16,25,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,240,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,176,24,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,4,2,4,3,5,4,5,5,5,5,6,6,6,6,6,6,6,7,7,8,6,9,7,12,11,16,13,16,12,15,13,15,12,14,12,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,3,4,3,4,4,4,4,4,5,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,2,3,2,3,3,3,0,0,0,0,0,0,1,3,2,3,0,0,0,0,4,5,6,11,5,5,6,10,7,7,6,6,14,13,9,9,6,6,6,10,6,6,6,9,8,7,7,9,14,12,8,11,8,7,7,11,8,8,7,11,9,9,7,9,13,11,9,13,19,19,18,19,15,16,16,19,11,11,10,13,10,10,9,15,5,5,6,13,6,6,6,11,8,7,6,7,14,11,10,11,6,6,6,12,7,6,6,11,8,7,7,11,13,11,9,11,9,7,6,12,8,7,6,12,9,8,8,11,13,10,7,13,19,19,17,19,17,14,14,19,12,10,8,12,13,10,9,16,7,8,7,12,7,7,7,11,8,7,7,8,12,12,11,11,8,8,7,12,8,7,6,11,8,7,7,10,10,11,10,11,9,8,8,13,9,8,7,12,10,9,7,11,9,8,7,11,18,18,15,18,18,16,17,18,15,11,10,18,11,9,9,18,16,16,13,16,12,11,10,16,12,11,9,6,15,12,11,13,16,16,14,14,13,11,12,16,12,9,9,13,13,10,10,12,17,18,17,17,14,15,14,16,14,12,14,15,12,10,11,12,18,18,18,18,18,18,18,18,18,12,13,18,16,11,9,18,1,0,0,0,8,0,0,0,72,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,8,31,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,200,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,72,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,40,30,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,168,29,1],"i8",O3,_.GLOBAL_BASE+62212),C3([1,0,0,0,18,0,0,0,144,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,88,29,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,216,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,192,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,136,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,8,28,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,4,4,4,5,4,7,5,8,5,11,6,10,6,12,7,12,7,12,8,12,8,12,10,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,6,3,6,4,7,4,7,4,7,4,8,4,8,4,8,4,8,4,9,4,9,5,10,5,10,7,10,8,10,8,0,0,0,0,0,0,0,4,4,4,4,4,4,4,5,3,5,3,5,4,6,4,6,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,1,5,3,5,3,5,4,7,5,10,7,10,7,12,10,14,10,14,9,14,11,14,14,14,13,13,13,13,13,13,13,0,0,0,0,0,0,0,4,5,4,6,4,8,3,9,3,9,2,9,3,8,4,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,3,5,3,5,3,6,3,6,4,6,4,7,4,7,5,8,5,8,6,9,7,9,7,9,8,10,9,10,9,11,10,11,11,11,11,11,11,12,12,12,13,12,13,12,14,12,15,12,14,12,16,13,17,13,17,14,17,14,16,13,17,14,17,14,17,15,17,15,15,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,16,16,16,16,16,16,16,16,16,16,2,5,5,4,5,4,5,4,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,9,7,9,7,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,7,5,7,5,7,5,7,5,7,5,7,5,8,5,8,5,8,5,8,5,8,6,8,6,8,6,9,6,9,6,9,6,9,6,9,7,9,7,9,7,9,7,10,7,10,8,10,8,10,8,10,8,10,8,11,8,11,8,11,8,11,8,11,9,12,9,12,9,12,9,12,9,12,10,12,10,13,11,13,11,14,12,14,13,15,14,16,14,17,15,18,16,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,20,3,6,10,17,4,8,11,20,8,10,11,20,20,20,20,20,2,4,8,18,4,6,8,17,7,8,10,20,20,17,20,20,3,5,8,17,3,4,6,17,8,8,10,17,17,12,16,20,13,13,15,20,10,10,12,20,15,14,15,20,20,20,19,19,1,4,10,19,3,8,13,19,7,12,19,19,19,19,19,19,2,6,11,19,8,13,19,19,9,11,19,19,19,19,19,19,6,7,13,19,9,13,19,19,10,13,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,18,1,3,4,7,2,5,6,7,1,0,0,0,8,0,0,0,112,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,48,36,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,240,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,112,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,32,0,0,0,80,35,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,208,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,184,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,128,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,0,34,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,18,0,0,0,232,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,50,0,0,0,176,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,128,0,0,0,48,33,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,1,6,3,7,3,8,4,8,5,8,8,8,9,7,8,8,7,7,7,8,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,4,6,4,6,4,7,4,7,4,8,4,8,4,9,4,9,4,10,4,10,5,10,5,11,5,12,6,12,6,0,0,0,0,0,0,0,4,4,4,4,4,4,4,4,4,4,4,4,4,5,4,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,8,3,8,4,8,4,8,6,8,5,8,4,8,4,8,6,8,7,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,6,5,7,5,7,6,8,6,8,6,9,7,9,7,10,7,9,8,11,8,11,0,0,0,0,0,0,0,4,5,4,5,4,5,3,5,3,5,3,5,4,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,3,5,3,6,4,6,4,7,4,7,4,7,4,8,4,8,4,9,5,9,5,9,5,9,6,10,6,10,6,11,7,10,7,10,8,11,9,11,9,11,10,11,11,12,11,11,12,15,15,12,14,11,14,12,14,11,14,13,14,12,14,11,14,11,14,12,14,11,14,11,14,13,13,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,2,5,5,5,5,5,5,4,5,5,5,5,5,5,5,5,6,5,6,5,6,5,7,6,7,6,7,6,8,6,8,6,5,5,5,5,5,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,5,6,6,6,6,7,6,7,6,7,6,7,6,7,6,7,6,8,6,8,6,8,7,8,7,8,7,8,7,9,7,9,8,9,8,9,8,10,8,10,9,10,9,10,9,11,9,11,9,10,10,11,10,11,10,11,11,11,11,11,11,12,13,14,14,14,15,15,16,16,16,17,15,16,15,16,16,17,17,16,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,7,6,9,17,7,6,8,17,12,9,11,16,16,16,16,16,5,4,7,16,5,3,6,14,9,6,8,15,16,16,16,16,5,4,6,13,3,2,4,11,7,4,6,13,16,11,10,14,12,12,12,16,9,7,10,15,12,9,11,16,16,15,15,16,1,6,12,16,4,12,15,16,9,15,16,16,16,16,16,16,2,5,11,16,5,11,13,16,9,13,16,16,16,16,16,16,4,8,12,16,5,9,12,16,9,13,15,16,16,16,16,16,15,16,16,16,11,14,13,16,12,15,16,16,16,16,16,15,1,6,3,7,2,4,5,7,1,0,0,0,64,0,0,0,152,39,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,152,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,136,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,104,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,40,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,24,38,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,248,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,184,37,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,2,4,3,6,3,7,3,8,5,8,6,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,0,0,0,0,0,0,0,0,0,2,3,3,4,3,4,4,5,4,6,5,6,7,6,8,8,0,0,0,0,0,0,0,0,3,3,3,3,2,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,2,5,3,5,3,6,3,6,4,7,6,7,8,7,9,8,9,9,9,10,9,11,13,11,13,10,10,13,13,13,13,13,13,12,12,12,12,0,0,0,0,0,0,0,0,0,3,4,3,4,3,5,3,6,3,6,4,6,4,7,5,7,0,0,0,0,0,0,0,0,2,3,3,3,3,4,3,4,0,0,0,0,0,0,0,5,6,8,15,6,9,10,15,10,11,12,15,15,15,15,15,4,6,7,15,6,7,8,15,9,8,9,15,15,15,15,15,6,8,9,15,7,7,8,15,10,9,10,15,15,15,15,15,15,13,15,15,15,10,11,15,15,13,13,15,15,15,15,15,4,6,7,15,6,8,9,15,10,10,12,15,15,15,15,15,2,5,6,15,5,6,7,15,8,6,7,15,15,15,15,15,5,6,8,15,5,6,7,15,9,6,7,15,15,15,15,15,14,12,13,15,12,10,11,15,15,15,15,15,15,15,15,15,7,8,9,15,9,10,10,15,15,14,14,15,15,15,15,15,5,6,7,15,7,8,9,15,12,9,10,15,15,15,15,15,7,7,9,15,7,7,8,15,12,8,9,15,15,15,15,15,13,13,14,15,12,11,12,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,15,13,13,13,15,15,15,15,15,15,15,15,15,15,15,15,15,15,12,13,15,15,12,13,15,15,14,15,15,15,15,15,15,15,15,15,15,15,15,13,15,15,15,15,15,15,15,15,15,7,5,5,9,9,6,6,9,12,8,7,8,11,8,9,15,6,3,3,7,7,4,3,6,9,6,5,6,8,6,8,15,8,5,5,9,8,5,4,6,10,7,5,5,11,8,7,15,14,15,13,13,13,13,8,11,15,10,7,6,11,9,10,15,1,0,0,0,64,0,0,0,248,42,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,0,248,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,232,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,200,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,136,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,9,0,0,0,120,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,88,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,24,41,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,7,2,7,3,8,4,9,5,9,8,10,11,11,12,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,13,13,13,13,0,0,0,0,0,0,0,0,0,3,4,3,6,3,6,3,6,3,7,3,8,4,9,4,9,0,0,0,0,0,0,0,0,3,3,2,3,3,4,3,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,3,5,3,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,6,5,7,8,9,11,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,0,0,3,3,3,4,4,4,4,5,4,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,0,0,0,0,0,0,0,8,13,17,17,8,11,17,17,11,13,17,17,17,17,17,17,6,10,16,17,6,10,15,17,8,10,16,17,17,17,17,17,9,13,15,17,8,11,17,17,10,12,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,17,6,11,15,17,7,10,15,17,8,10,17,17,17,15,17,17,4,8,13,17,4,7,13,17,6,8,15,17,16,15,17,17,6,11,15,17,6,9,13,17,8,10,17,17,15,17,17,17,16,17,17,17,12,14,15,17,13,14,15,17,17,17,17,17,5,10,14,17,5,9,14,17,7,9,15,17,15,15,17,17,3,7,12,17,3,6,11,17,5,7,13,17,12,12,17,17,5,9,14,17,3,7,11,17,5,8,13,17,13,11,16,17,12,17,17,17,9,14,15,17,10,11,14,17,16,14,17,17,8,12,17,17,8,12,17,17,10,12,17,17,17,17,17,17,5,10,17,17,5,9,15,17,7,9,17,17,13,13,17,17,7,11,17,17,6,10,15,17,7,9,15,17,12,11,17,17,12,15,17,17,11,14,17,17,11,10,15,17,17,16,17,17,10,7,8,13,9,6,7,11,10,8,8,12,17,17,17,17,7,5,5,9,6,4,4,8,8,5,5,8,16,14,13,16,7,5,5,7,6,3,3,5,8,5,4,7,14,12,12,15,10,7,8,9,7,5,5,6,9,6,5,5,15,12,9,10,1,0,0,0,0,1,0,0,120,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,112,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,96,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,64,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,0,44,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,6,4,7,4,7,5,7,6,7,6,7,8,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,0,0,0,0,0,0,0,0,0,0,4,3,4,3,4,3,5,3,5,4,5,4,6,4,6,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,6,7,7,12,6,6,7,12,7,6,6,10,15,12,11,13,7,7,8,13,7,7,8,12,7,7,7,11,12,12,11,13,10,9,9,11,9,9,9,10,10,8,8,12,14,12,12,14,11,11,12,14,11,12,11,15,15,12,13,15,15,15,15,15,6,6,7,10,6,6,6,11,7,6,6,9,14,12,11,13,7,7,7,10,6,6,7,9,7,7,6,10,13,12,10,12,9,9,9,11,9,9,8,9,9,8,8,10,13,12,10,12,12,12,11,13,12,12,11,12,15,13,12,15,15,15,14,14,6,6,6,8,6,6,5,6,7,7,6,5,11,10,9,8,7,6,6,7,6,6,5,6,7,7,6,6,11,10,9,8,8,8,8,9,8,8,7,8,8,8,6,7,11,10,9,9,14,11,10,14,14,11,10,15,13,11,9,11,15,12,12,11,11,9,8,8,10,9,8,9,11,10,9,8,12,11,12,11,13,10,8,9,11,10,8,9,10,9,8,9,10,8,12,12,15,11,10,10,13,11,10,10,8,8,7,12,10,9,11,12,15,12,11,15,13,11,11,15,12,14,11,13,15,15,13,13,1,0,0,0,0,1,0,0,184,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,4,0,0,0,176,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,10,0,0,0,160,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,25,0,0,0,128,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,64,0,0,0,64,46,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,3,5,3,5,3,5,4,6,5,6,5,7,6,6,7,7,9,9,11,11,16,11,14,10,11,11,13,16,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,0,0,0,3,3,4,3,4,3,4,4,5,4,5,4,6,5,6,0,0,0,0,0,0,0,0,0,0,0,3,2,3,2,3,3,0,0,0,0,0,0,2,2,2,2,0,0,0,0,7,7,7,11,6,6,7,11,7,6,6,10,12,10,10,13,7,7,8,11,7,7,7,11,7,6,7,10,11,10,10,13,10,10,9,12,9,9,9,11,8,8,8,11,13,11,10,14,15,15,14,15,15,14,13,14,15,12,12,17,17,17,17,17,7,7,6,9,6,6,6,9,7,6,6,8,11,11,10,12,7,7,7,9,7,6,6,9,7,6,6,9,13,10,10,11,10,9,8,10,9,8,8,10,8,8,7,9,13,12,10,11,17,14,14,13,15,14,12,13,17,13,12,15,17,17,14,17,7,6,6,7,6,6,5,7,6,6,6,6,11,9,9,9,7,7,6,7,7,6,6,7,6,6,6,6,10,9,8,9,10,9,8,8,9,8,7,8,8,7,6,8,11,10,9,10,17,17,12,15,15,15,12,14,14,14,10,12,15,13,12,13,11,10,8,10,11,10,8,8,10,9,7,7,10,9,9,11,11,11,9,10,11,10,8,9,10,8,6,8,10,9,9,11,14,13,10,12,12,11,10,10,8,7,8,10,10,11,11,12,17,17,15,17,17,17,17,17,17,13,12,17,17,17,14,17,200,47,1,0,216,72,1,0,200,47,1,0,248,72,1,0,1],"i8",O3,_.GLOBAL_BASE+72464),C3([1],"i8",O3,_.GLOBAL_BASE+78916),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+79944),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1],"i8",O3,_.GLOBAL_BASE+81996),C3([1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,120,124,1,0,120,124,1,0,160,124,1,0,160,124,1,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,48,84,1,0,48,84,1,0,88,84,1,0,88,84,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+83152),C3([1,0,0,0,1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,16,124,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,24,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,104,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,144,85,1,0,0,0,0,0,0,0,0,0,0,0,0,0,184,85,1,0,0,0,0,0,224,85,1,0,8,86,1,0,0,0,0,0,0,0,0,0,48,86,1,0,88,86,1,0,0,0,0,0,0,0,0,0,128,86,1,0,168,86,1,0,208,86,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,88,98,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,124,1,0,0,0,0,0,4,0,0,0,113,2,0,0,200,95,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,98,1,0,0,0,0,0,2,0,0,0,81,0,0,0,72,95,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,95,1,0,0,0,0,0,2,0,0,0,81,0,0,0,200,94,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,95,1,0,0,0,0,0,2,0,0,0,33,1,0,0,88,93,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,94,1,0,0,0,0,0,4,0,0,0,81,0,0,0,240,92,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,93,1,0,0,0,0,0,2,0,0,0,121,0,0,0,64,92,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,92,1,0,0,0,0,0,2,0,0,0,169,0,0,0,88,91,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,92,1,0,0,0,0,0,2,0,0,0,25,0,0,0,32,91,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,91,1,0,0,0,0,0,2,0,0,0,169,0,0,0,56,90,1,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,232,90,1,0,0,0,0,0,2,0,0,0,225,0,0,0,16,89,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,248,89,1,0,0,0,0,0,2,0,0,0,185,1,0,0,248,86,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,184,88,1,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,11,11,12,7,7,7,7,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,11,11,12,8,8,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,7,7,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,12,11,9,9,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,12,11,12,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,12,11,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,12,11,11,12,11,11,12,10,10,11,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,12,12,11,12,11,11,12,12,12,11,11,10,10,10,10,10,10,10,10,10,11,12,12,11,12,12,11,12,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,9,11,11,12,12,13,13,6,5,5,6,6,9,9,10,10,12,12,12,13,15,14,6,5,5,7,7,9,9,10,10,12,12,12,13,14,13,17,7,7,8,8,10,10,11,11,12,13,13,13,13,13,17,7,7,8,8,10,10,11,11,13,13,13,13,14,14,17,11,11,9,9,11,11,12,12,12,13,13,14,15,13,17,12,12,9,9,11,11,12,12,13,13,13,13,14,16,17,17,17,11,12,12,12,13,13,13,14,15,14,15,15,17,17,17,12,12,11,11,13,13,14,14,15,14,15,15,17,17,17,15,15,13,13,14,14,15,14,15,15,16,15,17,17,17,15,15,13,13,13,14,14,15,15,15,15,16,17,17,17,17,16,14,15,14,14,15,14,14,15,15,15,17,17,17,17,17,14,14,16,14,15,15,15,15,15,15,17,17,17,17,17,17,16,16,15,17,15,15,14,17,15,17,16,17,17,17,17,16,15,14,15,15,15,15,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,10,10,5,6,6,10,10,10,10,10,10,10,10,10,10,6,7,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,9,10,11,11,11,0,13,12,9,8,9,9,10,10,11,11,12,11,0,0,0,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,9,9,10,10,11,11,12,12,0,0,0,13,13,10,10,11,11,12,11,13,12,0,0,0,14,14,10,10,11,10,11,11,12,12,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,12,12,11,10,12,11,13,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,7,7,7,7,7,7,10,10,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,9,10,9,9,5,7,7,10,9,9,10,9,9,6,10,10,10,10,10,11,10,10,6,9,9,10,9,10,11,10,10,6,9,9,10,9,9,11,9,10,7,10,10,11,11,11,11,10,10,6,9,9,10,10,10,11,9,9,6,9,9,10,10,10,10,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,5,5,8,8,8,8,9,9,10,10,11,11,11,11,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,8,8,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,11,11,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,4,5,6,6,8,8,0,0,0,8,8,7,7,9,9,0,0,0,8,8,7,7,9,9,0,0,0,9,10,8,8,9,9,0,0,0,10,10,8,8,9,9,0,0,0,11,10,8,8,10,10,0,0,0,11,11,8,8,10,10,0,0,0,12,12,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,8,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,10,8],"i8",O3,_.GLOBAL_BASE+86572),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,18,8,11,8,8,9,9,10,4,4,18,5,9,5,6,7,8,10,18,18,18,18,17,17,17,17,17,17,7,5,17,6,11,6,7,8,9,12,12,9,17,12,8,8,9,10,10,13,7,5,17,6,8,4,5,6,8,10,6,5,17,6,8,5,4,5,7,9,7,7,17,8,9,6,5,5,6,8,8,8,17,9,11,8,6,6,6,7,9,10,17,12,12,10,9,7,7,8,0,0,0,0,2,0,0,0,100,0,0,0,216,163,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,96,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,176,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,216,125,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,126,1,0,0,0,0,0,40,126,1,0,80,126,1,0,0,0,0,0,0,0,0,0,120,126,1,0,160,126,1,0,0,0,0,0,0,0,0,0,200,126,1,0,240,126,1,0,24,127,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,32,138,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,163,1,0,0,0,0,0,4,0,0,0,113,2,0,0,144,135,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,138,1,0,0,0,0,0,2,0,0,0,81,0,0,0,16,135,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,135,1,0,0,0,0,0,2,0,0,0,81,0,0,0,144,134,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,134,1,0,0,0,0,0,2,0,0,0,33,1,0,0,32,133,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,72,134,1,0,0,0,0,0,4,0,0,0,81,0,0,0,184,132,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,16,133,1,0,0,0,0,0,2,0,0,0,121,0,0,0,8,132,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,132,1,0,0,0,0,0,2,0,0,0,169,0,0,0,32,131,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,208,131,1,0,0,0,0,0,2,0,0,0,25,0,0,0,232,130,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,131,1,0,0,0,0,0,4,0,0,0,81,0,0,0,128,130,1,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,216,130,1,0,0,0,0,0,2,0,0,0,225,0,0,0,88,129,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,64,130,1,0,0,0,0,0,2,0,0,0,185,1,0,0,64,127,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,0,129,1,0,0,0,0,0,1,5,5,7,7,8,7,8,8,10,10,9,9,10,10,10,11,11,10,12,11,12,12,12,9,8,8,8,8,8,9,10,10,10,10,11,11,11,10,11,11,12,12,11,12,8,8,7,7,8,9,10,10,10,9,10,10,9,10,10,11,11,11,11,11,11,9,9,9,9,8,9,10,10,11,10,10,11,11,12,10,10,12,12,11,11,10,9,9,10,8,9,10,10,10,9,10,10,11,11,10,11,10,10,10,12,12,12,9,10,9,10,9,9,10,10,11,11,11,11,10,10,10,11,12,11,12,11,12,10,11,10,11,9,10,9,10,9,10,10,9,10,10,11,10,11,11,11,11,12,11,9,10,10,10,10,11,11,11,11,11,10,11,11,11,11,10,12,10,12,12,11,12,10,10,11,10,9,11,10,11,9,10,11,10,10,10,11,11,11,11,12,12,10,9,9,11,10,9,12,11,10,12,12,11,11,11,11,10,11,11,12,11,10,12,9,11,10,11,10,10,11,10,11,9,10,10,10,11,12,11,11,12,11,10,10,11,11,9,10,10,12,10,11,10,10,10,9,10,10,10,10,9,10,10,11,11,11,11,12,11,10,10,10,10,11,11,10,11,11,9,11,10,12,10,12,11,10,11,10,10,10,11,10,10,11,11,10,11,10,10,10,10,11,11,12,10,10,10,11,10,11,12,11,10,11,10,10,11,11,10,12,10,9,10,10,11,11,11,10,12,10,10,11,11,11,10,10,11,10,10,10,11,10,11,10,12,11,11,10,10,10,12,10,10,11,9,10,11,11,11,10,10,11,10,10,9,11,11,12,12,11,12,11,11,11,11,11,11,9,10,11,10,12,10,10,10,10,11,10,10,11,10,10,12,10,10,10,10,10,9,12,10,10,10,10,12,9,11,10,10,11,10,12,12,10,12,12,12,10,10,10,10,9,10,11,10,10,12,10,10,12,11,10,11,10,10,12,11,10,12,10,10,11,9,11,10,9,10,9,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,10,8,11,11,11,11,11,11,11,11,6,6,6,7,6,11,10,11,11,11,11,11,11,11,11,7,5,6,6,6,8,7,11,11,11,11,11,11,11,11,11,7,8,8,8,9,9,11,11,11,11,11,11,11,11,11,9,8,7,8,9,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,5,5,7,6,6,6,5,7,7,7,6,6,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,7,6,6,7,7,8,8,7,7,8,9,10,10,7,6,6,7,7,8,7,7,7,9,9,10,12,0,8,8,8,8,8,9,8,8,9,9,10,10,0,8,8,8,8,8,9,8,9,9,9,11,10,0,0,13,9,8,9,9,9,9,10,10,11,11,0,13,0,9,9,9,9,9,9,11,10,11,11,0,0,0,8,9,10,9,10,10,13,11,12,12,0,0,0,8,9,9,9,10,10,13,12,12,13,0,0,0,12,0,10,10,12,11,10,11,12,12,0,0,0,13,13,10,10,10,11,12,0,13,0,0,0,0,0,0,13,11,0,12,12,12,13,12,0,0,0,0,0,0,13,13,11,13,13,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,10,10,9,7,7,8,8,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,8,9,10,10,10,8,8,9,9,9,10,10,10,10,10,10,9,9,9,9,9,9,10,10,11,10,11,9,9,9,9,10,10,10,10,11,11,11,10,10,9,9,10,10,10,9,11,10,10,10,10,10,10,9,9,10,10,11,11,10,10,10,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,11,9,10,12,9,10,4,7,7,10,10,10,11,9,9,6,11,10,11,11,12,11,11,11,6,10,10,11,11,12,11,10,10,6,9,10,11,11,11,11,10,10,7,10,11,12,11,11,12,11,12,6,9,9,10,9,9,11,10,10,6,9,9,10,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,8,8,10,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,9,9,11,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,10,10,10,10,11,11,10,10,11,11,12,12,13,13,0,0,0,0,0,10,9,10,11,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,9,10,11,12,12,13,13,14,13,0,0,0,0,0,9,9,9,10,10,10,11,11,13,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,14,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,13,0,0,0,0,0,0,0,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,9,9,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,11,11,0,0,0,0,0,0,8,11,9],"i8",O3,_.GLOBAL_BASE+97272),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,18,7,10,6,7,8,9,10,5,2,18,5,7,5,6,7,8,11,17,17,17,17,17,17,17,17,17,17,7,4,17,6,9,6,8,10,12,15,11,7,17,9,6,6,7,9,11,15,6,4,17,6,6,4,5,8,11,16,6,6,17,8,6,5,6,9,13,16,8,9,17,11,9,8,8,11,13,17,9,12,17,15,14,13,12,13,14,17,12,15,17,17,17,17,17,16,17,17,0,0,0,0,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,154,153,153,153,153,153,185,63,154,153,153,153,153,153,201,63,51,51,51,51,51,51,211,63,154,153,153,153,153,153,217,63,0,0,0,0,0,0,224,63,51,51,51,51,51,51,227,63,102,102,102,102,102,102,230,63,154,153,153,153,153,153,233,63,205,204,204,204,204,204,236,63,0,0,0,0,0,0,240,63,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,16,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,35,0,0,0,21,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,20,0,0,0,8,0,0,0,0,0,0,192,0,0,160,63,25,0,0,0,12,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,253,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,9,0,0,0,252,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,6,0,0,0,250,255,255,255,0,0,0,0,0,0,0,0,20,0,0,0,3,0,0,0,246,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,1,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,240,255,255,255,0,0,0,0,0,0,0,0,18,0,0,0,254,255,255,255,240,255,255,255,0,0,0,0,0,0,0,0,12,0,0,0,254,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,247,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,245,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,251,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,253,255,255,255,248,255,255,255,243,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,252,255,255,255,246,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,245,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,250,255,255,255,244,255,255,255,242,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,254,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,244,255,255,255,243,255,255,255,242,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,243,255,255,255,244,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,243,255,255,255,245,255,255,255,246,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,248,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,241,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,247,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,3,0,0,0,3,0,0,0,15,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,10,0,0,0,10,0,0,0,100,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,6,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,3,0,0,0,3,0,0,0,5,0,0,0,10,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,0,0,0,0,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,16,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,14,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,250,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,253,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,4,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,243,255,255,255,245,255,255,255,248,255,255,255,250,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,12,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,253,255,255,255,1,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,5,0,0,0,5,0,0,0,11,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,251,255,255,255,254,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,228,255,255,255,234,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,242,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,6,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,224,255,255,255,224,255,255,255,232,255,255,255,240,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,224,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,231,255,255,255,241,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,254,255,255,255,2,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,6,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,252,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,251,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,234,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,255,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,224,255,255,255,224,255,255,255,224,255,255,255,224,255,255,255,228,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,234,255,255,255,236,255,255,255,241,255,255,255,246,255,255,255,248,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,220,255,255,255,222,255,255,255,226,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,218,255,255,255,218,255,255,255,218,255,255,255,218,255,255,255,220,255,255,255,222,255,255,255,222,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,238,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,218,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,228,255,255,255,236,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,221,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,6,0,0,0,15,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,250,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,3,0,0,0,6,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,252,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,1,0,0,0,4,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4],"i8",O3,_.GLOBAL_BASE+107456),C3([4,0,0,0,5,0,0,0,6,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,0,0,0,0,3,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,252,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,8,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,0,0,0,0,2,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,251,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,252,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,253,255,255,255,254,255,255,255,255,255,255,255,1,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,249,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,240,255,255,255,244,255,255,255,250,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,253,255,255,255,255,255,255,255,0,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,247,255,255,255,248,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,251,255,255,255,254,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,238,255,255,255,240,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,243,255,255,255,243,255,255,255,244,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,1,0,0,0,1,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,3,0,0,0,4,0,0,0,7,0,0,0,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,246,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,252,255,255,255,0,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,237,255,255,255,238,255,255,255,239,255,255,255,240,255,255,255,244,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,252,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,7,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,250,255,255,255,254,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,228,255,255,255,230,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,236,255,255,255,240,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,234,255,255,255,238,255,255,255,242,255,255,255,248,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,252,255,255,255,254,255,255,255,2,0,0,0,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,234,255,255,255,238,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,240,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,249,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,232,255,255,255,238,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,242,255,255,255,244,255,255,255,246,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,236,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,216,255,255,255,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,26,0,0,0,27,0,0,0,28,0,0,0,29,0,0,0,30,0,0,0,31,0,0,0,32,0,0,0,33,0,0,0,34,0,0,0,35,0,0,0,36,0,0,0,37,0,0,0,38,0,0,0,39,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,12,0,0,0,13,0,0,0,13,0,0,0,13,0,0,0,14,0,0,0,14,0,0,0,14,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,15,0,0,0,16,0,0,0,16,0,0,0,17,0,0,0,17,0,0,0,17,0,0,0,18,0,0,0,18,0,0,0,19,0,0,0,19,0,0,0,19,0,0,0,20,0,0,0,21,0,0,0,22,0,0,0,23,0,0,0,24,0,0,0,25,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,7,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,9,0,0,0,10,0,0,0,11,0,0,0,12,0,0,0,13,0,0,0,14,0,0,0,15,0,0,0,16,0,0,0,17,0,0,0,18,0,0,0,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,205,204,204,204,204,204,244,63,154,153,153,153,153,153,249,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,12,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,51,51,51,51,51,51,17,64,102,102,102,102,102,102,18,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,0,0,0,0,0,0,20,64,32,0,0,0,16,0,0,0,16,0,0,0,16,0,0,0,32,0,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,0,1,0,0,128,0,0,0,128,0,0,0,0,1,0,0,0,2,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,0,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,32,0,0,0,0,0,0,0,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,201,63,154,153,153,153,153,153,217,63,51,51,51,51,51,51,227,63,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,0,0,0,0,128,135,195,64,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,151,255,255,255,146,255,255,255,136,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,116,255,255,255,106,255,255,255,205,204,204,204,204,204,43,64,51,51,51,51,51,51,46,64,154,153,153,153,153,153,47,64,0,0,0,0,0,128,48,64,51,51,51,51,51,51,49,64,102,102,102,102,102,230,50,64,154,153,153,153,153,25,52,64,0,0,0,0,0,0,72,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,56,143,64,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,248,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,0,64,0,0,0,0,0,0,4,64,154,153,153,153,153,153,5,64,0,0,0,0,0,0,8,64,154,153,153,153,153,153,13,64,0,0,0,0,0,0,16,64,0,0,0,0,0,0,16,64,248,148,2,0,40,149,2,0,88,149,2,0,0,0,0,0,8,181,0,0,224,217,1,0,8,181,0,0,32,218,1,0,8,181,0,0,96,218,1,0,8,181,0,0,160,218,1,0,8,181,0,0,224,218,1,0,8,181,0,0,32,219,1,0,8,181,0,0,96,219,1,0,8,181,0,0,160,219,1,0,8,181,0,0,224,219,1,0,8,181,0,0,32,220,1,0,8,181,0,0,96,220,1,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,133,2,0,232,133,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,208,134,2,0,208,134,2,0,16,134,2,0,16,134,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,216,118,2,0,216,118,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,192,119,2,0,192,119,2,0,0,119,2,0,0,119,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,106,2,0,0,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,106,2,0,232,106,2,0,40,106,2,0,40,106,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,0,93,2,0,0,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,232,93,2,0,232,93,2,0,40,93,2,0,40,93,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,56,79,2,0,56,79,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,32,80,2,0,32,80,2,0,96,79,2,0,96,79,2,0,1,0,0,0,0,0,0,0,16,0,0,0,240,233,0,0,8,65,2,0,8,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,240,65,2,0,240,65,2,0,48,65,2,0,48,65,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,56,48,2,0,56,48,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,32,49,2,0,32,49,2,0,96,48,2,0,96,48,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,40,31,2,0,40,31,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,16,32,2,0,16,32,2,0,80,31,2,0,80,31,2,0,1,0,0,0,0,0,0,0,16,0,0,0,88,206,0,0,64,15,2,0,64,15,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,40,16,2,0,40,16,2,0,104,15,2,0,104,15,2,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,208,251,1,0,208,251,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,184,252,1,0,184,252,1,0,248,251,1,0,248,251,1,0,1,0,0,0,0,0,0,0,16,0,0,0,160,220,1,0,184,231,1,0,184,231,1,0,224,231,1,0,224,231,1,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,160,232,1,0,160,232,1,0,224,231,1,0,224,231,1,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+117696),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,104,251,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,48,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,88,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,128,233,1,0,0,0,0,0,0,0,0,0,0,0,0,0,168,233,1,0,0,0,0,0,208,233,1,0,248,233,1,0,0,0,0,0,0,0,0,0,32,234,1,0,72,234,1,0,0,0,0,0,0,0,0,0,112,234,1,0,152,234,1,0,0,0,0,0,0,0,0,0,192,234,1,0,232,234,1,0,0,0,0,0,0,0,0,0,16,235,1,0,56,235,1,0,96,235,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,200,232,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,13,14,15,14,14,15,15,5,5,9,10,12,12,13,14,16,15,10,6,6,6,8,11,12,13,16,15,11,7,5,3,5,8,10,12,15,15,10,10,7,4,3,5,8,10,12,12,12,12,9,7,5,4,6,8,10,13,13,12,11,9,7,5,5,6,9,12,14,12,12,10,8,6,6,6,7,11,13,12,14,13,10,8,7,7,7,10,11,11,12,13,12,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,0,251,1,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,251,1,0,0,0,0,0,4,0,0,0,113,2,0,0,112,248,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,250,1,0,0,0,0,0,2,0,0,0,81,0,0,0,240,247,1,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,248,1,0,0,0,0,0,2,0,0,0,33,1,0,0,128,246,1,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,247,1,0,0,0,0,0,4,0,0,0,81,0,0,0,24,246,1,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,246,1,0,0,0,0,0,2,0,0,0,121,0,0,0,104,245,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,245,1,0,0,0,0,0,2,0,0,0,169,0,0,0,128,244,1,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,245,1,0,0,0,0,0,2,0,0,0,25,0,0,0,72,244,1,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,244,1,0,0,0,0,0,2,0,0,0,169,0,0,0,96,243,1,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,16,244,1,0,0,0,0,0,2,0,0,0,121,0,0,0,176,242,1,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,48,243,1,0,0,0,0,0,2,0,0,0,225,0,0,0,136,241,1,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,112,242,1,0,0,0,0,0,2,0,0,0,185,1,0,0,112,239,1,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,48,241,1,0,0,0,0,0,2,0,0,0,225,0,0,0,72,238,1,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,48,239,1,0,0,0,0,0,2,0,0,0,105,1,0,0,136,236,1,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,248,237,1,0,0,0,0,0,1,0,0,0,49,0,0,0,136,235,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,192,235,1,0,0,0,0,0,2,4,4,5,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,6,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,7,9,8,10,9,10,10,11,11,12,12,4,7,6,9,9,10,9,9,8,10,10,11,10,12,10,13,12,13,12,4,6,6,9,9,9,9,9,9,10,10,11,11,11,12,12,12,12,12,7,9,8,11,10,10,10,11,10,11,11,12,12,13,12,13,13,13,13,7,8,9,10,10,11,11,10,10,11,11,11,12,13,13,13,13,14,14,8,9,9,11,11,12,11,12,12,13,12,12,13,13,14,15,14,14,14,8,9,9,10,11,11,11,12,12,13,12,13,13,14,14,14,15,14,16,8,9,9,11,10,12,12,12,12,15,13,13,13,17,14,15,15,15,14,8,9,9,10,11,11,12,13,12,13,13,13,14,15,14,14,14,16,15,9,11,10,12,12,13,13,13,13,14,14,16,15,14,14,14,15,15,17,9,10,10,11,11,13,13,13,14,14,13,15,14,15,14,15,16,15,16,10,11,11,12,12,13,14,15,14,15,14,14,15,17,16,15,15,17,17,10,12,11,13,12,14,14,13,14,15,15,15,15,16,17,17,15,17,16,11,12,12,14,13,15,14,15,16,17,15,17,15,17,15,15,16,17,15,11,11,12,14,14,14,14,14,15,15,16,15,17,17,17,16,17,16,15,12,12,13,14,14,14,15,14,15,15,16,16,17,16,17,15,17,17,16,12,14,12,14,14,15,15,15,14,14,16,16,16,15,16,16,15,17,15,12,13,13,14,15,14,15,17,15,17,16,17,17,17,16,17,16,17,17,12,13,13,14,16,15,15,15,16,15,17,17,15,17,15,17,16,16,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,11,11,4,10,11,11,11,11,11,11,11,11,11,11,11,11,11,4,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,9,11,10,4,6,6,8,8,9,9,9,9,10,10,11,10,12,10,4,6,6,8,8,9,10,9,9,10,10,11,11,12,12,7,8,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,11,11,10,10,11,11,12,12,12,13,8,10,9,11,11,12,12,11,11,12,12,13,13,14,13,8,9,9,11,11,12,12,11,12,12,12,13,13,14,13,8,9,9,10,10,12,11,13,12,13,13,14,13,15,14,8,9,9,10,10,11,12,12,12,13,13,13,14,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,15,9,10,10,11,12,12,12,13,13,14,14,14,15,15,15,10,11,11,12,12,13,13,14,14,14,14,15,14,16,15,10,11,11,12,12,13,13,13,14,14,14,14,14,15,16,11,12,12,13,13,14,13,14,14,15,14,15,16,16,16,11,12,12,13,13,14,13,14,14,15,15,15,16,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,7,7,8,7,8,8,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,5,6,6,7,7,8,8,9,9,10,10,11,11,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,11,12,12,8,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,10,10,10,11,11,12,12,13,13,14,13,15,14,10,10,10,11,11,12,12,13,13,14,14,14,14,11,11,12,12,12,13,13,14,14,14,14,15,15,11,11,12,12,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,4,5,4,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,5,6,7,7,8,8,8,8,9,9,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,6,7,7,8,8,8,8,9,9,10,10,10,10,7,8,8,8,8,9,9,9,9,10,10,11,11,7,8,8,8,8,9,9,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,10,10,10,10,10,11,11,11,11,12,9,9,9,10,10,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,10,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,5,5,5,6,6,7,7,7,7,7,7,5,6,6,6,6,7,7,7,7,8,7,5,6,6,6,6,7,7,7,7,7,7,6,6,6,7,7,7,7,7,7,8,8,6,6,6,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,11,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,12,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,5,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,6,6,6,7,6,7,7,8,8,9,9,10,10,11,11,12,11,6,6,6,6,7,7,7,8,8,9,9,10,10,11,11,11,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,8,8,8,8,8,9,8,10,9,10,10,11,10,12,11,13,12,8,8,8,8,8,9,9,9,10,10,10,10,11,11,12,12,12,8,8,8,9,9,9,9,10,10,11,10,12,11,12,12,13,12,8,8,8,9,9,9,9,10,10,10,11,11,11,12,12,12,13,9,9,9,10,10,10,10,11,10,11,11,12,11,13,12,13,13,9,9,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,10,11,10,11,11,11,11,12,11,12,12,13,12,13,13,14,13,10,10,10,11,11,11,11,11,12,12,12,12,13,13,13,13,14,11,11,11,12,11,12,12,12,12,13,13,13,13,14,13,14,14,11,11,11,11,12,12,12,12,12,12,13,13,13,13,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,4,5,5,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,9,9,5,6,6,7,7,8,8,9,9,7,7,7,8,8,9,9,10,10,7,7,7,8,8,9,9,10,10,8,9,9,10,9,10,10,11,11,8,9,9,9,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,6,7,7,9,9,8,9,9,11,10,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,8,8,9,10,9,10,10,11,11,9,9,10,11,11,6,7,7,9,9,7,8,8,10,9,7,8,8,10,10,9,10,9,11,11,9,10,10,11,11,8,9,9,11,11,9,10,10,12,11,9,10,10,11,12,11,11,11,13,13,11,11,11,12,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,11,12,11,13,12,11,11,12,13,13,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,10,10,10,11,11,12,12,10,10,11,12,12,7,8,8,10,10,8,9,8,10,10,8,9,9,10,10,10,11,10,12,11,10,10,11,12,12,9,10,10,11,12,10,11,11,12,12,10,11,10,12,12,12,12,12,13,13,11,12,12,13,13,9,10,10,11,11,9,10,10,12,12,10,11,11,12,13,11,12,11,13,12,12,12,12,13,14,6,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,11,11,9,10,10,11,12,7,8,8,10,10,8,9,9,11,10,8,8,9,10,10,10,11,10,12,12,10,10,11,11,12,7,8,8,10,10,8,9,9,10,10,8,9,9,10,10,10,11,10,12,12,10,11,10,12,12,9,10,10,12,11,10,11,11,12,12,9,10,10,12,12,12,12,12,13,13,11,11,12,12,14,9,10,10,11,12,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,12,12,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,11,12,13,13,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,14,12,12,12,13,13,9,10,10,12,11,10,11,10,12,12,10,11,11,12,12,11,12,12,14,13,12,12,12,13,14,11,12,11,13,13,11,12,12,13,13,12,12,12,14,14,13,13,13,13,15,13,13,14,15,15,11,11,11,13,13,11,12,11,13,13,11,12,12,13,13,12,13,12,15,13,13,13,14,14,15,8,9,9,11,11,9,10,10,11,12,9,10,10,11,12,11,12,11,13,13,11,12,12,13,13,9,10,10,11,12,10,11,10,12,12,10,10,11,12,13,12,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,12,12,10,11,11,12,12,12,12,12,14,13,12,12,12,14,13,11,11,11,13,13,11,12,12,14,13,11,11,12,13,13,13,13,13,15,14,12,12,13,13,15,11,12,12,13,13,12,12,12,13,14,11,12,12,13,13,13,13,14,14,15,13,13,13,14,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,7,9,9,8,9,9,9,10,11,9,11,11,7,9,9,9,11,10,9,11,11,5,7,7,7,9,9,8,9,10,7,9,9,9,11,11,9,10,11,7,9,10,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,9,16,18,18,17,17,17,17,17,17,5,8,11,12,11,12,17,17,16,16,6,6,8,8,9,10,14,15,16,16,6,7,7,4,6,9,13,16,16,16,6,6,7,4,5,8,11,15,17,16,7,6,7,6,6,8,9,10,14,16,11,8,8,7,6,6,3,4,10,15,14,12,12,10,5,6,3,3,8,13,15,17,15,11,6,8,6,6,9,14,17,15,15,12,8,10,9,9,12,15,0,0,0,0,2,0,0,0,100,0,0,0,216,14,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,72,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,112,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,152,253,1,0,0,0,0,0,0,0,0,0,0,0,0,0,192,253,1,0,0,0,0,0,232,253,1,0,16,254,1,0,0,0,0,0,0,0,0,0,56,254,1,0,96,254,1,0,0,0,0,0,0,0,0,0,136,254,1,0,176,254,1,0,0,0,0,0,0,0,0,0,216,254,1,0,0,255,1,0,0,0,0,0,0,0,0,0,40,255,1,0,80,255,1,0,120,255,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,224,252,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,13,14,14,15,14,14,15,15,5,4,6,8,10,12,12,14,15,15,9,5,4,5,8,10,11,13,16,16,10,7,4,3,5,7,9,11,13,13,10,9,7,4,4,6,8,10,12,14,13,11,9,6,5,5,6,8,12,14,13,11,10,8,7,6,6,7,10,14,13,11,12,10,8,7,6,6,9,13,12,11,14,12,11,9,8,7,9,11,11,12,14,13,14,11,10,8,8,9,0,0,0,0,4,0,0,0,81,0,0,0,112,14,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,14,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,11,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,14,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,11,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,11,2,0,0,0,0,0,2,0,0,0,33,1,0,0,240,9,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,24,11,2,0,0,0,0,0,4,0,0,0,81,0,0,0,136,9,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,224,9,2,0,0,0,0,0,2,0,0,0,121,0,0,0,216,8,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,88,9,2,0,0,0,0,0,2,0,0,0,169,0,0,0,240,7,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,8,2,0,0,0,0,0,2,0,0,0,25,0,0,0,184,7,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,7,2,0,0,0,0,0,2,0,0,0,169,0,0,0,208,6,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,128,7,2,0,0,0,0,0,2,0,0,0,121,0,0,0,32,6,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,160,6,2,0,0,0,0,0,2,0,0,0,225,0,0,0,248,4,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,224,5,2,0,0,0,0,0,2,0,0,0,185,1,0,0,224,2,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,160,4,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,2,2,0,1,0,0,0,0,24,125,225,0,24,61,97,4,0,0,0,0,0,0,0,184,2,2,0,0,0,0,0,2,0,0,0,105,1,0,0,160,0,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,16,2,2,0,0,0,0,0,1,0,0,0,49,0,0,0,160,255,1,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,216,255,1,0,0,0,0,0,2,3,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,8,7,8,6,9,7,10,8,11,10,11,11,11,11,4,7,6,9,9,10,9,9,9,10,10,11,10,11,10,11,11,13,11,4,7,7,9,9,9,9,9,9,10,10,11,10,11,11,11,12,11,12,7,9,8,11,11,11,11,10,10,11,11,12,12,12,12,12,12,14,13,7,8,9,10,11,11,11,10,10,11,11,11,11,12,12,14,12,13,14,8,9,9,11,11,11,11,11,11,12,12,14,12,15,14,14,14,15,14,8,9,9,11,11,11,11,12,11,12,12,13,13,13,13,13,13,14,14,8,9,9,11,10,12,11,12,12,13,13,13,13,15,14,14,14,16,16,8,9,9,10,11,11,12,12,12,13,13,13,14,14,14,15,16,15,15,9,10,10,11,12,12,13,13,13,14,14,16,14,14,16,16,16,16,15,9,10,10,11,11,12,13,13,14,15,14,16,14,15,16,16,16,16,15,10,11,11,12,13,13,14,15,15,15,15,15,16,15,16,15,16,15,15,10,11,11,13,13,14,13,13,15,14,15,15,16,15,15,15,16,15,16,10,12,12,14,14,14,14,14,16,16,15,15,15,16,16,16,16,16,16,11,12,12,14,14,14,14,15,15,16,15,16,15,16,15,16,16,16,16,12,12,13,14,14,15,16,16,16,16,16,16,15,16,16,16,16,16,16,12,13,13,14,14,14,14,15,16,15,16,16,16,16,16,16,16,16,16,12,13,14,14,14,16,15,16,15,16,16,16,16,16,16,16,16,16,16,12,14,13,14,15,15,15,16,15,16,16,15,16,16,16,16,16,16,16,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,3,3,9,9,9,9,9,9,4,9,9,9,9,9,9,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,10,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,9,10,8,9,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,10,9,11,10,4,6,6,8,8,10,9,9,9,10,10,11,10,12,10,4,6,6,8,8,10,10,9,9,10,10,11,11,11,12,7,8,8,10,10,11,11,11,10,12,11,12,12,13,11,7,8,8,10,10,11,11,10,10,11,11,12,12,13,13,8,10,10,11,11,12,11,12,11,13,12,13,12,14,13,8,10,9,11,11,12,12,12,12,12,12,13,13,14,13,8,9,9,11,10,12,11,13,12,13,13,14,13,14,13,8,9,9,10,11,12,12,12,12,13,13,14,15,14,14,9,10,10,12,11,13,12,13,13,14,13,14,14,14,14,9,10,10,12,12,12,12,13,13,14,14,14,15,14,14,10,11,11,13,12,13,12,14,14,14,14,14,14,15,15,10,11,11,12,12,13,13,14,14,14,15,15,14,16,15,11,12,12,13,12,14,14,14,13,15,14,15,15,15,17,11,12,12,13,13,14,14,14,15,15,14,15,15,14,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,7,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,7,7,7,7,8,8,8,8,7,7,7,8,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,5,6,6,7,7,8,8,10,10,11,11,5,6,6,7,7,8,8,9,9,11,10,12,11,5,6,6,7,7,8,8,9,9,10,11,11,12,6,7,7,8,8,9,9,10,10,11,11,12,12,6,7,7,8,8,9,9,10,10,11,12,13,12,7,8,8,9,9,10,10,11,11,12,12,13,13,8,8,8,9,9,10,10,11,11,12,12,13,13,9,9,9,10,10,11,11,12,12,13,13,14,14,9,9,9,10,10,11,11,12,12,13,13,14,14,10,11,11,12,11,13,12,13,13,14,14,15,15,10,11,11,11,12,12,13,13,14,14,14,15,15,11,12,12,13,13,14,13,15,14,15,15,16,15,11,11,12,13,13,13,14,14,14,15,15,15,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,9,9,10,10,4,6,5,7,7,8,8,8,8,9,9,10,10,4,6,6,7,7,8,8,8,8,9,9,10,10,6,7,7,7,8,8,8,8,9,9,10,10,10,6,7,7,8,8,8,8,9,8,10,9,11,10,7,8,8,8,8,8,9,9,9,10,10,11,11,7,8,8,8,8,9,8,9,9,10,10,11,11,8,8,8,9,9,9,9,9,10,10,10,11,11,8,8,8,9,9,9,9,10,9,10,10,11,11,9,9,9,9,10,10,10,10,10,10,11,11,12,9,9,9,10,9,10,10,10,10,11,10,12,11,10,10,10,10,10,11,11,11,11,11,12,12,12,10,10,10,10,11,11,11,11,11,12,11,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,8,8,5,5,5,6,6,7,7,8,8,8,8,5,5,5,6,6,7,7,7,8,8,8,6,6,6,7,7,7,7,8,8,8,8,6,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,8,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,8,9,9,7,9,9,5,8,8,7,9,9,8,9,9,5,8,8,8,10,10,8,10,10,7,10,10,9,10,12,9,12,11,7,10,10,9,11,10,9,11,12,5,8,8,8,10,10,8,10,10,7,10,10,9,11,11,9,10,11,7,10,10,9,11,11,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,6,6,7,7,8,8,8,8,10,10,11,11,11,11,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,4,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,8,8,9,8,10,9,10,9,11,10,12,11,13,12,7,7,7,8,8,8,9,9,10,9,10,10,11,11,12,12,13,8,8,8,9,9,9,9,10,10,11,10,11,11,12,12,13,13,8,8,8,9,9,9,10,10,10,10,11,11,11,12,12,12,13,8,9,9,9,9,10,9,11,10,11,11,12,11,13,12,13,13,8,9,9,9,9,9,10,10,11,11,11,11,12,12,13,13,13,10,10,10,10,10,11,10,11,11,12,11,13,12,13,13,14,13,10,10,10,10,10,10,11,11,11,11,12,12,13,13,13,13,14,11,11,11,11,11,12,11,12,12,13,12,13,13,14,13,14,14,11,11,11,11,11,11,12,12,12,12,13,13,13,13,14,14,14,11,12,12,12,12,13,12,13,12,13,13,14,13,14,14,14,14,11,12,12,12,12,12,12,13,13,13,13,13,14,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,12,11,9,9,9,9,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,12,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,11,12,13,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,11,12,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,6,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,11,13,12,14,13,12,13,13,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,14,12,13,13,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,12,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,14,15,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,15,14,12,13,13,14,15,11,12,12,14,14,12,13,13,14,14,12,13,13,15,14,14,14,14,14,16,14,14,15,16,16,11],"i8",O3,_.GLOBAL_BASE+124340),C3([12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,16,14,14,14,14,16,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,14,14,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,13,15,14,11,12,12,14,13,12,13,13,15,14,11,12,12,13,14,14,15,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,14,14,16,15,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,8,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,7,9,9,7,9,9,7,9,9,9,10,11,9,11,10,7,9,9,9,11,10,9,10,11,5,7,7,7,9,9,7,9,9,7,9,9,9,11,10,9,10,10,8,9,9,9,11,11,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,14,18,18,17,17,17,17,17,17,4,7,9,9,10,13,15,17,17,17,6,7,5,6,8,11,16,17,16,17,5,7,5,4,6,10,14,17,17,17,6,6,6,5,7,10,13,16,17,17,7,6,7,7,7,8,7,10,15,16,12,9,9,6,6,5,3,5,11,15,14,14,13,5,5,7,3,4,8,15,17,17,13,7,7,10,6,6,10,15,17,17,16,10,11,14,10,10,15,17,0,0,0,0,2,0,0,0,100,0,0,0,192,30,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,224,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,8,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,48,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,88,17,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,17,2,0,0,0,0,0,168,17,2,0,208,17,2,0,0,0,0,0,0,0,0,0,248,17,2,0,32,18,2,0,0,0,0,0,0,0,0,0,72,18,2,0,112,18,2,0,152,18,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,80,16,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,15,14,16,13,13,14,5,5,7,7,8,9,11,10,12,15,10,6,5,6,6,9,10,10,13,16,10,6,6,6,6,8,9,9,12,15,14,7,6,6,5,6,6,8,12,15,10,8,7,7,6,7,7,7,11,13,14,10,9,8,5,6,4,5,9,12,10,9,9,8,6,6,5,3,6,11,12,11,12,12,10,9,8,5,5,8,10,11,15,13,13,13,12,8,6,7,0,0,0,0,4,0,0,0,81,0,0,0,88,30,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,30,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,29,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,30,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,27,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,29,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,24,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,27,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,24,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,24,2,0,0,0,0,0,2,0,0,0,81,0,0,0,208,23,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,40,24,2,0,0,0,0,0,4,0,0,0,81,0,0,0,104,23,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,184,22,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,23,2,0,0,0,0,0,2,0,0,0,121,0,0,0,8,22,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,136,22,2,0,0,0,0,0,2,0,0,0,121,0,0,0,88,21,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,21,2,0,0,0,0,0,2,0,0,0,121,0,0,0,168,20,2,0,1,0,0,0,0,226,120,225,0,232,51,97,4,0,0,0,0,0,0,0,40,21,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,19,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,112,20,2,0,0,0,0,0,1,0,0,0,49,0,0,0,192,18,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,248,18,2,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,6,5,8,6,9,8,10,9,11,10,4,6,6,8,8,9,9,11,10,11,11,11,11,4,6,6,8,8,10,9,11,11,11,11,11,12,6,8,8,10,10,11,11,12,12,13,12,13,13,6,8,8,10,10,11,11,12,12,12,13,14,13,8,10,10,11,11,12,13,14,14,14,14,15,15,8,10,10,11,12,12,13,13,14,14,14,14,15,9,11,11,13,13,14,14,15,14,16,15,17,15,9,11,11,12,13,14,14,15,14,15,15,15,16,10,12,12,13,14,15,15,15,15,16,17,16,17,10,13,12,13,14,14,16,16,16,16,15,16,17,11,13,13,14,15,14,17,15,16,17,17,17,17,11,13,13,14,15,15,15,15,17,17,16,17,16,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,5,6,6,7,7,7,7,7,7,7,7,5,6,6,6,7,7,7,7,7,7,7,6,7,7,7,7,7,7,7,7,8,8,6,7,7,7,7,7,7,7,7,8,8,7,7,7,7,7,8,7,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,4,6,6,7,7,9,9,11,10,12,12,5,6,5,7,7,9,9,10,11,12,12,6,7,7,8,8,10,10,11,11,13,13,6,7,7,8,8,10,10,11,12,13,13,8,9,9,10,10,11,11,12,12,14,14,8,9,9,10,10,11,11,12,12,14,14,10,10,10,11,11,13,12,14,14,15,15,10,10,10,12,12,13,13,14,14,15,15,11,12,12,13,13,14,14,15,14,16,15,11,12,12,13,13,14,14,15,15,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,6,6,8,7,8,8,8,8,4,5,5,6,6,7,8,8,8,8,8,6,7,6,7,7,8,8,9,9,9,9,6,6,7,7,7,8,8,9,9,9,9,7,8,7,8,8,9,9,9,9,9,9,7,7,8,8,8,9,9,9,9,9,9,8,8,8,9,9,9,9,10,9,9,9,8,8,8,9,9,9,9,9,9,9,10,8,8,8,9,9,9,9,10,9,10,10,8,8,8,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,8,9,9,7,10,10,5,8,9,7,9,10,8,9,9,4,9,9,9,11,10,8,10,10,7,11,10,10,10,12,10,12,12,7,10,10,10,12,11,10,12,12,5,9,9,8,10,10,9,11,11,7,11,10,10,12,12,10,11,12,7,10,11,10,12,12,10,12,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,8,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,11,11,9,9,9,10,10,11,10,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,7,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,7,8,9,11,11,6,8,7,9,9,10,10,12,12,6,7,8,9,10,10,10,12,12,8,8,8,10,10,12,11,13,13,8,8,9,10,10,11,11,13,13,10,11,11,12,12,13,13,14,14,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,10,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,12,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,13,8,9,9,11,11,9,10,10,12,11,9,10,10,12,12,11,12,11,13,13,11,12,12,13,13,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,12,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,12,10,10,11,12,13,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,13,12,12,12,13,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,12,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,13,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,10,13,12,10,11,11,12,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,13,13,14,14,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,11,13,12,14,13,12,12,13,14,14,11,12,12,13,13,11,12,13,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,16,16,11,11,11,13,13,11,12,11,14,13,12,12,13,14,15,13,14,12,16,13,14,14,14,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,12,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,12,12,13,13,12,13,12,14,14,11,11,12,13,14,13,15,14,16,15,13,12,14,13,16,11,12,12,13,13,12,13,13,14,14,12,12,12,14,14,13,14,14,15,15,13,14,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,9,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,11,12,15,14,9,11,11,15,14,13,14,14,16,16,12,13,14,17,16,8,10,10,13,13,9,11,11,14,15,10,11,12,14,15,12,14,13,16,16,13,14,15,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,15,14,10,11,12,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,14,17,11,13,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,16,14,11,13,13,16,16,10,12,12,15,15,11,13,13,16,16,11,13,13,16,15,14,16,17,17,19,14,16,16,18,0,9,11,11,14,15,10,13,12,16,15,11,13,13,16,16,14,15,14,0,16,14,16,16,18,0,5,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,11,11,15,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,17,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,12,16,16,11,13,13,15,14,9,11,11,14,15,11,13,13,16,15,10,12,13,16,16,15,16,16,0,0,14,13,15,16,18,10,11,11,15,15,11,13,14,16,18,11,13,13,16,15,15,16,16,19,0,14,15,15,16,16,8,10,10,13,13,10,12,11,16,15,10,11,11,16,15,13,15,16,18,0,13,14,15,17,17,9,11,11,15,15,11,13,13,16,18,11,13,13,16,17,15,16,16,0,0,15,18,16,0,17,9,11,11,15,15,11,13,12,17,15,11,13,14,16,17,15,18,15,0,17,15,16,16,18,19,13,15,14,0,18,14,16,16,19,18,14,16,15,19,19,16,18,19,0,0,16,17,0,0,0,12,14,14,17,17,13,16,14,0,18,14,16,15,18,0,16,18,16,19,17,18,19,17,0,0,8,10,10,14,14,9,12,11,15,15,10,11,12,15,17,13,15,15,18,16,14,16,15,18,17,9,11,11,16,15,11,13,13,0,16,11,12,13,16,15,15,16,16,0,17,15,15,16,18,17,9,12,11,15,17,11,13,13,16,16,11,14,13,16,16,15,15,16,18,19,16,18,16,0,0,12,14,14,0,16,14,16,16,0,18,13,14,15,16,0,17,16,18,0,0,16,16,17,19,0,13,14,14,17,0,14,17,16,0,19,14,15,15,18,19,17,16,18,0,0,15,19,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,7,7,5,7,7,5,8,8,8,10,10,7,10,10,5,8,8,7,10,10,8,10,10,5,8,8,8,11,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,12,10,13,13,5,8,8,8,11,10,8,10,11,7,10,10,10,13,13,10,12,13,8,11,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,12,17,16,16,17,17,17,17,17,4,7,11,11,12,9,17,10,17,17,7,7,8,9,7,9,11,10,15,17,7,9,10,11,10,12,14,12,16,17,7,8,5,7,4,7,7,8,16,16,6,10,9,10,7,10,11,11,16,17,6,8,8,9,5,7,5,8,16,17,5,5,8,7,6,7,7,6,6,14,12,10,12,11,7,11,4,4,2,7,17,15,15,15,8,15,6,8,5,9,0,0,0,0,2,0,0,0,100,0,0,0,208,47,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,160,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,24,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,64,33,2,0,0,0,0,0,0,0,0,0,0,0,0,0,104,33,2,0,0,0,0,0,144,33,2,0,184,33,2,0,0,0,0,0,0,0,0,0,224,33,2,0,8,34,2,0,0,0,0,0,0,0,0,0,48,34,2,0,88,34,2,0,128,34,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,56,32,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,9,14,13,14,13,16,12,13,14,5,4,6,6,8,9,11,10,12,15,10,5,5,6,6,8,10,10,13,16,10,6,6,6,6,8,9,9,12,14,13,7,6,6,4,6,6,7,11,14,10,7,7,7,6,6,6,7,10,13,15,10,9,8,5,6,5,6,10,14,10,9,8,8,6,6,5,4,6,11,11,11,12,11,10,9,9,5,5,9,10,12,15,13,13,13,13,8,7,7,0,0,0,0,4,0,0,0,81,0,0,0,104,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,47,2,0,0,0,0,0,4,0,0,0,81,0,0,0,0,47,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,88,47,2,0,0,0,0,0,4,0,0,0,113,2,0,0,112,44,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,46,2,0,0,0,0,0,4,0,0,0,113,2,0,0,224,41,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,44,2,0,0,0,0,0,2,0,0,0,81,0,0,0,96,41,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,41,2,0,0,0,0,0,2,0,0,0,81,0,0,0,224,40,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,41,2,0,0,0,0,0,4,0,0,0,81,0,0,0,120,40,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,208,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,200,39,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,72,40,2,0,0,0,0,0,2,0,0,0,121,0,0,0,24,39,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,152,39,2,0,0,0,0,0,2,0,0,0,121,0,0,0,104,38,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,64,37,2,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,40,38,2,0,0,0,0,0,2,0,0,0,225,0,0,0,24,36,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,0,37,2,0,0,0,0,0,2,0,0,0,33,1,0,0,168,34,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,35,2,0,0,0,0,0,3,5,5,7,7,8,8,8,8,8,8,9,8,8,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,9,9,10,9,9,9,9,9,9,9,9,9,10,10,10,9,10,9,10,10,9,9,9,9,9,9,9,9,9,10,10,9,10,10,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,9,8,8,9,8,9,8,9,9,4,7,6,8,8,9,9,9,9,9,9,9,9,9,9,4,7,6,9,9,10,10,9,9,10,10,10,10,11,11,7,9,8,10,10,11,11,10,10,11,11,11,11,11,11,7,8,9,10,10,11,11,10,10,11,11,11,11,11,12,8,10,10,11,11,12,12,11,11,12,12,12,12,13,12,8,10,10,11,11,12,11,11,11,11,12,12,12,12,13,8,9,9,11,10,11,11,12,12,12,12,13,12,13,12,8,9,9,11,11,11,11,12,12,12,12,12,13,13,13,9,10,10,11,12,12,12,12,12,13,13,13,13,13,13,9,10,10,11,11,12,12,12,12,13,13,13,13,14,13,10,10,10,12,11,12,12,13,13,13,13,13,13,13,13,10,10,11,11,11,12,12,13,13,13,13,13,13,13,13,10,11,11,12,12,13,12,12,13,13,13,13,13,13,14,10,11,11,12,12,13,12,13,13,13,14,13,13,14,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,9,8,15,15,15,15,15,15,15,15,15,15,4,8,9,13,14,14,14,14,14,14,14,14,14,14,14,5,8,9,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,11,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,7,7,7,8,7,8,8,5,5,6,6,7,7,7,7,7,8,8,6,7,7,7,7,8,7,8,8,8,8,6,6,7,7,7,7,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,7,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,8,9,9,10,10,11,11,12,12,6,8,8,9,9,10,10,11,11,12,12,8,9,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,12,12,13,13,10,10,10,11,11,13,13,13,13,15,14,9,10,10,12,11,12,13,13,13,14,15,11,12,12,13,13,13,13,15,14,15,15,11,11,12,13,13,14,14,14,15,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,4,5,5,7,6,8,8,8,8,8,8,4,5,5,6,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,8,8,8,8,8,8,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,8,7,10,10,8,10,10,5,8,9,7,10,10,7,10,9,4,8,8,9,11,11,8,11,11,7,11,11,10,10,13,10,13,13,7,11,11,10,13,12,10,13,13,5,9,8,8,11,11,9,11,11,7,11,11,10,13,13,10,12,13,7,11,11,10,13,13,9,13,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,8,9,9,5,6,6,7,7,8,8,10,10,5,6,6,7,7,8,8,10,10,7,8,7,8,8,10,9,11,11,7,7,8,8,8,9,10,10,11,9,9,9,10,10,11,11,12,11,9,9,9,10,10,11,11,11,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,11,3,5,5,7,8,8,8,11,11,6,8,7,9,9,10,9,12,11,6,7,8,9,9,9,10,11,12,8,8,8,10,9,12,11,13,13,8,8,9,9,10,11,12,13,13,10,11,11,12,12,13,13,14,14,10,10,11,11,12,13,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,7,7,8,9,10,9,10,10,11,11,9,9,10,11,12,6,7,7,9,9,7,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,11,12,13,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,11,13,12,11,12,12,13,13,5,7,7,9,9,7,8,7,10,10,7,7,8,10,10,9,10,10,12,11,9,10,10,11,12,7,8,8,10,10,8,8,9,11,11,8,9,9,11,11,10,10,11,12,13,10,10,11,12,12,6,7,7,10,10,7,9,8,11,10,8,8,9,10,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,13,13,10,11,11,12,13,12,12,12,13,14,12,12,13,14,14,9,10,10,12,12,9,10,10,13,12,10,11,11,13,13,11,12,11,14,12,12,13,13,14,14,6,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,11,12,6,7,7,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,11,10,11,10,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,12,14,14,11,11,12,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,12,12,14,14,12,13,12,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,12,13,14,14,9,10,10,12,12,9,11,10,13,12,10,10,11,12,13,12,13,12,14,13,12,12,13,14,15,11,12,12,14,13,11,12,12,14,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,11,12,11,14,13,12,12,13,14,15,12,14,12,15,12,13,14,15,15,16,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,13,11,12,12,13,13,9,10,10,12,12,10,11,10,13,12,9,10,11,12,13,12,13,12,14,14,12,12,13,13,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,12,13,13,14,14,11,11,11,13,13,12,13,12,14,14,11,11,12,13,14,14,14,14,16,15,12,12,14,12,15,11,12,12,13,14,12,13,13,14,15,11,12,12,14,14,13,14,14,16,16,13,14,13,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,8,8,5,7,6,9,9,5,6,7,9,9,8,9,9,13,12,8,9,10,12,13,5,7,7,10,9,7,9,9,11,11,7,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,6,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,13,8,10,10,13,13,10,11,11,15,15,9,11,11,14,14,13,14,14,17,16,12,13,14,16,16,8,10,10,13,14,9,11,11,14,15,10,11,12,14,15,12,14,13,16,15,13,14,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,11,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,11,13,13,14,15,11,12,13,15,16,6,9,9,11,12,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,15,16,10,12,11,14,15,11,13,13,15,17,11,13,13,17,16,15,15,16,17,16,14,15,16,18,0,9,11,11,14,15,10,12,12,16,15,11,13,13,16,16,13,15,14,18,15,14,16,16,0,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,6,9,9,11,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,16,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,16,15,11,13,12,15,15,9,11,11,15,14,11,13,13,17,16,10,12,13,15,16,14,16,16,0,18,14,14,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,16,16,14,16,16,19,17,14,15,15,17,17,8,10,10,14,14,10,12,11,15,15,10,11,12,16,15,14,15,15,18,20,13,14,16,17,18,9,11,11,15,16,11,13,13,17,17,11,13,13,17,16,15,16,16,0,0,15,16,16,0,0,9,11,11,15,15,10,13,12,17,15,11,13,13,17,16,15,17,15,20,19,15,16,16,19,0,13,15,14,0,17,14,15,16,0,20,15,16,16,0,19,17,18,0,0,0,16,17,18,0,0,12,14,14,19,18,13,15,14,0,17,14,15,16,19,19,16,18,16,0,19,19,20,17,20,0,8,10,10,13,14,10,11,11,15,15,10,12,12,15,16,14,15,14,19,16,14,15,15,0,18,9,11,11,16,15,11,13,13,0,16,11,12,13,16,17,14,16,17,0,19,15,16,16,18,0,9,11,11,15,16,11,13,13,16,16,11,14,13,18,17,15,16,16,18,20,15,17,19,0,0,12,14,14,17,17,14,16,15,0,0,13,14,15,19,0,16,18,20,0,0,16,16,18,18,0,12,14,14,17,20,14,16,16,19,0,14,16,14,0,20,16,20,17,0,0,17,0,15,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,7,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,8,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,4,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,5,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,16,13,17,13,17,16,17,17,4,7,9,9,13,10,16,12,16,17,7,6,5,7,8,9,12,12,16,17,6,9,7,9,10,10,15,15,17,17,6,7,5,7,5,7,7,10,16,17,7,9,8,9,8,10,11,11,15,17,7,7,7,8,5,8,8,9,15,17,8,7,9,9,7,8,7,2,7,15,14,13,13,15,5,10,4,3,6,17,17,15,13,17,7,11,7,6,9,16,0,0,0,0,2,0,0,0,100,0,0,0,160,64,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,176,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,50,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,50,2,0,0,0,0,0,160,50,2,0,200,50,2,0,0,0,0,0,0,0,0,0,240,50,2,0,24,51,2,0,0,0,0,0,0,0,0,0,64,51,2,0,104,51,2,0,144,51,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,72,49,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,13,12,14,12,16,11,13,14,5,4,5,6,7,8,10,9,12,15,10,5,5,5,6,8,9,9,13,15,10,5,5,6,6,7,8,8,11,13,12,7,5,6,4,6,7,7,11,14,11,7,7,6,6,6,7,6,10,14,14,9,8,8,6,7,7,7,11,16,11,8,8,7,6,6,7,4,7,12,10,10,12,10,10,9,10,5,6,9,10,12,15,13,14,14,14,8,7,8,0,0,0,0,4,0,0,0,81,0,0,0,56,64,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,64,2,0,0,0,0,0,4,0,0,0,81,0,0,0,208,63,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,64,2,0,0,0,0,0,4,0,0,0,113,2,0,0,64,61,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,63,2,0,0,0,0,0,4,0,0,0,113,2,0,0,176,58,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,61,2,0,0,0,0,0,2,0,0,0,81,0,0,0,48,58,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,136,58,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,57,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,8,58,2,0,0,0,0,0,4,0,0,0,81,0,0,0,72,57,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,160,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,152,56,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,24,57,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,55,2,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,104,56,2,0,0,0,0,0,2,0,0,0,121,0,0,0,56,55,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,55,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,54,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,0,55,2,0,0,0,0,0,2,0,0,0,225,0,0,0,40,53,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,16,54,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,51,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,52,2,0,0,0,0,0,2,5,5,7,7,8,8,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,8,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,8,8,8,9,8,9,9,9,9,9,9,9,10,9,10,9,10,8,9,9,9,9,9,9,9,9,9,10,9,10,10,10,10,10,8,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,9,10,9,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,8,7,9,8,9,9,4,7,6,9,8,10,10,9,8,9,9,9,9,9,8,5,6,6,8,9,10,10,9,9,9,10,10,10,10,11,7,8,8,10,10,11,11,10,10,11,11,11,12,11,11,7,8,8,10,10,11,11,10,10,11,11,12,11,11,11,8,9,9,11,11,12,12,11,11,12,11,12,12,12,12,8,9,10,11,11,12,12,11,11,12,12,12,12,12,12,8,9,9,10,10,12,11,12,12,12,12,12,12,12,13,8,9,9,11,11,11,11,12,12,12,12,13,12,13,13,9,10,10,11,11,12,12,12,13,12,13,13,13],"i8",O3,_.GLOBAL_BASE+134580),C3([14,13,9,10,10,11,11,12,12,12,13,13,12,13,13,14,13,9,11,10,12,11,13,12,12,13,13,13,13,13,13,14,9,10,10,12,12,12,12,12,13,13,13,13,13,14,14,10,11,11,12,12,12,13,13,13,14,14,13,14,14,14,10,11,11,12,12,12,12,13,12,13,14,13,14,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,2,12,10,13,13,13,13,13,13,13,13,4,9,9,13,13,13,13,13,13,13,13,13,13,5,10,9,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,5,6,5,7,6,7,7,8,8,8,8,5,5,5,6,6,7,7,8,8,8,8,6,7,6,7,7,8,8,8,8,8,8,6,6,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,10,4,6,6,7,7,9,9,10,10,11,11,4,6,6,7,7,9,9,10,10,11,11,6,8,7,9,9,10,10,11,11,13,12,6,8,8,9,9,10,10,11,11,12,13,8,9,9,10,10,12,12,13,12,14,13,8,9,9,10,10,12,12,13,13,14,14,9,11,11,12,12,13,13,14,14,15,14,9,11,11,12,12,13,13,14,14,15,14,11,12,12,13,13,14,14,15,14,15,14,11,11,12,13,13,14,14,14,14,15,15,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,5,5,7,7,8,8,9,8,8,9,4,5,5,7,7,8,8,9,9,8,9,6,7,7,8,8,9,8,9,9,9,9,6,7,7,8,8,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,7,8,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,8,9,9,9,9,9,9,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,9,9,8,11,10,7,11,10,5,9,9,7,10,10,8,10,11,4,9,9,9,12,12,9,12,12,8,12,12,11,12,12,10,12,13,7,12,12,11,12,12,10,12,13,4,9,9,9,12,12,9,12,12,7,12,11,10,13,13,11,12,12,7,12,12,10,13,13,11,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,9,9,4,5,4,6,6,7,7,9,9,4,4,5,6,6,7,7,9,9,5,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,7,7,8,8,9,9,11,10,7,7,7,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,11,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,8,8,10,10,4,5,5,8,7,8,8,11,10,3,5,5,7,8,8,8,10,11,6,8,7,10,9,10,10,11,11,6,7,8,9,9,9,10,11,12,8,8,8,10,10,11,11,13,12,8,8,9,9,10,11,11,12,13,10,11,10,12,11,13,12,14,14,10,10,11,11,12,12,13,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,7,6,9,9,6,6,7,9,9,8,9,9,11,11,8,9,9,11,11,6,7,7,9,9,7,8,8,10,10,6,7,8,9,10,9,10,10,11,12,9,9,10,11,12,6,7,7,9,9,6,8,7,10,9,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,11,12,13,14,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,12,11,14,13,11,12,12,13,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,7,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,11,13,10,11,11,12,13,6,7,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,12,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,11,13,12,15,12,13,13,14,15,9,10,10,12,12,9,11,10,13,12,10,11,11,13,13,11,13,11,14,12,12,13,13,14,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,9,10,10,12,12,6,8,7,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,12,10,11,10,13,11,9,10,10,12,12,10,11,11,13,12,9,10,10,12,13,12,13,13,14,15,11,11,13,12,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,14,12,13,11,14,12,8,9,9,12,12,9,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,12,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,10,13,12,10,11,11,12,13,12,13,12,15,13,12,13,13,14,15,11,12,12,14,13,11,12,12,14,15,12,13,13,15,14,13,12,14,12,16,13,14,14,15,15,11,11,12,14,14,11,12,11,14,13,12,13,13,14,15,13,14,12,16,12,14,14,15,16,16,8,9,9,11,12,9,10,10,12,12,9,10,10,12,13,11,12,12,13,13,12,12,13,14,14,9,10,10,12,12,10,11,10,13,12,10,10,11,12,13,12,13,13,15,14,12,12,13,13,15,9,10,10,12,13,10,11,11,12,13,10,11,11,13,13,12,13,13,14,15,12,13,12,15,14,11,12,11,14,13,12,13,13,15,14,11,11,12,13,14,14,15,14,16,15,13,12,14,13,16,11,12,12,13,14,12,13,13,14,15,11,12,11,14,14,14,14,14,15,16,13,15,12,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,5,8,8,5,7,6,9,9,5,6,7,9,9,8,10,9,13,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,6,8,9,11,11,10,11,11,14,14,9,10,11,13,14,5,7,7,9,10,7,9,8,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,13,13,10,11,11,15,14,9,11,11,14,14,13,14,14,17,16,12,13,13,15,16,8,10,10,13,13,9,11,11,14,15,10,11,11,14,15,12,14,13,16,16,13,15,14,15,17,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,14,7,9,9,12,11,9,11,11,13,13,9,11,11,13,13,12,13,13,15,16,11,12,13,15,16,6,9,9,11,11,8,11,10,13,12,9,11,11,13,14,11,13,12,16,14,11,13,13,16,17,10,12,11,15,15,11,13,13,16,16,11,13,13,17,16,14,15,15,17,17,14,16,16,17,18,9,11,11,14,15,10,12,12,15,15,11,13,13,16,17,13,15,13,17,15,14,15,16,18,0,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,11,11,14,14,10,11,12,14,15,6,9,9,12,11,9,11,11,13,13,8,10,11,12,13,11,13,13,16,15,11,12,13,14,15,7,9,9,11,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,16,11,13,13,15,14,9,11,11,15,14,11,13,13,17,15,10,12,12,15,15,14,16,16,17,17,13,13,15,15,17,10,11,12,15,15,11,13,13,16,16,11,13,13,15,15,14,15,15,18,18,14,15,15,17,17,8,10,10,13,13,10,12,11,15,15,10,11,12,15,15,14,15,15,18,18,13,14,14,18,18,9,11,11,15,16,11,13,13,17,17,11,13,13,16,16,15,15,16,17,0,14,15,17,0,0,9,11,11,15,15,10,13,12,18,16,11,13,13,15,16,14,16,15,20,20,14,15,16,17,0,13,14,14,20,16,14,15,16,19,18,14,15,15,19,0,18,16,0,20,20,16,18,18,0,0,12,14,14,18,18,13,15,14,18,16,14,15,16,18,20,16,19,16,0,17,17,18,18,19,0,8,10,10,14,14,10,11,11,14,15,10,11,12,15,15,13,15,14,19,17,13,15,15,17,0,9,11,11,16,15,11,13,13,16,16,10,12,13,15,17,14,16,16,18,18,14,15,15,18,0,9,11,11,15,15,11,13,13,16,17,11,13,13,18,17,14,18,16,18,18,15,17,17,18,0,12,14,14,18,18,14,15,15,20,0,13,14,15,17,0,16,18,17,0,0,16,16,0,17,20,12,14,14,18,18,14,16,15,0,18,14,16,15,18,0,16,19,17,0,0,17,18,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,8,8,6,7,8,5,6,6,6,8,7,6,8,8,5,6,6,6,8,8,6,8,8,6,8,8,8,9,9,8,9,9,6,8,7,7,9,8,8,9,9,5,6,6,6,8,7,6,8,8,6,8,7,8,9,9,7,8,9,6,8,8,8,9,9,8,9,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,7,5,8,8,8,10,10,7,9,10,5,8,8,7,10,9,8,10,10,5,8,8,8,10,10,8,10,10,8,10,10,10,12,13,10,13,13,7,10,10,10,13,11,10,13,13,4,8,8,8,11,10,8,10,10,7,10,10,10,13,13,10,11,13,8,10,11,10,13,13,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,10,17,13,17,13,17,17,17,17,3,6,8,9,11,9,15,12,16,17,6,5,5,7,7,8,10,11,17,17,7,8,7,9,9,10,13,13,17,17,8,6,5,7,4,7,5,8,14,17,9,9,8,9,7,9,8,10,16,17,12,10,7,8,4,7,4,7,16,17,12,11,9,10,6,9,5,7,14,17,14,13,10,15,4,8,3,5,14,17,17,14,11,15,6,10,6,8,15,17,0,0,0,0,2,0,0,0,64,0,0,0,248,78,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,128,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,66,2,0,0,0,0,0,32,67,2,0,72,67,2,0,0,0,0,0,0,0,0,0,112,67,2,0,152,67,2,0,192,67,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,66,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,12,13,12,11,13,5,4,6,7,8,8,9,13,9,5,4,5,5,7,9,13,9,6,5,6,6,7,8,12,12,7,5,6,4,5,8,13,11,7,6,6,5,5,6,12,10,8,8,7,7,5,3,8,10,12,13,12,12,9,6,7,4,0,0,0,81,0,0,0,144,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,78,2,0,0,0,0,0,4,0,0,0,81,0,0,0,40,78,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,75,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,78,2,0,0,0,0,0,4,0,0,0,113,2,0,0,8,73,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,75,2,0,0,0,0,0,2,0,0,0,81,0,0,0,136,72,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,72,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,71,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,72,2,0,0,0,0,0,2,0,0,0,25,0,0,0,104,71,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,71,2,0,0,0,0,0,2,0,0,0,169,0,0,0,128,70,2,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,48,71,2,0,0,0,0,0,2,0,0,0,225,0,0,0,88,69,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,64,70,2,0,0,0,0,0,2,0,0,0,33,1,0,0,232,67,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,69,2,0,0,0,0,0,2,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,9,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,10,10,10,10,10,10,10,10,11,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,10,10,10,10,10,10,10,10,10,10,11,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,8,10,8,10,9,11,11,4,7,6,8,7,9,9,10,10,11,10,11,10,12,10,4,6,7,8,8,9,9,10,10,11,11,11,11,12,12,6,8,8,10,9,11,10,12,11,12,12,12,12,13,13,6,8,8,10,10,10,11,11,11,12,12,13,12,13,13,8,9,9,11,11,12,11,12,12,13,13,13,13,13,13,8,9,9,11,11,11,12,12,12,13,13,13,13,13,13,9,10,10,12,11,13,13,13,13,14,13,13,14,14,14,9,10,11,11,12,12,13,13,13,13,13,14,15,14,14,10,11,11,12,12,13,13,14,14,14,14,14,15,16,16,10,11,11,12,13,13,13,13,15,14,14,15,16,15,16,10,12,12,13,13,14,14,14,15,15,15,15,15,15,16,11,12,12,13,13,14,14,14,15,15,15,16,15,17,16,11,12,12,13,13,13,15,15,14,16,16,16,16,16,17,11,12,12,13,13,14,14,15,14,15,15,17,17,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,3,12,11,12,12,12,12,12,12,12,12,12,12,4,11,10,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,11,10,13,13,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,16,16,8,9,9,10,10,11,11,12,12,13,13,16,16,10,10,10,12,11,12,12,13,13,14,14,16,16,10,10,10,11,12,12,12,13,13,13,14,16,17,11,12,11,12,12,13,13,14,14,15,14,18,17,11,11,12,12,12,13,13,14,14,14,15,19,18,14,15,14,15,15,17,16,17,17,17,17,21,0,14,15,15,16,16,16,16,17,17,18,17,20,21,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,9,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,8,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,13,13,9,10,10,12,13,11,12,12,14,13,11,12,12,14,14,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,14,10,11,11,14,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,13,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,13,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,11,12,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,14,14,16,13,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,12,13,13,14,15,11,12,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,16,16,11,12,12,14,14,11,13,12,15,14,12,13,13,15,16,13,15,13,17,13,14,15,15,16,17,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,13,13,13,15,15,12,13,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,14,13,13,13,15,15,13,14,13,16,14,11,12,12,15,14,12,13,13,16,15,11,12,13,14,15,14,15,15,17,16,13,13,15,13,16,11,12,13,14,15,13,13,13,15,16,11,13,12,15,14,14,15,15,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,5,7,7,9,9,5,7,7,9,9,8,10,9,12,12,8,9,10,12,12,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,9,10,11,13,14,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,9,11,10,14,13,10,11,11,14,14,8,10,10,14,13,10,12,12,15,14,9,11,11,15,14,13,14,14,17,17,12,14,14,16,16,8,10,10,14,14,9,11,11,14,15,10,12,12,14,15,12,14,13,16,16,13,14,15,15,18,4,7,7,10,10,7,9,9,12,11,7,9,9,11,12,10,12,11,15,14,10,11,12,14,15,7,9,9,12,12,9,11,12,13,13,9,11,12,13,13,12,13,13,15,16,11,13,13,15,16,7,9,9,12,12,9,11,10,13,12,9,11,12,13,14,11,13,12,16,14,12,13,13,15,16,10,12,12,16,15,11,13,13,17,16,11,13,13,17,16,14,15,15,17,17,14,16,16,18,20,9,11,11,15,16,11,13,12,16,16,11,13,13,16,17,14,15,14,18,16,14,16,16,17,20,5,7,7,10,10,7,9,9,12,11,7,9,10,11,12,10,12,11,15,15,10,12,12,14,14,7,9,9,12,12,9,12,11,14,13,9,10,11,12,13,12,13,14,16,16,11,12,13,14,16,7,9,9,12,12,9,12,11,13,13,9,12,11,13,13,11,13,13,16,16,12,13,13,16,15,9,11,11,16,14,11,13,13,16,16,11,12,13,16,16,14,16,16,17,17,13,14,15,16,17,10,12,12,15,15,11,13,13,16,17,11,13,13,16,16,14,16,15,19,19,14,15,15,17,18,8,10,10,14,14,10,12,12,15,15,10,12,12,16,16,14,16,15,20,19,13,15,15,17,16,9,12,12,16,16,11,13,13,16,18,11,14,13,16,17,16,17,16,20,0,15,16,18,18,20,9,11,11,15,15,11,14,12,17,16,11,13,13,17,17,15,17,15,20,20,14,16,16,17,0,13,15,14,18,16,14,15,16,0,18,14,16,16,0,0,18,16,0,0,20,16,18,18,0,0,12,14,14,17,18,13,15,14,20,18,14,16,15,19,19,16,20,16,0,18,16,19,17,19,0,8,10,10,14,14,10,12,12,16,15,10,12,12,16,16,13,15,15,18,17,14,16,16,19,0,9,11,11,16,15,11,14,13,18,17,11,12,13,17,18,14,17,16,18,18,15,16,17,18,18,9,12,12,16,16,11,13,13,16,18,11,14,13,17,17,15,16,16,18,20,16,17,17,20,20,12,14,14,18,17,14,16,16,0,19,13,14,15,18,0,16,0,0,0,0,16,16,0,19,20,13,15,14,0,0,14,16,16,18,19,14,16,15,0,20,16,20,18,0,20,17,20,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,6,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,6,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,15,14,8,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,15,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,17,15,17,16,14,13,16,10,7,7,10,13,10,15,16,9,4,4,6,5,7,9,16,12,8,7,8,8,8,11,16,14,7,4,6,3,5,8,15,13,8,5,7,4,5,7,16,12,9,6,8,3,3,5,16,14,13,7,10,5,5,7,15,2,0,0,0,64,0,0,0,192,92,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,40,81,2,0,0,0,0,0,80,81,2,0,120,81,2,0,0,0,0,0,0,0,0,0,160,81,2,0,200,81,2,0,240,81,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,80,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,9,13,12,14,11,10,13,8,4,5,7,8,7,8,12,11,4,3,5,5,7,9,14,11,6,5,6,6,6,7,13,13,7,5,6,4,5,7,14,11,7,6,6,5,5,6,13,9,7,8,6,7,5,3,9,9,12,13,12,14,10,6,7,4,0,0,0,81,0,0,0,88,92,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,92,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,91,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,92,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,89,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,91,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,86,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,89,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,86,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,86,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,85,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,86,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,85,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,85,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,84,2,0,1,0,0,0,0,224,63,225,0,224,255,96,4,0,0,0,0,0,0,0,8,85,2,0,0,0,0,0,2,0,0,0,225,0,0,0,136,83,2,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,112,84,2,0,0,0,0,0,2,0,0,0,33,1,0,0,24,82,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,83,2,0,0,0,0,0,2,5,5,7,6,7,7,8,8,8,8,9,9,9,9,9,9,5,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,10,5,6,6,7,7,8,8,8,8,9,8,9,9,9,9,10,9,7,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,7,7,7,8,8,8,8,9,9,9,9,10,9,10,10,10,10,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,7,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,11,11,11,10,11,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,7,9,8,10,9,11,11,4,7,7,8,7,9,9,10,10,11,11,11,11,12,12,4,7,7,7,7,9,9,10,10,11,11,12,12,12,11,6,8,8,9,9,10,10,11,11,12,12,13,12,13,13,6,8,8,9,9,10,11,11,11,12,12,13,14,13,13,8,9,9,11,11,12,12,12,13,14,13,14,14,14,15,8,9,9,11,11,11,12,13,14,13,14,15,17,14,15,9,10,10,12,12,13,13,13,14,15,15,15,16,16,16,9,11,11,12,12,13,13,14,14,14,15,16,16,16,16,10,12,12,13,13,14,14,15,15,15,16,17,17,17,17,10,12,11,13,13,15,14,15,14,16,17,16,16,16,16,11,13,12,14,14,14,14,15,16,17,16,17,17,17,17,11,13,12,14,14,14,15,17,16,17,17,17,17,17,17,12,13,13,15,16,15,16,17,17,16,16,17,17,17,17,12,13,13,15,15,15,16,17,17,17,16,17,16,17,17,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,4,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,13,14,4,6,5,8,8,9,9,10,10,11,11,14,14,4,6,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,15,15,6,8,8,9,9,10,11,11,11,12,12,15,15,8,9,9,11,10,11,11,12,12,13,13,15,16,8,9,9,10,11,11,11,12,12,13,13,16,16,10,10,11,11,11,12,12,13,13,13,14,17,16,9,10,11,12,11,12,12,13,13,13,13,16,18,11,12,11,12,12,13,13,13,14,15,14,17,17,11,11,12,12,12,13,13,13,14,14,15,18,17,14,15,15,15,15,16,16,17,17,19,18,0,20,14,15,14,15,15,16,16,16,17,18,16,20,18,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,4,5,5,7,7,8,8,10,10,4,5,5,7,7,8,8,10,10,6,7,7,8,8,9,9,11,10,6,7,7,8,8,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,9,10,10,11,12,9,10,10,11,12,5,7,7,9,9,7,8,7,10,10,7,8,8,10,10,9,10,9,12,11,9,10,10,12,11,9,10,9,12,12,9,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,9,10,12,12,9,10,10,12,12,9,10,10,12,13,11,12,11,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,11,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,12,10,11,11,13,14,12,13,11,15,13,12,13,13,15,15,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,13,11,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,12,13,12,13,13,15,15,12,11,13,13,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,14,12,12,12,14,13,9,10,10,13,12,10,11,11,13,13,10,11,11,14,12,13,13,14,14,16,12,13,13,15,15,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,15,14,13,13,13,15,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,14,14,12,15,12,16,14,15,15,17,15,11,12,12,14,14,11,13,11,15,14,12,13,13,15,15,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,12,13,9,10,10,13,13,12,12,12,14,14,12,13,13,15,15,9,10,10,13,12,10,11,11,14,13,10,10,11,13,14,12,13,13,15,15,12,12,13,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,12,13,13,14,15,13,14,13,16,14,11,12,12,14,14,12,13,13,15,14,11,12,13,14,15,14,15,15,16,16,13,13,15,13,16,11,12,12,14,15,12,13,13,14,15,11,13,12,15,14,14,15,15,16,16,14,15,12,16,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,7,5,7,7,9,9,5,7,7,9,9,8,9,9,12,12,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,13,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,14,13,8,10,10,14,13,10,11,11,15,14,9,11,11,14,14,13,14,13,16,16,12,13,13,15,15,8,10,10,13,14,9,11,11,14,14,10,11,11,14,15,12,13,13,15,15,13,14,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,14,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,12,13,15,15,11,12,13,15,16,7,9,9,11,11,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,14,11,12,13,16,15,11,13,13,15,16,14,14,15,17,16,13,15,16,0,17,9,11,11,15,15,10,13,12,15,15,11,13,13,15,16,13,15,13,16,15,14,16,15,0,19,5,7,7,10,10,7,9,9,11,11,7,9,9,11,11,10,12,11,14,14,10,11,12,14,14,7,9,9,12,12,9,11,11,14,13,9,10,11,12,13,11,13,13,16,16,11,12,13,13,16,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,11,13,13,15,15,12,13,12,15,14,9,11,11,15,14,11,13,12,16,16,10,12,12,15,15,13,15,15,17,19,13,14,15,16,17,10,12,12,15,15,11,13,13,16,16,11,13,13,15,16,13,15,15,0,0,14,15,15,16,16,8,10,10,14,14,10,12,12,15,15,10,12,11,15,16,14,15,15,19,20,13,14,14,18,16,9,11,11,15,15,11,13,13,17,16,11,13,13,16,16,15,17,17,20,20,14,15,16,17,20,9,11,11,15,15,10,13,12,16,15,11,13,13,15,17,14,16,15,18,0,14,16,15,18,20,12,14,14,0,0,14,14,16,0,0,13,16,15,0,0,17,17,18,0,0,16,17,19,19,0,12,14,14,18,0,12,16,14,0,17,13,15,15,18,0,16,18,17,0,17,16,18,17,0,0,7,10,10,14,14,10,12,11,15,15,10,12,12,16,15,13,15,15,18,0,14,15,15,17,0,9,11,11,15,15,11,13,13,16,16,11,12,13,16,16,14,15,16,17,17,14,16,16,16,18,9,11,12,16,16,11,13,13,17,17,11,14,13,20,17,15,16,16,19,0,15,16,17,0,19,11,13,14,17,16,14,15,15,20,18,13,14,15,17,19,16,18,18,0,20,16,16,19,17,0,12,15,14,17,0,14,15,15,18,19,13,16,15,19,20,15,18,18,0,20,17,0,16,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,4,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,8,7,8,8,5,7,6,7,8,8,6,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,7,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,14,14,8,11,11,10,14,12,11,14,14,4,8,8,8,11,11,8,11,11,7,11,11,11,14,14,10,12,14,8,11,11,11,14,14,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,14,14,14,15,13,15,12,16,10,8,7,9,9,8,12,16,10,5,4,6,5,6,9,16,14,8,6,8,7,8,10,16,14,7,4,6,3,5,8,16,15,9,5,7,4,4,7,16,13,10,6,7,4,3,4,13,13,12,7,9,5,5,6,12,2,0,0,0,64,0,0,0,192,105,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,94,2,0,0,0,0,0,24,95,2,0,64,95,2,0,0,0,0,0,0,0,0,0,104,95,2,0,144,95,2,0,184,95,2],"i8",O3,_.GLOBAL_BASE+144820),C3([2,0,0,0,64,0,0,0,16,94,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,9,14,12,15,13,10,13,7,4,5,6,8,7,8,12,13,4,3,5,5,6,9,15,12,6,5,6,6,6,7,14,14,7,4,6,4,6,8,15,12,6,6,5,5,5,6,14,9,7,8,6,7,5,4,10,10,13,14,14,15,10,6,8,4,0,0,0,81,0,0,0,88,105,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,105,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,104,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,105,2,0,0,0,0,0,4,0,0,0,113,2,0,0,96,102,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,104,2,0,0,0,0,0,4,0,0,0,113,2,0,0,208,99,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,102,2,0,0,0,0,0,2,0,0,0,81,0,0,0,80,99,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,168,99,2,0,0,0,0,0,2,0,0,0,169,0,0,0,104,98,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,24,99,2,0,0,0,0,0,2,0,0,0,25,0,0,0,48,98,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,98,2,0,0,0,0,0,2,0,0,0,81,0,0,0,176,97,2,0,1,0,0,0,0,32,53,225,0,32,245,96,4,0,0,0,0,0,0,0,8,98,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,96,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,97,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,95,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,96,2,0,0,0,0,0,2,5,5,6,6,7,7,8,7,8,8,8,8,5,6,6,7,7,8,8,8,8,8,8,8,8,5,6,6,7,7,8,7,8,8,8,8,8,8,6,7,7,7,8,8,8,8,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,7,8,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,9,9,8,8,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,6,7,6,8,7,9,7,9,8,4,7,6,8,8,9,8,10,9,10,10,11,11,4,7,7,8,8,8,8,9,10,11,11,11,11,6,8,8,10,10,10,10,11,11,12,12,12,12,7,8,8,10,10,10,10,11,11,12,12,13,13,7,9,9,11,10,12,12,13,13,14,13,14,14,7,9,9,10,11,11,12,13,13,13,13,16,14,9,10,10,12,12,13,13,14,14,15,16,15,16,9,10,10,12,12,12,13,14,14,14,15,16,15,10,12,12,13,13,15,13,16,16,15,17,17,17,10,11,11,12,14,14,14,15,15,17,17,15,17,11,12,12,14,14,14,15,15,15,17,16,17,17,10,12,12,13,14,14,14,17,15,17,17,17,17,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,12,12,12,12,12,12,4,12,12,12,12,12,12,12,12,5,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,6,5,6,6,5,5,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,14,13,4,6,5,8,8,9,9,11,10,12,11,15,14,4,5,6,8,8,9,9,11,11,11,11,14,14,6,8,8,10,9,11,11,11,11,12,12,15,15,6,8,8,9,9,11,11,11,12,12,12,15,15,8,10,10,11,11,11,11,12,12,13,13,15,16,8,10,10,11,11,11,11,12,12,13,13,16,16,10,11,11,12,12,12,12,13,13,13,13,17,16,10,11,11,12,12,12,12,13,13,13,14,16,17,11,12,12,13,13,13,13,14,14,15,14,18,17,11,12,12,13,13,13,13,14,14,14,15,19,18,14,15,15,15,15,16,16,18,19,18,18,0,0,14,15,15,16,15,17,17,16,18,17,18,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,8,8,8,9,9,10,11,12,12,8,8,8,9,9,10,10,12,12,10,10,10,11,11,12,12,13,13,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,5,7,6,9,9,5,6,7,9,9,9,9,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,5,7,7,9,9,6,8,7,10,10,7,8,8,10,10,9,10,10,12,11,9,10,10,12,11,9,10,10,12,12,10,10,10,13,12,9,10,10,12,13,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,13,10,10,10,12,13,11,12,12,14,13,12,12,12,14,13,5,7,7,10,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,8,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,13,11,10,11,11,13,13,9,10,10,13,13,10,11,11,13,13,10,11,11,14,13,12,11,13,12,15,12,13,13,15,15,9,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,11,15,13,12,13,13,15,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,6,8,8,10,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,7,8,8,10,11,8,9,9,11,11,8,9,8,11,11,10,11,11,13,13,10,11,11,13,12,9,10,10,13,12,10,11,11,14,13,10,10,11,13,13,12,13,13,15,15,12,11,13,12,14,9,10,10,12,13,10,11,11,13,14,10,11,11,13,13,12,13,13,15,15,12,13,12,15,12,8,9,9,12,12,9,11,10,13,13,9,10,10,13,13,12,13,13,15,15,12,12,12,14,14,9,10,10,13,13,10,11,11,13,14,10,11,11,14,12,13,13,14,14,16,12,13,13,15,14,9,10,10,13,13,10,11,10,14,13,10,11,11,13,14,12,14,13,16,14,13,13,13,14,15,11,13,12,15,14,11,12,13,14,15,12,13,13,16,15,14,12,15,12,16,14,15,15,17,16,11,12,12,14,15,11,13,11,15,14,12,13,13,15,16,13,15,12,17,13,14,15,15,16,16,8,9,9,12,12,9,10,10,13,13,9,10,10,13,13,12,13,12,14,14,12,13,13,15,15,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,12,13,13,15,14,12,12,14,14,16,9,10,10,13,13,10,11,11,13,14,10,11,11,14,13,13,13,13,15,15,13,14,13,16,14,11,12,12,14,14,12,13,13,16,15,11,12,13,14,15,14,15,15,16,16,14,13,15,13,17,11,12,12,14,15,12,13,13,15,16,11,13,12,15,15,14,15,14,16,16,14,15,12,17,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,7,8,5,7,7,9,9,5,7,7,9,9,8,9,9,12,11,8,9,9,11,12,5,7,7,10,10,7,9,9,11,11,7,9,9,10,11,10,11,11,13,13,9,10,11,12,13,5,7,7,10,10,7,9,9,11,10,7,9,9,11,11,9,11,10,13,13,10,11,11,13,13,8,10,10,14,13,10,11,11,15,14,9,11,11,15,14,13,14,13,16,14,12,13,13,15,16,8,10,10,13,14,9,11,11,14,15,10,11,11,14,15,12,13,13,15,15,12,13,14,15,16,5,7,7,10,10,7,9,9,11,11,7,9,9,11,12,10,11,11,14,13,10,11,11,14,14,7,9,9,12,12,9,11,11,13,13,9,11,11,13,13,12,13,12,14,14,11,12,13,15,15,7,9,9,12,12,8,11,10,13,12,9,11,11,13,13,11,13,12,15,13,11,13,13,15,16,9,12,11,15,15,11,12,12,16,15,11,12,13,16,16,13,14,15,16,15,13,15,15,17,17,9,11,11,14,15,10,12,12,15,15,11,13,12,15,16,13,15,14,16,16,13,15,15,17,19,5,7,7,10,10,7,9,9,12,11,7,9,9,11,11,10,11,11,14,14,10,11,11,13,14,7,9,9,12,12,9,11,11,13,13,9,10,11,12,13,11,13,12,16,15,11,12,12,14,15,7,9,9,12,12,9,11,11,13,13,9,11,11,13,12,11,13,12,15,16,12,13,13,15,14,9,11,11,15,14,11,13,12,16,15,10,11,12,15,15,13,14,14,18,17,13,14,14,15,17,10,11,11,14,15,11,13,12,15,17,11,13,12,15,16,13,15,14,18,17,14,15,15,16,18,7,10,10,14,14,10,12,12,15,15,10,12,12,15,15,14,15,15,18,17,13,15,15,16,16,9,11,11,16,15,11,13,13,16,18,11,13,13,16,16,15,16,16,0,0,14,15,16,18,17,9,11,11,15,15,10,13,12,17,16,11,12,13,16,17,14,15,16,19,19,14,15,15,0,20,12,14,14,0,0,13,14,16,19,18,13,15,16,20,17,16,18,0,0,0,15,16,17,18,19,11,14,14,0,19,12,15,14,17,17,13,15,15,0,0,16,17,15,20,19,15,17,16,19,0,8,10,10,14,15,10,12,11,15,15,10,11,12,16,15,13,14,14,19,17,14,15,15,0,0,9,11,11,16,15,11,13,13,17,16,10,12,13,16,17,14,15,15,18,18,14,15,16,20,19,9,12,12,0,15,11,13,13,16,17,11,13,13,19,17,14,16,16,18,17,15,16,16,17,19,11,14,14,18,18,13,14,15,0,0,12,14,15,19,18,15,16,19,0,19,15,16,19,19,17,12,14,14,16,19,13,15,15,0,17,13,15,14,18,18,15,16,15,0,18,16,17,17,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,6,6,5,6,6,5,6,6,7,8,8,6,8,8,5,6,6,6,8,7,7,8,8,5,6,6,7,8,8,6,8,8,6,8,8,8,9,10,8,10,10,6,8,8,7,10,8,8,10,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,11,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,11,11,11,13,14,11,13,13,7,11,11,10,13,12,11,14,14,4,8,8,8,11,11,8,11,11,8,11,11,11,14,13,10,12,13,8,11,11,11,13,13,11,13,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,13,15,17,17,15,15,12,17,11,9,7,10,10,9,12,17,10,6,3,6,5,7,10,17,15,10,6,9,8,9,11,17,15,8,4,7,3,5,9,16,16,10,5,8,4,5,8,16,13,11,5,8,3,3,5,14,13,12,7,10,5,5,7,14,2,0,0,0,64,0,0,0,152,118,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,240,107,2,0,0,0,0,0,24,108,2,0,64,108,2,0,0,0,0,0,0,0,0,0,104,108,2,0,144,108,2,0,184,108,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,16,107,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,48,118,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,136,118,2,0,0,0,0,0,4,0,0,0,81,0,0,0,200,117,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,118,2,0,0,0,0,0,4,0,0,0,113,2,0,0,56,115,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,117,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,112,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,115,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,112,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,112,2,0,0,0,0,0,2,0,0,0,169,0,0,0,64,111,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,111,2,0,0,0,0,0,2,0,0,0,25,0,0,0,8,111,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,111,2,0,0,0,0,0,2,0,0,0,49,0,0,0,176,110,2,0,1,0,0,0,0,176,31,225,0,32,245,96,3,0,0,0,0,0,0,0,232,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,109,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,120,110,2,0,0,0,0,0,2,0,0,0,169,0,0,0,224,108,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,144,109,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16,2,0,0,0,64,0,0,0,168,133,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,80,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,120,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,160,120,2,0,0,0,0,0,0,0,0,0,0,0,0,0,200,120,2,0,0,0,0,0,240,120,2,0,24,121,2,0,0,0,0,0,0,0,0,0,64,121,2,0,104,121,2,0,144,121,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,232,119,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,13,10,17,11,11,15,7,2,4,5,8,7,9,16,13,4,3,5,6,8,11,20,10,4,5,5,7,6,8,18,15,7,6,7,8,10,14,20,10,6,7,6,9,7,8,17,9,8,10,8,10,5,4,11,12,17,19,14,16,10,7,12,4,0,0,0,81,0,0,0,64,133,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,133,2,0,0,0,0,0,4,0,0,0,81,0,0,0,216,132,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,133,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,130,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,132,2,0,0,0,0,0,4,0,0,0,113,2,0,0,184,127,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,48,130,2,0,0,0,0,0,2,0,0,0,81,0,0,0,56,127,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,144,127,2,0,0,0,0,0,2,0,0,0,169,0,0,0,80,126,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,127,2,0,0,0,0,0,2,0,0,0,25,0,0,0,24,126,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,126,2,0,0,0,0,0,4,0,0,0,113,2,0,0,136,123,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,0,126,2,0,0,0,0,0,2,0,0,0,169,0,0,0,160,122,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,80,123,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,121,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,104,122,2,0,0,0,0,0,2,5,4,6,6,7,7,8,8,8,8,9,8,5,5,6,7,7,8,8,8,8,9,9,9,9,5,6,5,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,8,9,9,9,9,6,7,7,8,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,9,9,9,9,9,9,9,7,8,8,9,8,9,8,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,10,10,8,8,9,9,9,9,9,9,9,9,10,9,10,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,9,9,10,10,9,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,7,7,8,8,9,9,5,7,7,8,7,7,7,9,8,10,9,10,11,5,7,7,8,8,7,7,8,9,10,10,11,11,6,8,8,9,9,9,9,11,10,12,12,15,12,6,8,8,9,9,9,9,11,11,12,11,14,12,7,8,8,10,10,12,12,13,13,13,15,13,13,7,8,8,10,10,11,11,13,12,14,15,15,15,9,10,10,11,12,13,13,14,15,14,15,14,15,8,10,10,12,12,14,14,15,14,14,15,15,14,10,12,12,14,14,15,14,15,15,15,14,15,15,10,12,12,13,14,15,14,15,15,14,15,15,15,12,15,13,15,14,15,15,15,15,15,15,15,15,13,13,15,15,15,15,15,15,15,15,15,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,6,6,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,9,11,10,14,13,4,6,5,8,8,9,9,11,10,11,11,14,14,4,5,6,8,8,9,9,10,10,11,11,14,14,6,8,8,9,9,10,10,11,11,12,12,16,15,7,8,8,9,9,10,10,11,11,12,12,15,15,9,10,10,10,10,11,11,12,12,12,12,15,15,9,10,9,10,11,11,11,12,12,12,13,15,15,10,10,11,11,11,12,12,13,12,13,13,16,15,10,11,11,11,11,12,12,13,12,13,13,16,17,11,11,12,12,12,13,13,13,14,14,15,17,17,11,11,12,12,12,13,13,13,14,14,14,16,18,14,15,15,15,15,16,16,16,16,17,18,0,0,14,15,15,15,15,17,16,17,18,17,17,18,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,10,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,9,9,5,6,6,9,9,5,6,6,9,9,9,10,9,12,12,9,9,10,12,12,5,7,7,10,10,7,7,8,10,10,6,7,8,10,10,10,10,10,11,13,10,9,10,12,13,5,7,7,10,10,6,8,7,10,10,7,8,7,10,10,9,10,10,12,12,10,10,10,13,11,9,10,10,13,13,10,11,10,13,13,10,10,10,13,13,12,12,13,14,14,12,12,13,14,14,9,10,10,13,13,10,10,10,13,13,10,10,10,13,13,12,13,12,15,14,12,13,12,15,15,5,7,6,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,13,13,10,10,10,12,12,7,8,8,11,10,8,8,9,10,11,8,9,9,11,11,11,10,11,11,14,11,11,11,13,13,6,8,8,10,10,7,9,8,11,10,8,9,9,11,11,10,11,10,14,11,10,11,11,13,13,10,11,11,14,13,10,10,11,14,13,10,11,11,14,14,12,11,13,12,16,13,14,14,15,15,10,10,11,13,14,10,11,10,14,13,10,11,11,14,14,12,13,12,15,13,13,13,14,15,16,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,10,10,13,13,10,10,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,10,11,11,13,13,10,10,11,11,13,6,8,8,10,11,8,9,9,11,11,8,9,8,12,10,10,11,11,13,13,10,11,10,14,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,13,12,14,14,16,16,12,12,13,13,15,10,11,11,13,14,10,11,11,14,15,10,11,10,13,13,13,14,13,16,16,12,13,11,15,12,9,10,10,13,13,10,11,11,14,13,10,10,11,13,14,13,14,13,16,16,13,13,13,15,16,9,10,10,13,13,10,10,11,13,14,10,11,11,15,13,13,13,14,14,18,13,13,14,16,15,9,10,10,13,14,10,11,10,14,13,10,11,11,13,14,13,14,13,16,15,13,13,14,15,16,12,13,12,16,14,11,11,13,15,15,13,14,13,16,15,15,12,16,12,17,14,15,15,17,17,12,13,13,14,16,11,13,11,16,15,12,13,14,15,16,14,15,13,0,14,14,16,16,0,0,9,10,10,13,13,10,11,10,14,14,10,11,11,13,13,12,13,13,14,16,13,14,14,16,16,9,10,10,14,14,11,11,11,14,13,10,10,11,14,14,13,13,13,16,16,13,13,14,14,17,9,10,10,13,14,10,11,11,13,15,10,11,10,14,14,13,13,13,14,17,13,14,13,17,14,12,13,13,16,14,13,14,13,16,15,12,12,13,15,16,15,15,16,18,16,15,13,15,14,0,12,12,13,14,16,13,13,14,15,16,11,12,11,16,14,15,16,16,17,17,14,15,12,17,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,12,12,6,8,8,11,10,8,10,10,11,11,8,9,10,11,11,10,11,11,14,13,10,11,11,13,13,5,8,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,9,11,11,15,14,10,12,12,15,14,10,12,11,15,14,13,14,14,16,16,12,14,13,17,15,9,11,11,14,15,10,11,12,14,16,10,11,12,14,16,12,13,14,16,16,13,13,15,15,18,5,8,8,11,11,8,10,10,12,12,8,10,10,12,13,11,12,12,14,14,11,12,12,15,15,8,10,10,13,13,10,12,12,13,13,10,12,12,14,14,12,13,13,15,15,12,13,13,16,16,7,10,10,12,12,10,12,11,13,13,10,12,12,13,14,12,13,12,15,14,12,13,13,16,16,10,12,12,17,16,12,13,13,16,15,11,13,13,17,17,15,15,15,16,17,14,15,15,19,19,10,12,12,15,16,11,13,12,15,18,11,13,13,16,16,14,15,15,17,17,14,15,15,17,19,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,16,15,11,12,12,14,15,7,10,10,13,13,10,12,12,14,13,10,11,12,13,13,12,13,13,16,16,12,12,13,15,15,8,10,10,13,13,10,12,12,14,14,10,12,12,13,13,12,13,13,16,16,12,13,13,15,15,10,12,12,16,15,11,13,13,17,16,11,12,13,16,15,13,15,15,19,17,14,15,14,17,16,10,12,12,16,16,11,13,13,16,17,12,13,13,15,17,14,15,15,17,19,14,15,15,17,17,8,11,11,16,16,10,13,12,17,17,10,12,13,16,16,15,17,16,20,19,14,15,17,18,19,9,12,12,16,17,11,13,14,17,18,11,13,13,19,18,16,17,18,19,19,15,16,16,19,19,9,12,12,16,17,11,14,13,18,17,11,13,13,17,17,16,17,16,20,19,14,16,16,18,18,12,15,15,19,17,14,15,16,0,20,13,15,16,20,17,18,16,20,0,0,15,16,19,20,0,12,15,14,18,19,13,16,15,20,19,13,16,15,20,18,17,18,17,0,20,16,17,16,0,0,8,11,11,16,15,10,12,12,17,17,10,13,13,17,16,14,16,15,18,20,15,16,16,19,19,9,12,12,16,16,11,13,13,17,16,11,13,14,17,18,15,15,16,20,20,16,16,17,19,19,9,13,12,16,17,11,14,13,17,17,11,14,14,18,17,14,16,15,18,19,16,17,18,18,19,12,14,15,19,18,13,15,16,18,0,13,14,15,0,0,16,16,17,20,0,17,17,20,20,0,12,15,15,19,20,13,15,15,0,0,14,16,15,0,0,15,18,16,0,0,17,18,16,0,19,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,8,8,5,7,7,6,8,8,7,8,8,4,7,7,7,8,8,7,8,8,7,8,8,8,9,10,8,10,10,6,8,8,8,10,8,8,10,10,5,7,7,7,8,8,7,8,8,6,8,8,8,10,10,8,8,10,6,8,8,8,10,10,8,10,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,11,11,8,10,10,5,8,8,8,11,10,8,11,11,4,8,8,8,11,11,8,11,11,8,12,11,11,13,13,11,13,14,7,11,11,10,13,12,11,13,14,4,8,8,8,11,11,8,11,12,8,11,11,11,13,13,10,12,13,8,11,11,11,14,13,11,14,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,13,14,13,17,12,15,17,5,5,6,10,10,11,15,16,4,3,3,7,5,7,10,16,7,7,7,10,9,11,12,16,6,5,5,9,5,6,10,16,8,7,7,9,6,7,9,16,11,7,3,6,4,5,8,16,12,9,4,8,5,7,9,16],"i8",O3,_.GLOBAL_BASE+155104),C3([2,0,0,0,64,0,0,0,184,148,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,96,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,136,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,176,135,2,0,0,0,0,0,0,0,0,0,0,0,0,0,216,135,2,0,0,0,0,0,0,136,2,0,40,136,2,0,0,0,0,0,0,0,0,0,80,136,2,0,120,136,2,0,160,136,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,248,134,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,12,9,14,9,9,19,6,1,5,5,8,7,9,19,12,4,4,7,7,9,11,18,9,5,6,6,8,7,8,17,14,8,7,8,8,10,12,18,9,6,8,6,8,6,8,18,9,8,11,8,11,7,5,15,16,18,18,18,17,15,11,18,4,0,0,0,81,0,0,0,80,148,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,148,2,0,0,0,0,0,4,0,0,0,81,0,0,0,232,147,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,148,2,0,0,0,0,0,4,0,0,0,113,2,0,0,88,145,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,147,2,0,0,0,0,0,4,0,0,0,113,2,0,0,200,142,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,145,2,0,0,0,0,0,2,0,0,0,81,0,0,0,72,142,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,142,2,0,0,0,0,0,2,0,0,0,169,0,0,0,96,141,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,16,142,2,0,0,0,0,0,2,0,0,0,25,0,0,0,40,141,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,72,141,2,0,0,0,0,0,4,0,0,0,113,2,0,0,152,138,2,0,1,0,0,0,0,32,21,225,0,32,245,96,3,0,0,0,0,0,0,0,16,141,2,0,0,0,0,0,2,0,0,0,169,0,0,0,176,137,2,0,1,0,0,0,0,128,211,224,0,0,122,96,4,0,0,0,0,0,0,0,96,138,2,0,0,0,0,0,2,0,0,0,169,0,0,0,200,136,2,0,1,0,0,0,0,0,88,224,0,0,16,96,4,0,0,0,0,0,0,0,120,137,2,0,0,0,0,0,3,4,4,6,6,7,7,8,8,9,9,9,8,4,5,5,6,6,8,8,9,8,9,9,9,9,4,5,5,7,6,8,8,8,8,9,8,9,8,6,7,7,7,8,8,8,9,9,9,9,9,9,6,7,7,7,7,8,8,9,9,9,9,9,9,7,8,8,8,8,9,8,9,9,10,9,9,10,7,8,8,8,8,9,9,9,9,9,9,10,10,8,9,9,9,9,9,9,9,9,10,10,9,10,8,9,9,9,9,9,9,9,9,9,9,10,10,9,9,9,10,9,9,10,9,9,10,10,10,10,9,9,9,9,9,9,9,10,9,10,10,10,10,9,9,9,10,9,9,10,10,9,10,10,10,10,9,9,9,10,9,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,6,6,9,8,9,8,8,8,5,7,7,7,7,8,8,8,10,8,10,8,9,5,7,7,8,7,7,8,10,10,11,10,12,11,7,8,8,9,9,9,10,11,11,11,11,11,11,7,8,8,8,9,9,9,10,10,10,11,11,12,7,8,8,9,9,10,11,11,12,11,12,11,11,7,8,8,9,9,10,10,11,11,11,12,12,11,8,10,10,10,10,11,11,14,11,12,12,12,13,9,10,10,10,10,12,11,14,11,14,11,12,13,10,11,11,11,11,13,11,14,14,13,13,13,14,11,11,11,12,11,12,12,12,13,14,14,13,14,12,11,12,12,12,12,13,13,13,14,13,14,14,11,12,12,14,12,13,13,12,13,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,3,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,5,5,4,5,5,6,5,5,6,5,6,6,5,6,6,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,10,10,11,11,15,15,4,5,5,8,8,9,9,11,11,12,12,16,16,4,5,6,8,8,9,9,11,11,12,12,14,14,7,8,8,9,9,10,10,11,12,13,13,16,17,7,8,8,9,9,10,10,12,12,12,13,15,15,9,10,10,10,10,11,11,12,12,13,13,15,16,9,9,9,10,10,11,11,13,12,13,13,17,17,10,11,11,11,12,12,12,13,13,14,15,0,18,10,11,11,12,12,12,13,14,13,14,14,17,16,11,12,12,13,13,14,14,14,14,15,16,17,16,11,12,12,13,13,14,14,14,14,15,15,17,17,14,15,15,16,16,16,17,17,16,0,17,0,18,14,15,15,16,16,0,15,18,18,0,16,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,4,6,5,8,7,8,8,10,9,4,6,6,8,8,8,8,10,10,7,8,7,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,8,8,8,9,9,10,10,11,11,8,8,8,9,9,10,10,11,11,9,10,10,11,10,11,11,12,12,9,10,10,10,11,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,9,9,5,6,6,10,9,5,6,6,9,10,10,10,10,12,11,9,10,10,12,12,5,7,7,10,10,7,7,8,10,11,7,7,8,10,11,10,10,11,11,13,10,10,11,11,13,6,7,7,10,10,7,8,7,11,10,7,8,7,10,10,10,11,9,13,11,10,11,10,13,11,10,10,10,14,13,10,11,11,14,13,10,10,11,13,14,12,12,13,15,15,12,12,13,13,14,10,10,10,12,13,10,11,10,13,13,10,11,11,13,13,12,13,12,14,13,12,13,13,14,13,5,7,7,10,10,7,8,8,11,10,7,8,8,10,10,11,11,11,13,13,10,11,11,12,12,7,8,8,11,11,7,8,9,10,12,8,9,9,11,11,11,10,12,11,14,11,11,12,13,13,6,8,8,10,11,7,9,7,12,10,8,9,10,11,12,10,12,10,14,11,11,12,11,13,13,10,11,11,14,14,10,10,11,13,14,11,12,12,15,13,12,11,14,12,16,12,13,14,15,16,10,10,11,13,14,10,11,10,14,12,11,12,12,13,14,12,13,11,15,12,14,14,14,15,15,5,7,7,10,10,7,8,8,10,10,7,8,8,10,11,10,11,10,12,12,10,11,11,12,13,6,8,8,11,11,8,9,9,12,11,7,7,9,10,12,11,11,11,12,13,11,10,12,11,15,7,8,8,11,11,8,9,9,11,11,7,9,8,12,10,11,12,11,13,12,11,12,10,15,11,10,11,10,14,12,11,12,11,14,13,10,10,11,13,14,13,13,13,17,15,12,11,14,12,15,10,10,11,13,14,11,12,12,14,14,10,11,10,14,13,13,14,13,16,17,12,14,11,16,12,9,10,10,14,13,10,11,10,14,14,10,11,11,13,13,13,14,14,16,15,12,13,13,14,14,9,11,10,14,13,10,10,12,13,14,11,12,11,14,13,13,14,14,14,15,13,14,14,15,15,9,10,11,13,14,10,11,10,15,13,11,11,12,12,15,13,14,12,15,14,13,13,14,14,15,12,13,12,16,14,11,11,12,15,14,13,15,13,16,14,13,12,15,12,17,15,16,15,16,16,12,12,13,13,15,11,13,11,15,14,13,13,14,15,17,13,14,12,0,13,14,15,14,15,0,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,12,14,14,13,14,14,15,17,9,10,10,13,13,11,12,11,15,12,10,10,11,13,16,13,14,13,15,14,13,13,14,15,16,10,10,11,13,14,11,11,12,13,14,10,12,11,14,14,13,13,13,14,15,13,15,13,16,15,12,13,12,15,13,12,15,13,15,15,11,11,13,14,15,15,15,15,15,17,13,12,14,13,17,12,12,14,14,15,13,13,14,14,16,11,13,11,16,15,14,16,16,17,0,14,13,11,16,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,5,8,7,9,9,5,7,8,9,9,9,10,9,12,12,9,9,10,11,12,6,8,8,10,10,8,10,10,11,11,8,9,10,11,11,10,11,11,13,13,10,11,11,12,13,6,8,8,10,10,8,10,9,11,11,8,10,10,11,11,10,11,11,13,12,10,11,11,13,12,9,11,11,15,13,10,12,11,15,13,10,11,11,15,14,12,14,13,16,15,12,13,13,17,16,9,11,11,13,15,10,11,12,14,15,10,11,12,14,15,12,13,13,15,16,12,13,13,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,11,10,13,12,10,11,12,12,13,10,12,12,13,13,12,12,13,13,15,11,12,13,15,14,7,10,10,12,12,9,12,11,13,12,10,12,12,13,14,12,13,12,15,13,11,13,12,14,15,10,12,12,16,14,11,12,12,16,15,11,13,12,17,16,13,13,15,15,17,13,15,15,20,17,10,12,12,14,16,11,12,12,15,15,11,13,13,15,18,13,14,13,15,15,13,15,14,16,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,15,7,10,10,13,12,10,12,12,14,13,9,10,12,12,13,11,13,13,15,15,11,12,13,13,15,8,10,10,12,13,10,12,12,13,13,10,12,11,13,13,11,13,12,15,15,12,13,12,15,13,10,12,12,16,14,11,12,12,16,15,10,12,12,16,14,14,15,14,18,16,13,13,14,15,16,10,12,12,14,16,11,13,13,16,16,11,13,12,14,16,13,15,15,18,18,13,15,13,16,14,8,11,11,16,16,10,13,13,17,16,10,12,12,16,15,14,16,15,20,17,13,14,14,17,17,9,12,12,16,16,11,13,14,16,17,11,13,13,16,16,15,15,19,18,0,14,15,15,18,18,9,12,12,17,16,11,13,12,17,16,11,12,13,15,17,15,16,15,0,19,14,15,14,19,18,12,14,14,0,16,13,14,14,19,18,13,15,16,17,16,15,15,17,18,0,14,16,16,19,0,12,14,14,16,18,13,15,13,17,18,13,15,14,17,18,15,18,14,18,18,16,17,16,0,17,8,11,11,15,15,10,12,12,16,16,10,13,13,16,16,13,15,14,17,17,14,15,17,17,18,9,12,12,16,15,11,13,13,16,16,11,12,13,17,17,14,14,15,17,17,14,15,16,0,18,9,12,12,16,17,11,13,13,16,17,11,14,13,18,17,14,16,14,17,17,15,17,17,18,18,12,14,14,0,16,13,15,15,19,0,12,13,15,0,0,14,17,16,19,0,16,15,18,18,0,12,14,14,17,0,13,14,14,17,0,13,15,14,0,18,15,16,16,0,18,15,18,15,0,17,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,8,6,7,9,5,7,7,6,8,7,7,9,8,4,7,7,7,9,8,7,8,8,7,9,8,8,8,10,9,10,10,6,8,8,7,10,8,9,10,10,5,7,7,7,8,8,7,8,9,6,8,8,9,10,10,7,8,10,6,8,9,9,10,10,8,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,8,7,5,7,8,5,8,8,8,10,11,8,10,11,5,8,8,8,11,10,8,11,10,4,9,9,8,11,11,8,11,11,8,12,11,10,12,14,11,13,13,7,11,11,10,13,11,11,13,14,4,8,9,8,11,11,8,11,12,7,11,11,11,14,13,10,11,13,8,11,12,11,13,13,10,14,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,12,12,14,12,14,14,14,14,12,6,6,8,9,9,11,14,12,4,2,6,6,7,11,14,13,6,5,7,8,9,11,14,13,8,5,8,6,8,12,14,12,7,7,8,8,8,10,14,12,6,3,4,4,4,7,14,11,7,4,6,6,6,8,14,1,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,7,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,64,65,0,0,72,65,0,0,80,65,0,0,88,65,0,0,96,65,0,0,104,65,0,0,112,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,0,0,128,63,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,8,0,0,0,6,0,0,0,6,0,0,0,5,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,64,64,0,0,128,64,0,0,128,64,0,0,160,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,128,64,0,0,128,64,0,0,160,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,1,0,0,0,0,0,0,0,0,0,192,64,0,0,192,64,0,0,192,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,32,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,2,0,0,0,2,0,0,0,2,0,0,0,1,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,64,0,0,224,64,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,32,65,0,0,32,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,64,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,47,1,0,32,161,2,0,200,47,1,0,96,161,2,0,200,47,1,0,160,161,2,0,200,47,1,0,224,161,2,0,200,47,1,0,32,162,2,0,200,47,1,0,96,162,2,0,200,47,1,0,160,162,2,0,200,47,1,0,224,162,2,0,200,47,1,0,32,163,2,0,200,47,1,0,96,163,2,0,200,47,1,0,160,163,2,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,216,86,4,0,0,87,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,168,88,4,0,208,88,4,0,40,87,4,0,232,87,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,248,5,4,0,32,6,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,200,7,4,0,240,7,4,0,72,6,4,0,8,7,4,0,2,0,0,0,0,0,0,0,16,0,0,0,64,171,3,0,88,182,3,0,128,182,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,32,0,0,0,64,171,3,0,40,184,3,0,80,184,3,0,168,182,3,0,104,183,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,152,128,3,0,152,128,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,128,129,3,0,128,129,3,0,192,128,3,0,192,128,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,176,85,3,0,176,85,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,152,86,3,0,152,86,3,0,216,85,3,0,216,85,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,32,42,3,0,32,42,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,43,3,0,8,43,3,0,72,42,3,0,72,42,3,0,2,0,0,0,0,0,0,0,16,0,0,0,24,73,1,0,8,254,2,0,8,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,240,254,2,0,240,254,2,0,48,254,2,0,48,254,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,235,2,0,8,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,235,2,0,240,235,2,0,48,235,2,0,48,235,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,8,216,2,0,8,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,240,216,2,0,240,216,2,0,48,216,2,0,48,216,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,168,195,2,0,168,195,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,144,196,2,0,144,196,2,0,208,195,2,0,208,195,2,0,2,0,0,0,0,0,0,0,16,0,0,0,224,163,2,0,248,174,2,0,248,174,2,0,32,175,2,0,32,175,2,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,224,175,2,0,224,175,2,0,32,175,2,0,32,175,2,0,0,0,0,0,255,255,255,255,255,255,255,255,10,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+165344),C3([1,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,3,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,71,0,0,0,157,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,64,195,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,192,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,232,176,2,0,0,0,0,0,16,177,2,0,56,177,2,0,0,0,0,0,0,0,0,0,96,177,2,0,136,177,2,0,0,0,0,0,0,0,0,0,176,177,2,0,216,177,2,0,0,0,0,0,0,0,0,0,0,178,2,0,40,178,2,0,0,0,0,0,0,0,0,0,80,178,2,0,120,178,2,0,160,178,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,8,176,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,14,15,15,15,13,15,15,6,5,8,10,12,12,13,12,14,13,10,6,5,6,8,9,11,11,13,13,13,8,5,4,5,6,8,10,11,13,14,10,7,5,4,5,7,9,11,12,13,11,8,6,5,4,5,7,9,11,12,11,10,8,7,5,4,5,9,10,13,13,11,10,8,6,5,4,7,9,15,14,13,12,10,9,8,7,8,9,12,12,14,13,12,11,10,9,8,9,0,0,0,0,4,0,0,0,81,0,0,0,216,194,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,48,195,2,0,0,0,0,0,4,0,0,0,113,2,0,0,72,192,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,194,2,0,0,0,0,0,2,0,0,0,81,0,0,0,200,191,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,192,2,0,0,0,0,0,2,0,0,0,33,1,0,0,88,190,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,128,191,2,0,0,0,0,0,4,0,0,0,81,0,0,0,240,189,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,72,190,2,0,0,0,0,0,2,0,0,0,121,0,0,0,64,189,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,192,189,2,0,0,0,0,0,2,0,0,0,169,0,0,0,88,188,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,189,2,0,0,0,0,0,2,0,0,0,25,0,0,0,32,188,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,188,2,0,0,0,0,0,2,0,0,0,169,0,0,0,56,187,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,232,187,2,0,0,0,0,0,2,0,0,0,121,0,0,0,136,186,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,187,2,0,0,0,0,0,2,0,0,0,225,0,0,0,96,185,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,72,186,2,0,0,0,0,0,2,0,0,0,185,1,0,0,72,183,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,8,185,2,0,0,0,0,0,2,0,0,0,105,1,0,0,136,181,2,0,1,0,0,0,128,93,176,225,0,24,61,97,5,0,0,0,0,0,0,0,248,182,2,0,0,0,0,0,2,0,0,0,105,1,0,0,200,179,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,56,181,2,0,0,0,0,0,1,0,0,0,49,0,0,0,200,178,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,0,179,2,0,0,0,0,0,2,4,4,5,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,8,7,9,8,9,9,10,10,11,11,11,11,6,5,5,8,8,9,9,9,8,10,9,11,10,12,12,13,12,13,13,5,5,5,8,8,9,9,9,9,10,10,11,11,12,12,13,12,13,13,17,8,8,9,9,9,9,9,9,10,10,12,11,13,12,13,13,13,13,18,8,8,9,9,9,9,9,9,11,11,12,12,13,13,13,13,13,13,17,13,12,9,9,10,10,10,10,11,11,12,12,12,13,13,13,14,14,18,13,12,9,9,10,10,10,10,11,11,12,12,13,13,13,14,14,14,17,18,18,10,10,10,10,11,11,11,12,12,12,14,13,14,13,13,14,18,18,18,10,9,10,9,11,11,12,12,12,12,13,13,15,14,14,14,18,18,16,13,14,10,11,11,11,12,13,13,13,13,14,13,13,14,14,18,18,18,14,12,11,9,11,10,13,12,13,13,13,14,14,14,13,14,18,18,17,18,18,11,12,12,12,13,13,14,13,14,14,13,14,14,14,18,18,18,18,17,12,10,12,9,13,11,13,14,14,14,14,14,15,14,18,18,17,17,18,14,15,12,13,13,13,14,13,14,14,15,14,15,14,18,17,18,18,18,15,15,12,10,14,10,14,14,13,13,14,14,14,14,18,16,18,18,18,18,17,14,14,13,14,14,13,13,14,14,14,15,15,18,18,18,18,17,17,17,14,14,14,12,14,13,14,14,15,14,15,14,18,18,18,18,18,18,18,17,16,13,13,13,14,14,14,14,15,16,15,18,18,18,18,18,18,18,17,17,13,13,13,13,14,13,14,15,15,15,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,5,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,4,6,6,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,10,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,9,10,9,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,8,9,9,10,10,11,10,6,5,5,7,7,9,9,8,9,10,10,11,11,12,12,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,21,7,8,8,8,9,9,9,9,10,10,11,11,12,12,21,8,8,8,8,9,9,9,9,10,10,11,11,12,12,21,11,12,9,9,10,10,10,10,10,11,11,12,12,12,21,12,12,9,8,10,10,10,10,11,11,12,12,13,13,21,21,21,9,9,9,9,11,11,11,11,12,12,12,13,21,20,20,9,9,9,9,10,11,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,20,20,12,12,12,12,12,12,13,13,14,14,20,20,20,20,20,12,12,12,11,13,12,13,13,14,14,20,20,20,20,20,15,16,13,12,13,13,14,13,14,14,20,20,20,20,20,16,15,12,12,13,12,14,13,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,5,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,7,6,6,6,6,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,8,8,6,6,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,10,10,11,11,6,4,4,6,6,8,8,9,9,10,10,12,12,6,4,5,6,6,8,8,9,9,10,10,12,12,20,6,6,6,6,8,8,9,10,11,11,12,12,20,6,6,6,6,8,8,10,10,11,11,12,12,20,10,10,7,7,9,9,10,10,11,11,12,12,20,11,11,7,7,9,9,10,10,11,11,12,12,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,9,9,9,9,11,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,13,13,10,10,11,11,12,13,13,13,20,20,20,20,19,12,12,12,12,13,13,14,15,19,19,19,19,19,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,4,4,5,5,5,4,4,5,5,5,4,4,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,9,9,5,4,4,6,6,8,8,9,9,9,9,10,10,6,4,4,6,6,8,8,9,9,9,9,10,10,0,6,6,7,7,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,10,10,11,11,0,10,10,8,8,9,9,10,10,11,11,12,12,0,11,11,8,8,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,7,7,8,8,11,5,5,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,8,8,8,11,11,11,6,6,7,7,7,7,8,8,11,11,11,7,7,7,7,7,7,8,8,11,11,11,10,10,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,7,7,11,11,11,11,11,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,9,10,10,10,10,9,4,6,7,9,10,10,10,9,10,5,9,9,9,11,11,10,11,11,7,10,9,11,12,11,12,12,12,7,9,10,11,11,12,12,12,12,6,10,10,10,12,12,10,12,11,7,10,10,11,12,12,11,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,6,6,7,7,8,8,9,9,10,10,10,10,0,5,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,6,5,6,6,7,7,8,8,9,9,10,10,11,11,11,12,0,0,0,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,0,0,7,7,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,7,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,3,4,4,5,5,6,6,8,8,0,4,4,5,5,6,7,8,8,0,4,4,5,5,7,7,8,8,0,5,5,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,6,7,7,9,8,0,8,8,9,9,0,8,7,9,9,0,9,10,10,10,0,0,0,11,10,6,7,7,8,9,0,8,8,9,9,0,7,8,9,9,0,10,9,11,10,0,0,0,10,10,8,9,8,10,10,0,10,10,12,11,0,10,10,11,11,0,12,13,13,13,0,0,0,13,12,8,8,9,10,10,0,10,10,11,12,0,10,10,11,11,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,10,10,0,7,7,10,9,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,9,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,9,9,11,11,0,10,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,8,9,10,11,11,0,9,10,11,11,0,10,10,11,11,0,12,12,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,10,10,0,7,7,10,10,0,7,7,10,9,0,9,9,10,10,0,0,0,10,10,6,7,8,10,10,0,7,7,10,10,0,7,7,9,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,11,0,10,10,12,11,0,10,9,11,11,0,11,12,12,12,0,0,0,12,12,8,9,10,11,12,0,10,10,11,11,0,9,10,11,11,0,12,11,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,12,12,0,9,9,12,11,0,9,9,11,11,0,10,10,12,11,0,0,0,11,12,7,9,10,12,12,0,9,9,11,12,0,9,9,11,11,0,10,10,11,12,0,0,0,11,11,9,11,10,13,12,0,10,10,12,12,0,10,10,12,12,0,11,11,12,12,0,0,0,13,12,9,10,11,12,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,10,13,13,0,10,10,12,12,0,10,10,12,12,0,11,12,12,12,0,0,0,12,12,9,10,11,13,13,0,10,10,12,12,0,10,10,12,12,0,12,11,13,12,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,6,8,8,0,9,8,0,9,8,6,8,8,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,8,8,0,7,7,0,8,8,5,8,8,0,7,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,7,7,5,8,9,0,8,8,0,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,13,18,16,17,17,19,18,19,19,5,7,10,11,12,12,13,16,17,18,6,6,7,7,9,9,10,14,17,19,8,7,6,5,6,7,9,12,19,17,8,7,7,6,5,6,8,11,15,19,9,8,7,6,5,5,6,8,13,15,11,10,8,8,7,5,4,4,10,14,12,13,11,9,7,6,4,2,6,12,18,16,16,13,8,7,7,5,8,13,16,17,18,15,11,9,9,8,10,13,0,0,0,0,2,0,0,0,100,0,0,0,160,215,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,32,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,72,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,112,197,2,0,0,0,0,0,0,0,0,0,0,0,0,0,152,197,2,0,0,0,0,0,192,197,2,0,232,197,2,0,0,0,0,0,0,0,0,0,16,198,2,0,56,198,2,0,0,0,0,0,0,0,0,0,96,198,2,0,136,198,2,0,0,0,0,0,0,0,0,0,176,198,2,0,216,198,2,0,0,0,0,0,0,0,0,0,0,199,2,0,40,199,2,0,80,199,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,184,196,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,12,13,14,14,14,13,14,14,6,4,5,8,10,10,11,11,14,13,9,5,4,5,7,8,9,10,13,13,12,7,5,4,5,6,8,9,12,13,13,9,6,5,5,5,7,9,11,14,12,10,7,6,5,4,6,7,10,11,12,11,9,8,7,5,5,6,10,10,13,12,10,9,8,6,6,5,8,10,14,13,12,12,11,10,9,7,8,10,12,13,14,14,13,12,11,9,9,10,0,0,0,0,4,0,0,0,81,0,0,0,56,215,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,215,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,212,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,215,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,212,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,212,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,210,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,211,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,210,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,210,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,209,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,210,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,208,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,209,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,208,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,208,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,207,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,208,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,206,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,207,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,205,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,206,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,203,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,205,2,0,0,0,0,0,2,0,0,0,33,1,0,0,56,202,2,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,96,203,2,0,0,0,0,0,2,0,0,0,105,1,0,0,120,200,2,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,232,201,2,0,0,0,0,0,1,0,0,0,49,0,0,0,120,199,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,176,199,2,0,0,0,0,0,2,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,6,7,7,7,7,8,8,9,9,10,10,10,10,11,11,6,6,6,8,8,9,8,8,7,10,8,11,10,12,11,12,12,13,13,5,5,6,8,8,9,9,8,8,10,9,11,11,12,12,13,13,13,13,17,8,8,9,9,9,9,9,9,10,9,12,10,12,12,13,12,13,13,17,9,8,9,9,9,9,9,9,10,10,12,12,12,12,13,13,13,13,17,13,13,9,9,10,10,10,10,11,11,12,11,13,12,13,13,14,15,17,13,13,9,8,10,9,10,10,11,11,12,12,14,13,15,13,14,15,17,17,17,9,10,9,10,11,11,12,12,12,12,13,13,14,14,15,15,17,17,17,9,8,9,8,11,11,12,12,12,12,14,13,14,14,14,15,17,17,17,12,14,9,10,11,11,12,12,14,13,13,14,15,13,15,15,17,17,17,13,11,10,8,11,9,13,12,13,13,13,13,13,14,14,14,17,17,17,17,17,11,12,11,11,13,13,14,13,15,14,13,15,16,15,17,17,17,17,17,11,11,12,8,13,12,14,13,17,14,15,14,15,14,17,17,17,17,17,15,15,12,12,12,12,13,14,14,14,15,14,17,14,17,17,17,17,17,16,17,12,12,13,12,13,13,14,14,14,14,14,14,17,17,17,17,17,17,17,14,14,13,12,13,13,15,15,14,13,15,17,17,17,17,17,17,17,17,13,14,13,13,13,13,14,15,15,15,14,15,17,17,17,17,17,17,17,16,15,13,14,13,13,14,14,15,14,14,16,17,17,17,17,17,17,17,16,16,13,14,13,13,14,14,15,14,15,14,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,4,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,4,5,5,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,9,9,9,9,9,9,10,10,10,10,10,10,10,9,10,10,9,10,10,10,10,9,10,9,10,10,9,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,9,9,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,9,10,9,9,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,6,8,8,8,7,9,8,10,10,11,10,6,5,5,7,7,9,9,8,8,10,10,11,11,12,11,6,5,5,7,7,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,8,8,8,8,10,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,10,11,12,12,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,11,10,11,11,12,12,12,13,20,19,19,9,9,9,9,11,11,11,12,12,12,13,13,19,19,19,13,13,10,10,11,11,12,12,13,13,13,13,19,19,19,14,13,11,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,12,13,13,13,13,14,13,19,19,19,19,19,12,12,12,11,12,12,13,14,14,14,19,19,19,19,19,16,15,13,12,13,13,13,14,14,14,19,19,19,19,19,17,17,13,12,13,11,14,13,15,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,6,6,6,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,21,7,7,7,7,8,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,11,11,8,8,9,9,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,13,13,13,21,21,21,10,10,10,10,11,11,13,13,14,13,21,21,21,13,13,11,11,12,12,13,13,14,14,21,21,21,14,14,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,12,14,14,16,15,20,20,20,20,20,13,13,13,13,14,13,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,9,9,10,10,11,11,6,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,7,7,7,7,9,9,10,10,10,10,11,11,0,11,11,9,9,10,10,11,11,11,11,12,12,0,12,12,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,5,6,6,7,7,8,8,8,8,11,5,5,6,6,7,7,8,8,8,9,12,5,5,6,6,7,7,8,8,9,9,12,12,12,6,6,7,7,8,8,9,9,11,11,11,6,6,7,7,8,8,8,8,11,11,11,6,6,7,7,8,8,8,8,11,11,11,7,7,7,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,11,11,11,11,11,7,7,7,7,8,8,11,11,11,11,11,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,7,6,10,10,10,10,10,10,4,6,6,10,10,10,10,9,10,5,10,10,9,11,11,10,11,11,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,10,12,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,8,10,10,11,11,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,11,11,0,6,5,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,6,6,7,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,12,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,7,10,9,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,7,8,9,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,10,12],"i8",O3,_.GLOBAL_BASE+175348),C3([11,0,11,10,12,12,0,13,13,14,14,0,0,0,14,13,8,9,9,10,11,0,10,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,11,10,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,8,10,9,12,12,0,10,10,12,11,0,10,10,12,12,0,12,12,13,12,0,0,0,13,12,8,9,10,12,12,0,10,10,11,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,10,10,6,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,10,0,0,0,10,10,9,10,9,12,12,0,10,10,12,12,0,10,10,12,11,0,12,12,13,13,0,0,0,13,12,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,10,10,13,12,0,11,10,13,12,0,12,12,13,12,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,10,11,13,13,0,12,12,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,11,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,7,7,0,9,8,0,9,8,6,7,7,0,8,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,13,14,15,15,18,17,19,17,5,6,8,9,10,10,12,15,19,19,6,6,6,6,8,8,11,14,18,19,8,6,5,4,6,7,10,13,16,17,9,7,6,5,6,7,9,12,15,19,10,8,7,6,6,6,7,9,13,15,12,10,9,8,7,6,4,5,10,15,13,13,11,8,6,6,4,2,7,12,17,15,16,10,8,8,7,6,9,12,19,18,17,13,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,234,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,217,2,0,0,0,0,0,32,218,2,0,72,218,2,0,0,0,0,0,0,0,0,0,112,218,2,0,152,218,2,0,0,0,0,0,0,0,0,0,192,218,2,0,232,218,2,0,0,0,0,0,0,0,0,0,16,219,2,0,56,219,2,0,0,0,0,0,0,0,0,0,96,219,2,0,136,219,2,0,176,219,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,217,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,15,14,14,13,15,14,6,4,5,7,9,10,11,11,14,13,10,4,3,5,7,8,9,10,13,13,12,7,4,4,5,6,8,9,12,14,13,9,6,5,5,6,8,9,12,14,12,9,7,6,5,5,6,8,11,11,12,11,9,8,7,6,6,7,10,11,13,11,10,9,8,7,6,6,9,11,13,13,12,12,12,10,9,8,9,11,12,14,15,15,14,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,234,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,234,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,231,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,234,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,231,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,231,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,229,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,230,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,229,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,229,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,228,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,229,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,227,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,228,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,227,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,227,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,226,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,227,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,225,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,226,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,224,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,225,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,222,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,224,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,221,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,222,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,220,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,221,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,219,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,220,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,9,8,8,7,9,8,11,10,5,6,6,8,8,9,8,8,8,10,9,11,11,16,8,8,9,8,9,9,9,8,10,9,11,10,16,8,8,9,9,10,10,9,9,10,10,11,11,16,13,13,9,9,10,10,9,10,11,11,12,11,16,13,13,9,8,10,9,10,10,10,10,11,11,16,14,16,8,9,9,9,11,10,11,11,12,11,16,16,16,9,7,10,7,11,10,11,11,12,11,16,16,16,12,12,9,10,11,11,12,11,12,12,16,16,16,12,10,10,7,11,8,12,11,12,12,16,16,15,16,16,11,12,10,10,12,11,12,12,16,16,16,15,15,11,11,10,10,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,6,6,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,7,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,10,10,9,9,9,9,9,9,9,9,9,9,10,9,9,10,9,9,10,11,10,11,10,9,9,9,9,9,9,9,10,10,10,9,10,9,9,9,9,11,10,11,10,10,9,9,9,9,9,9,10,9,9,10,9,9,10,9,9,10,11,10,10,11,10,9,9,9,9,9,10,10,9,10,10,10,10,9,10,10,10,10,10,10,11,11,11,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,9,10,11,11,10,11,10,11,10,9,10,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,10,11,11,10,10,10,10,10,10,9,10,9,10,10,9,10,9,10,10,10,11,10,11,10,11,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,10,11,11,10,10,10,10,9,9,10,10,9,9,10,9,10,10,10,10,11,11,10,10,10,10,10,10,10,9,9,10,10,10,9,9,10,10,10,10,10,11,10,11,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,7,9,8,9,9,10,10,6,5,5,7,7,9,9,8,8,10,9,11,10,12,11,6,5,5,8,7,9,9,8,8,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,11,19,8,8,8,8,10,10,9,9,10,10,11,11,12,12,19,12,12,9,9,10,10,9,10,10,10,11,11,12,12,19,12,12,9,9,10,10,10,10,10,10,12,12,12,12,19,19,19,9,9,9,9,11,10,11,11,12,11,13,13,19,19,19,9,9,9,9,11,10,11,11,11,12,13,13,19,19,19,13,13,10,10,11,11,12,12,12,12,13,12,19,19,19,14,13,10,10,11,11,12,12,12,13,13,13,19,19,19,19,19,12,12,12,11,12,13,14,13,13,13,19,19,19,19,19,12,12,12,11,12,12,13,14,13,14,19,19,19,19,19,16,16,12,13,12,13,13,14,15,14,19,18,18,18,18,16,15,12,11,12,11,14,12,14,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,4,5,5,6,6,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,6,6,6,7,7,7,7,7,7,7,8,6,6,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,7,7,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,8,8,8,8,8,7,7,7,7,7,7,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,7,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,10,11,11,12,12,7,5,5,7,7,8,8,10,10,11,11,12,12,20,7,7,7,7,8,9,10,10,11,11,12,13,20,7,7,7,7,9,9,10,10,11,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,11,11,8,8,9,9,11,11,12,12,13,13,20,20,20,10,10,10,10,12,12,13,13,13,13,20,20,20,10,10,10,10,12,12,13,13,13,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,14,14,11,11,12,12,13,13,14,14,20,20,20,20,19,13,13,13,13,14,14,15,14,19,19,19,19,19,13,13,13,13,14,14,15,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,8,10,10,6,5,5,7,7,8,8,9,9,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,7,7,7,7,9,8,9,9,10,10,11,11,0,8,8,7,7,8,9,9,9,10,10,11,11,0,11,11,9,9,10,10,11,10,11,11,12,12,0,12,12,9,9,10,10,11,11,11,11,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,9,9,11,4,4,6,6,7,7,8,8,9,9,12,5,5,6,6,7,7,9,9,9,9,12,12,12,6,6,7,7,9,9,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,7,7,8,8,9,9,11,11,11,7,7,8,8,8,8,9,9,11,11,11,11,11,8,8,8,8,8,9,11,11,11,11,11,8,8,8,8,8,8,11,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,7,10,10,10,10,10,9,4,6,6,10,10,10,10,9,10,5,10,10,9,11,12,10,11,12,7,10,10,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,10,10,12,12,12,12,11,12,7,10,10,11,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,7,7,8,8,8,8,9,9,10,10,11,11,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,4,4,6,6,7,7,8,8,9,9,10,10,11,11,12,12,0,5,5,6,6,8,8,9,9,9,9,10,10,11,12,12,12,0,0,0,6,6,8,7,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,13,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,5,5,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,5,5,6,6,8,8,10,10,0,0,0,6,6,8,8,10,10,0,0,0,7,7,9,9,10,10,0,0,0,7,7,8,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,10,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,10,11,0,11,11,12,12,0,10,11,12,12,0,13,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,12,12,0,10,10,11,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,10,11,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,13,12,9,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,12,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,12,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,13,12,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,12,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,10,11,13,13,0,11,10,13,13,0,12,12,13,13,0,0,0,13,12,9,11,11,14,14,0,11,10,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,11,12,14,15,15,17,17,18,18,5,6,6,8,9,10,13,17,18,19,7,5,4,6,8,9,11,15,19,19,8,6,5,5,6,7,11,14,16,17,9,7,7,6,7,7,10,13,15,19,10,8,7,6,7,6,7,9,14,16,12,10,9,7,7,6,4,5,10,15,14,13,11,7,6,6,4,2,7,13,16,16,15,9,8,8,8,6,9,13,19,19,17,12,11,10,10,9,11,14,0,0,0,0,2,0,0,0,100,0,0,0,160,253,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,236,2,0,0,0,0,0,32,237,2,0,72,237,2,0,0,0,0,0,0,0,0,0,112,237,2,0,152,237,2,0,0,0,0,0,0,0,0,0,192,237,2,0,232,237,2,0,0,0,0,0,0,0,0,0,16,238,2,0,56,238,2,0,0,0,0,0,0,0,0,0,96,238,2,0,136,238,2,0,176,238,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,236,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,11,13,14,14,13,13,16,14,6,3,4,7,9,9,10,11,14,13,10,4,3,5,7,7,9,10,13,15,12,7,4,4,6,6,8,10,13,15,12,8,6,6,6,6,8,10,13,14,11,9,7,6,6,6,7,8,12,11,13,10,9,8,7,6,6,7,11,11,13,11,10,9,9,7,7,6,10,11,13,13,13,13,13,11,9,8,10,12,12,15,15,16,15,12,11,10,10,12,0,0,0,0,4,0,0,0,81,0,0,0,56,253,2,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,144,253,2,0,0,0,0,0,4,0,0,0,113,2,0,0,168,250,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,32,253,2,0,0,0,0,0,2,0,0,0,81,0,0,0,40,250,2,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,250,2,0,0,0,0,0,2,0,0,0,33,1,0,0,184,248,2,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,249,2,0,0,0,0,0,4,0,0,0,81,0,0,0,80,248,2,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,248,2,0,0,0,0,0,2,0,0,0,121,0,0,0,160,247,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,248,2,0,0,0,0,0,2,0,0,0,169,0,0,0,184,246,2,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,247,2,0,0,0,0,0,2,0,0,0,25,0,0,0,128,246,2,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,246,2,0,0,0,0,0,2,0,0,0,169,0,0,0,152,245,2,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,72,246,2,0,0,0,0,0,2,0,0,0,121,0,0,0,232,244,2,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,245,2,0,0,0,0,0,2,0,0,0,225,0,0,0,192,243,2,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,168,244,2,0,0,0,0,0,2,0,0,0,185,1,0,0,168,241,2,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,104,243,2,0,0,0,0,0,2,0,0,0,169,0,0,0,192,240,2,0,1,0,0,0,0,220,125,225,0,232,51,97,4,0,0,0,0,0,0,0,112,241,2,0,0,0,0,0,2,0,0,0,169,0,0,0,216,239,2,0,1,0,0,0,0,96,18,225,0,128,184,96,4,0,0,0,0,0,0,0,136,240,2,0,0,0,0,0,1,0,0,0,49,0,0,0,216,238,2,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,16,239,2,0,0,0,0,0,2,4,3,4,5,5,5,6,6,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,8,8,6,6,6,8,8,8,8,8,7,9,8,10,10,5,6,6,8,8,9,9,8,8,10,10,10,10,16,9,9,9,9,9,9,9,8,10,9,11,11,16,8,9,9,9,9,9,9,9,10,10,11,11,16,13,13,9,9,10,9,9,10,11,11,11,12,16,13,14,9,8,10,8,9,9,10,10,12,11,16,14,16,9,9,9,9,11,11,12,11,12,11,16,16,16,9,7,9,6,11,11,11,10,11,11,16,16,16,11,12,9,10,11,11,12,11,13,13,16,16,16,12,11,10,7,12,10,12,12,12,12,16,16,15,16,16,10,11,10,11,13,13,14,12,16,16,16,15,15,12,10,11,11,13,11,12,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,11,11,11,11,4,7,7,11,11,11,11,11,11,11,11,11,11,5,8,9,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,7,8,8,8,8,8,8,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,8,8,9,8,9,9,9,9,9,9,9,9,10,7,7,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,10,11,11,8,7,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,9,9,9,9,9,9,10,9,9,10,9,10,9,9,10,9,11,11,11,11,11,9,9,9,9,9,9,9,10,10,10,10,9,10,10,9,10,11,11,11,11,11,9,9,9,9,10,10,10,9,10,10,10,10,9,10,10,9,11,11,11,11,11,11,11,9,9,9,9,10,10,10,10,9,10,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,10,10,10,10,10,9,10,9,10,10,11,11,11,11,11,11,11,10,9,10,9,10,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,9,10,10,10,10,10,9,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,9,10,10,11,11,11,11,11,11,11,11,11,10,10,10,9,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,10,11,9,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,8,7,9,8,10,9,6,5,5,8,8,9,9,8,8,9,9,11,10,11,10,6,5,5,8,8,9,9,8,8,9,9,10,10,11,11,18,8,8,9,8,10,10,9,9,10,10,10,10,11,10,18,8,8,9,9,10,10,9,9,10,10,11,11,12,12,18,12,13,9,10,10,10,9,10,10,10,11,11,12,11,18,13,13,9,9,10,10,10,10,10,10,11,11,12,12,18,18,18,10,10,9,9,11,11,11,11,11,12,12,12,18,18,18,10,9,10,9,11,10,11,11,11,11,13,12,18,18,18,14,13,10,10,11,11,12,12,12,12,12,12,18,18,18,14,13,10,10,11,10,12,12,12,12,12,12,18,18,18,18,18,12,12,11,11,12,12,13,13,13,14,18,18,18,18,18,12,12,11,11,12,11,13,13,14,13,18,18,18,18,18,16,16,11,12,12,13,13,13,14,13,18,18,18,18,18,16,15,12,11,12,11,13,11,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,6,6,7,7,7,7,7,7,9,5,5,6,6,7,7,7,7,8,7,8,5,5,6,6,7,7,7,7,7,7,9,6,6,7,7,7,7,8,7,7,8,9,9,9,7,7,7,7,7,7,7,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,9,8,8,8,7,7,8,8,9,9,9,8,8,8,8,7,7,8,8,9,9,9,8,8,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,10,11,10,6,5,5,7,7,8,8,9,9,10,10,12,11,6,5,5,7,7,8,8,9,9,10,10,12,11,21,7,7,7,7,9,9,10,10,11,11,12,12,21,7,7,7,7,9,9,10,10,11,11,12,12,21,12,12,9,9,10,10,11,11,11,11,12,12,21,12,12,9,9,10,10,11,11,12,12,12,12,21,21,21,11,11,10,10,11,12,12,12,13,13,21,21,21,11,11,10,10,12,12,12,12,13,13,21,21,21,15,15,11,11,12,12,13,13,13,13,21,21,21,15,16,11,11,12,12,13,13,14,14,21,21,21,21,20,13,13,13,13,13,13,14,14,20,20,20,20,20,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,4,4,5,5,5,4,4,5,5,5,4,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,10,9,10,10,6,5,5,7,7,9,9,9,9,10,10,11,11,6,5,5,7,7,9,9,10,9,11,10,11,11,0,6,6,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,12,12,0,11,12,9,8,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,3,5,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,4,4,6,6,7,7,8,8,8,8,11,6,6,6,6,8,8,8,8,9,9,11,11,11,6,6,7,8,8,8,8,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,8,8,11,11,11,8,8,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,8,8,8,8,8,8,11,11,11,10,10,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,9,9,10,10,10,9,4,6,6,9,10,9,10,9,10,6,9,9,10,12,11,10,11,11,7,10,9,11,12,12,12,12,12,7,10,10,11,12,12,12,12,12,6,10,10,10,12,12,11,12,12,7,9,10,11,12,12,12,12,12,7,10,9,12,12,12,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,9,9,9,10,10,10,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,10,0,4,4,6,6,7,7,10,9,0,5,5,7,7,8,8,10,10,0,0,0,7,6,8,8,10,10,0,0,0,7,7,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,0,5,5,8,8,0,5,5,8,8,0,7,7,9,9,0,0,0,9,9,5,7,7,9,9,0,8,8,10,10,0,8,7,10,9,0,10,10,11,11,0,0,0,11,11,5,7,7,9,9,0,8,8,10,10,0,7,8,9,10,0,10,10,11,11,0,0,0,11,11,8,9,9,11,11,0,11,11,12,12,0,11,10,12,12,0,13,14,14,14,0,0,0,14,13,8,9,9,11,11,0,11,11,12,12,0,10,11,12,12,0,14,13,14,14,0,0,0,13,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,11,10,0,7,7,10,10,0,7,7,10,10,0,9,9,11,10,0,0,0,11,11,5,7,8,10,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,11,8,10,9,12,12,0,10,10,12,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,8,9,10,12,12,0,10,10,11,12,0,10,10,12,12,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,10,11,0,0,0,11,10,5,8,8,11,11,0,7,7,10,10,0,7,7,10,10,0,9,9,11,11,0,0,0,10,11,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,12,13,13,13,0,0,0,14,13,8,10,10,12,12,0,10,10,12,12,0,10,10,12,12,0,13,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,14,13,0,9,9,13,12,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,7,10,10,13,14,0,9,9,12,13,0,9,9,12,12,0,10,10,12,12,0,0,0,12,12,9,11,11,14,13,0,11,10,14,13,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,9,11,11,13,14,0,10,11,13,14,0,11,11,13,13,0,12,12,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,11,11,14,14,0,11,11,13,13,0,11,10,13,13,0,12,12,13,13],"i8",O3,_.GLOBAL_BASE+185588),C3([13,13,9,11,11,14,14,0,11,11,13,13,0,10,11,13,13,0,12,12,14,13,0,0,0,13,13,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,5,5,0,5,5,5,8,7,0,9,9,0,9,8,5,7,8,0,9,9,0,8,9,0,0,0,0,0,0,0,0,0,5,9,8,0,8,8,0,8,8,5,8,9,0,8,8,0,8,8,0,0,0,0,0,0,0,0,0,5,9,9,0,8,8,0,8,8,5,9,9,0,8,8,0,8,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,11,11,13,14,19,17,17,19,5,4,5,8,10,10,13,16,18,19,7,4,4,5,8,9,12,14,17,19,8,6,5,5,7,7,10,13,16,18,10,8,7,6,5,5,8,11,17,19,11,9,7,7,5,4,5,8,17,19,13,11,8,7,7,5,5,7,16,18,14,13,8,6,6,5,5,7,16,18,18,16,10,8,8,7,7,9,16,18,18,18,12,10,10,9,9,10,17,18,0,0,0,0,2,0,0,0,100,0,0,0,184,41,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,128,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,168,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,208,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,248,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,32,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,72,0,3,0,0,0,0,0,112,0,3,0,152,0,3,0,0,0,0,0,0,0,0,0,192,0,3,0,232,0,3,0,0,0,0,0,0,0,0,0,16,1,3,0,56,1,3,0,96,1,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,24,255,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,8,9,13,10,12,12,12,12,12,6,4,6,8,6,8,10,10,11,12,8,5,4,10,4,7,8,9,10,11,13,8,10,8,9,9,11,12,13,14,10,6,4,9,3,5,6,8,10,11,11,8,6,9,5,5,6,7,9,11,12,9,7,11,6,6,6,7,8,10,12,11,9,12,7,7,6,6,7,9,13,12,10,13,9,8,7,7,7,8,11,15,11,15,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,0,16,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,41,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,13,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,15,3,0,0,0,0,0,4,0,0,0,113,2,0,0,224,10,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,13,3,0,0,0,0,0,2,0,0,0,81,0,0,0,96,10,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,10,3,0,0,0,0,0,2,0,0,0,81,0,0,0,224,9,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,10,3,0,0,0,0,0,2,0,0,0,33,1,0,0,112,8,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,9,3,0,0,0,0,0,4,0,0,0,81,0,0,0,8,8,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,8,3,0,0,0,0,0,2,0,0,0,121,0,0,0,88,7,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,7,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,6,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,7,3,0,0,0,0,0,2,0,0,0,25,0,0,0,56,6,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,6,3,0,0,0,0,0,2,0,0,0,225,0,0,0,16,5,3,0,1,0,0,0,0,134,115,225,0,80,22,97,4,0,0,0,0,0,0,0,248,5,3,0,0,0,0,0,2,0,0,0,33,1,0,0,160,3,3,0,1,0,0,0,0,0,245,224,0,0,149,96,5,0,0,0,0,0,0,0,200,4,3,0,0,0,0,0,2,0,0,0,185,1,0,0,136,1,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,72,3,3,0,0,0,0,0,3,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,9,11,5,6,7,7,8,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,5,5,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,11,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,10,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,11,10,11,11,6,5,5,7,7,8,9,10,10,11,10,12,11,12,11,13,12,6,5,5,7,7,9,9,10,10,11,11,12,12,13,12,13,13,18,8,8,8,8,9,9,10,11,11,11,12,11,13,11,13,12,18,8,8,8,8,10,10,11,11,12,12,13,13,13,13,13,14,18,12,12,9,9,11,11,11,11,12,12,13,12,13,12,13,13,20,13,12,9,9,11,11,11,11,12,12,13,13,13,14,14,13,20,18,19,11,12,11,11,12,12,13,13,13,13,13,13,14,13,18,19,19,12,11,11,11,12,12,13,12,13,13,13,14,14,13,18,17,19,14,15,12,12,12,13,13,13,14,14,14,14,14,14,19,19,19,16,15,12,11,13,12,14,14,14,13,13,14,14,14,19,18,19,18,19,13,13,13,13,14,14,14,13,14,14,14,14,18,17,19,19,19,13,13,13,11,13,11,13,14,14,14,14,14,19,17,17,18,18,16,16,13,13,13,13,14,13,15,15,14,14,19,19,17,17,18,16,16,13,11,14,10,13,12,14,14,14,14,19,19,19,19,19,18,17,13,14,13,11,14,13,14,14,15,15,19,19,19,17,19,18,18,14,13,12,11,14,11,15,15,15,15,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,13,13,4,7,7,13,13,13,13,13,13,13,13,13,13,13,13,3,8,6,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,9,10,10,10,10,7,5,5,7,7,8,8,9,9,10,10,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,10,10,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,11,11,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,9,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,7,7,8,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,12,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,13,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,6,6,7,7,7,7,9,9,0,0,0,7,6,7,7,9,9,0,0,0,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,5,5,0,0,0,5,5,0,0,0,8,7,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,7,0,0,0,10,10,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,7,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,5,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,9,10,0,0,0,11,10,0,0,0,0,0,0,0,8,10,10,0,0,0,10,10,0,0,0,10,10,0,0,0,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,4,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+195830),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,8,10,14,11,11,12,16,15,17,5,5,7,9,7,8,10,13,17,17,7,5,5,10,5,7,8,11,13,15,10,8,10,8,8,8,11,15,18,18,8,5,5,8,3,4,6,10,14,16,9,7,6,7,4,3,5,9,14,18,10,9,8,10,6,5,6,9,14,18,12,12,11,12,8,7,8,11,14,18,14,13,12,10,7,5,6,9,14,18,14,14,13,10,6,5,6,8,11,16,0,0,0,0,2,0,0,0,100,0,0,0,72,85,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,192,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,232,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,16,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,44,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,44,3,0,0,0,0,0,136,44,3,0,176,44,3,0,0,0,0,0,0,0,0,0,216,44,3,0,0,45,3,0,0,0,0,0,0,0,0,0,40,45,3,0,80,45,3,0,120,45,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,43,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,11,11,11,11,10,11,12,11,5,2,11,5,6,6,7,9,11,12,11,9,6,10,6,7,8,9,10,11,11,5,11,7,8,8,9,11,13,14,11,6,5,8,4,5,7,8,10,11,10,6,7,7,5,5,6,8,9,11,10,7,8,9,6,6,6,7,8,9,11,9,9,11,7,7,6,6,7,9,12,12,10,13,9,8,7,7,7,8,11,13,11,14,11,10,9,8,7,7,0,0,0,0,8,0,0,0,161,25,0,0,144,59,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,85,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,57,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,59,3,0,0,0,0,0,4,0,0,0,113,2,0,0,112,54,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,56,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,54,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,53,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,53,3,0,0,0,0,0,2,0,0,0,33,1,0,0,0,52,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,40,53,3,0,0,0,0,0,4,0,0,0,81,0,0,0,152,51,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,240,51,3,0,0,0,0,0,2,0,0,0,121,0,0,0,232,50,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,104,51,3,0,0,0,0,0,2,0,0,0,169,0,0,0,0,50,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,176,50,3,0,0,0,0,0,2,0,0,0,25,0,0,0,200,49,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,49,3,0,0,0,0,0,2,0,0,0,169,0,0,0,224,48,3,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,144,49,3,0,0,0,0,0,2,0,0,0,225,0,0,0,184,47,3,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,160,48,3,0,0,0,0,0,2,0,0,0,185,1,0,0,160,45,3,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,96,47,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,9,9,9,9,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,10,11,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,7,7,7,7,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,12,11,11,7,7,8,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,12,11,12,8,8,8,8,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,8,8,8,8,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,12,9,9,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,12,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,12,11,11,11,9,10,10,10,10,10,10,10,10,10,10,10,10,10,11,12,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,12,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,12,12,12,11,11,11,12,11,11,11,10,10,10,10,10,10,10,10,10,10,10,12,11,12,12,12,12,12,11,12,11,11,10,10,10,10,10,10,10,10,10,10,12,12,12,12,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,5,5,7,7,9,8,10,9,10,10,10,10,6,5,5,7,7,9,8,10,9,11,10,12,12,13,13,6,5,5,7,7,9,9,10,10,11,11,12,12,12,13,19,8,8,8,8,9,9,10,10,12,11,12,12,13,13,19,8,8,8,8,9,9,11,11,12,12,13,13,13,13,19,12,12,9,9,11,11,11,11,12,11,13,12,13,13,18,12,12,9,9,11,10,11,11,12,12,12,13,13,14,19,18,18,11,11,11,11,12,12,13,12,13,13,14,14,16,18,18,11,11,11,10,12,11,13,13,13,13,13,14,17,18,18,14,15,11,12,12,13,13,13,13,14,14,14,18,18,18,15,15,12,10,13,10,13,13,13,13,13,14,18,17,18,17,18,12,13,12,13,13,13,14,14,16,14,18,17,18,18,17,13,12,13,10,12,12,14,14,14,14,17,18,18,18,18,14,15,12,12,13,12,14,14,15,15,18,18,18,17,18,15,14,12,11,12,12,14,14,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,3,3,12,12,12,12,12,12,12,12,12,12,4,7,7,12,12,12,12,12,12,12,12,12,12,3,8,8,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,5,4,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,10,11,11,7,5,5,7,7,8,8,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,9,10,10,10,10,11,11,0,13,13,9,9,10,9,10,10,11,11,11,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,10,10,11,11,12,12,0,0,0,14,14,11,11,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,12,13,0,0,0,0,0,12,12,12,12,12,12,13,13,0,0,0,0,0,13,12,12,12,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,11,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,12,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,4,4,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,4,4,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,9,9,10,10,11,11,11,12,12,12,0,0,0,0,0,10,10,10,10,11,11,11,11,12,12,13,12,0,0,0,0,0,0,0,10,10,11,11,11,11,12,12,12,12,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,3,3,6,6,7,7,9,9,0,4,4,6,6,7,7,9,9,0,4,5,6,6,7,7,9,9,0,6,6,7,7,8,8,10,10,0,0,0,7,7,8,8,10,9,0,0,0,9,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,8,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+207264),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,14,10,15,10,12,15,16,15,4,2,11,5,10,6,8,11,14,14,14,10,7,11,6,8,10,11,13,15,9,4,11,5,9,6,9,12,14,15,14,9,6,9,4,5,7,10,12,13,9,5,7,6,5,5,7,10,13,13,10,8,9,8,7,6,8,10,14,14,13,11,10,10,7,7,8,11,14,15,13,12,9,9,6,5,7,10,14,17,15,13,11,10,6,6,7,9,12,17,0,0,0,0,2,0,0,0,100,0,0,0,48,128,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,87,3,0,0,0,0,0,0,0,0,0,0,0,0,0,240,87,3,0,0,0,0,0,24,88,3,0,64,88,3,0,0,0,0,0,0,0,0,0,104,88,3,0,144,88,3,0,0,0,0,0,0,0,0,0,184,88,3,0,224,88,3,0,8,89,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,86,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,6,11,11,11,11,10,10,12,11,5,2,11,5,6,6,7,9,11,13,13,10,7,11,6,7,8,9,10,12,11,5,11,6,8,7,9,11,14,15,11,6,6,8,4,5,7,8,10,13,10,5,7,7,5,5,6,8,10,11,10,7,7,8,6,5,5,7,9,9,11,8,8,11,8,7,6,6,7,9,12,11,10,13,9,9,7,7,7,9,11,13,12,15,12,11,9,8,8,8,0,0,0,0,8,0,0,0,161,25,0,0,120,102,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,128,3,0,0,0,0,0,4,0,0,0,113,2,0,0,232,99,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,102,3,0,0,0,0,0,4,0,0,0,113,2,0,0,88,97,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,99,3,0,0,0,0,0,2,0,0,0,81,0,0,0,216,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,48,97,3,0,0,0,0,0,2,0,0,0,81,0,0,0,88,96,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,176,96,3,0,0,0,0,0,2,0,0,0,33,1,0,0,232,94,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,16,96,3,0,0,0,0,0,4,0,0,0,81,0,0,0,128,94,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,216,94,3,0,0,0,0,0,2,0,0,0,121,0,0,0,208,93,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,80,94,3,0,0,0,0,0,2,0,0,0,169,0,0,0,232,92,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,152,93,3,0,0,0,0,0,2,0,0,0,25,0,0,0,176,92,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,92,3,0,0,0,0,0,2,0,0,0,169,0,0,0,200,91,3,0,1,0,0,0,0,232,87,225,0,224,255,96,4,0,0,0,0,0,0,0,120,92,3,0,0,0,0,0,2,0,0,0,225,0,0,0,160,90,3,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,136,91,3,0,0,0,0,0,2,0,0,0,33,1,0,0,48,89,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,90,3,0,0,0,0,0,2,5,5,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,6,6,7,7,8,7,8,8,8,8,8,9,9,9,9,9,10,6,6,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,8,9,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,10,10,9,9,10,9,11,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,9,11,11,11,11,11,9,9,9,9,10,10,9,9,9,9,10,9,11,11,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,10,9,10,10,9,10,9,9,10,9,11,10,10,11,11,11,11,9,10,9,9,9,9,10,10,10,10,11,11,11,11,11,11,10,10,10,9,9,10,9,10,9,10,10,10,10,11,11,11,11,11,11,11,9,9,9,9,9,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,7,9,9,10,10,10,10,6,5,5,7,7,8,8,10,8,11,10,12,12,13,13,6,5,5,7,7,8,8,10,9,11,11,12,12,13,12,18,8,8,8,8,9,9,10,9,11,10,12,12,13,13,18,8,8,8,8,9,9,10,10,11,11,13,12,14,13,18,11,11,9,9,10,10,11,11,11,12,13,12,13,14,18,11,11,9,8,11,10,11,11,11,11,12,12,14,13,18,18,18,10,11,10,11,12,12,12,12,13,12,14,13,18,18,18,10,11,11,9,12,11,12,12,12,13,13,13,18,18,17,14,14,11,11,12,12,13,12,14,12,14,13,18,18,18,14,14,11,10,12,9,12,13,13,13,13,13,18,18,17,16,18,13,13,12,12,13,11,14,12,14,14,17,18,18,17,18,13,12,13,10,12,11,14,14,14,14,17,18,18,18,18,15,16,12,12,13,10,14,12,14,15,18,18,18,16,17,16,14,12,11,13,10,13,13,14,15,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,4,4,12,12,12,12,12,12,12,12,12,12,4,9,8,12,12,12,12,12,12,12,12,12,12,2,9,7,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,6,5,5,5,5,6,4,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,12,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,14,14,11,11,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,13,0,0,0,0,0,13,13,12,12,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,6,6,7,7,8,8,8,8,8,8,10,10,10,7,7,8,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,11,11,10,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,7,11,11,11,11,11,12,11,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,10,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,8,9,9,10,10,11,11,12,12,12,12,0,0,0,0,0,8,8,9,9,10,10,11,11,12,11,12,12,0,0,0,0,0,9,10,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,4,6,6,7,7,9,9,0,5,5,7,7,7,8,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,3,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,4,4,6,6,0,0,0,0,0,5,5,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,0,0,0,5,5,0,0,0,5,5,0,0,0,7,8,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,5,6,6,0,0,0,7,7,0,0,0,7,7,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,5,7,7,0,0,0,7,7,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,8,10,10,0,0,0,9,9,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,7,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,8],"i8",O3,_.GLOBAL_BASE+218416),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,10,9,13,11,14,10,12,13,13,14,7,2,12,5,10,5,7,10,12,14,12,6,9,8,7,7,9,11,13,16,10,4,12,5,10,6,8,12,14,16,12,6,8,7,6,5,7,11,12,16,10,4,8,5,6,4,6,9,13,16,10,6,10,7,7,6,7,9,13,15,12,9,11,9,8,6,7,10,12,14,14,11,10,9,6,5,6,9,11,13,15,13,11,10,6,5,6,8,9,11,0,0,0,0,2,0,0,0,100,0,0,0,216,170,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,56,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,130,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,130,3,0,0,0,0,0,0,131,3,0,40,131,3,0,0,0,0,0,0,0,0,0,80,131,3,0,120,131,3,0,0,0,0,0,0,0,0,0,160,131,3,0,200,131,3,0,240,131,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,168,129,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,12,10,10,10,9,10,12,12,6,1,10,5,6,6,7,9,11,14,12,9,8,11,7,8,9,11,13,15,10,5,12,7,8,7,9,12,14,15,10,6,7,8,5,6,7,9,12,14,9,6,8,7,6,6,7,9,12,12,9,7,9,9,7,6,6,7,10,10,10,9,10,11,8,7,6,6,8,10,12,11,13,13,11,10,8,8,8,10,11,13,15,15,14,13,10,8,8,9,0,0,0,0,8,0,0,0,161,25,0,0,32,145,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,170,3,0,0,0,0,0,4,0,0,0,113,2,0,0,144,142,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,145,3,0,0,0,0,0,4,0,0,0,113,2,0,0,0,140,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,142,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,139,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,139,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,139,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,137,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,138,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,137,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,137,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,136,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,136,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,135,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,136,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,135,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,134,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,135,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,133,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,134,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,132,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,133,3,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,8,8,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,8,8,9,9,9,9,9,9,10,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,7,8,8,8,8,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,9,10,11,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,11,10,8,8,9,9,9,9,9,9,10,9,9,10,9,10,11,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,10,9,9,9,10,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,10,9,10,11,11,11,11,11,9,9,9,9,10,10,9,9,9,10,10,10,11,11,11,11,11,11,11,9,9,9,10,9,9,10,10,10,10,11,11,10,11,11,11,11,10,9,10,10,9,9,9,9,10,10,11,10,11,11,11,11,11,9,9,9,9,10,9,10,10,10,10,11,10,11,11,11,11,11,10,10,9,9,10,9,10,10,10,10,10,10,10,11,11,11,11,11,11,9,9,10,9,10,9,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,6,8,8,10,9,10,10,6,5,5,7,7,8,7,10,9,11,11,12,13,6,5,5,7,7,8,8,10,10,11,11,13,13,18,8,8,8,8,9,9,10,10,12,12,12,13,18,8,8,8,8,9,9,10,10,12,12,13,13,18,11,11,8,8,10,10,11,11,12,11,13,12,18,11,11,9,7,10,10,11,11,11,12,12,13,17,17,17,10,10,11,11,12,12,12,10,12,12,17,17,17,11,10,11,10,13,12,11,12,12,12,17,17,17,15,14,11,11,12,11,13,10,13,12,17,17,17,14,14,12,10,11,11,13,13,13,13,17,17,16,17,16,13,13,12,10,13,10,14,13,17,16,17,16,17,13,12,12,10,13,11,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,4,12,12,12,12,12,12,12,12,12,12,4,9,8,11,11,11,11,11,11,11,11,11,11,2,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,4,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,10,11,11,11,12,12,13,13,0,0,0,14,14,11,10,11,11,13,12,13,13,0,0,0,0,0,12,12,11,12,13,12,14,14,0,0,0,0,0,12,12,12,12,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,4,6,6,7,7,7,7,7,7,9,7,7,6,6,7,7,8,8,8,8,9,6,6,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,10,9,9,7,10,10,11,10,11,11,10,11,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,8,9,9,9,9,9,9,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,8,8,7,7,9,9,10,10,9,9,10,10,11,11,12,12,0,0,0,7,7,9,9,10,10,10,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,13,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,7,7,7,7,7,7,9,9,0,7,7,7,7,7,7,9,9,0,8,8,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,6,6,6,6,0,0,0,0,0,7,7,6,6,0,0,0,0,0,0,0,6,7,0,0,0,0,0,0,0,7,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,3,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,7,7,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,4,6,6,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,11,0,0,0,0,0,0,0,7,8,8,0,0,0,10,11,0,0,0,11,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,6,8,8,0,0,0,10,11,0,0,0,10,11,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,0,0,0,11,12,0,0,0,11,12,0,0,0,12,11,0,0,0,0,0,0,0,8,10,9,0,0,0,12,11,0,0,0,12,11,0,0,0,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,6,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,6,8,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+229400),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,11,9,13,12,12,11,12,12,13,15,8,2,11,4,8,5,7,10,12,15,13,7,10,9,8,8,10,13,17,17,11,4,12,5,9,5,8,11,14,16,12,6,8,7,6,6,8,11,13,16,11,4,9,5,6,4,6,10,13,16,11,6,11,7,7,6,7,10,13,15,13,9,12,9,8,6,8,10,12,14,14,10,10,8,6,5,6,9,11,13,15,11,11,9,6,5,6,8,9,12,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,9,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+240320),C3([1,0,0,0,2,0,0,0,2,0,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,231,3,0,0,4,0,0,0,8,0,0,0,16,0,0,0,32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,160,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,72,5,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,96,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,136,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,176,223,3,0,0,0,0,0,0,0,0,0,0,0,0,0,216,223,3,0,0,0,0,0,0,224,3,0,40,224,3,0,0,0,0,0,0,0,0,0,80,224,3,0,120,224,3,0,0,0,0,0,0,0,0,0,160,224,3,0,200,224,3,0,240,224,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,80,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,120,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,160,185,3,0,0,0,0,0,0,0,0,0,0,0,0,0,200,185,3,0,0,0,0,0,240,185,3,0,24,186,3,0,0,0,0,0,0,0,0,0,64,186,3,0,104,186,3,0,0,0,0,0,0,0,0,0,144,186,3,0,184,186,3,0,224,186,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,208,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,120,184,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,8,10,9,9,10,11,12,4,2,5,6,6,8,10,11,13,8,4,6,8,7,9,12,12,14,10,6,8,4,5,6,9,11,12,9,5,6,5,5,6,9,11,11,9,7,9,6,5,5,7,10,10,10,9,11,8,7,6,7,9,11,11,12,13,10,10,9,8,9,11,11,15,15,12,13,11,9,10,11,0,0,0,0,0,0,0,5,5,9,10,9,9,10,11,12,5,1,5,6,6,7,10,12,14,9,5,6,8,8,10,12,14,14,10,5,8,5,6,8,11,13,14,9,5,7,6,6,8,10,12,11,9,7,9,7,6,6,7,10,10,10,9,12,9,8,7,7,10,12,11,11,13,12,10,9,8,9,11,11,14,15,15,13,11,9,9,11,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,128,197,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,223,3,0,0,0,0,0,4,0,0,0,113,2,0,0,240,194,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,197,3,0,0,0,0,0,2,0,0,0,81,0,0,0,112,194,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,200,194,3,0,0,0,0,0,2,0,0,0,81,0,0,0,240,193,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,72,194,3,0,0,0,0,0,2,0,0,0,33,1,0,0,128,192,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,168,193,3,0,0,0,0,0,4,0,0,0,81,0,0,0,24,192,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,192,3,0,0,0,0,0,2,0,0,0,121,0,0,0,104,191,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,191,3,0,0,0,0,0,2,0,0,0,169,0,0,0,128,190,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,48,191,3,0,0,0,0,0,2,0,0,0,25,0,0,0,72,190,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,96,189,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,16,190,3,0,0,0,0,0,2,0,0,0,169,0,0,0,120,188,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,40,189,3,0,0,0,0,0,2,0,0,0,33,1,0,0,8,187,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,48,188,3,0,0,0,0,0,2,5,5,6,6,7,6,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,11,11,8,8,8,8,9,9,9,9,9,9,10,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,9,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,11,11,11,9,8,9,9,9,9,9,9,9,10,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,11,11,11,11,11,11,11,9,9,10,9,9,9,9,10,9,10,10,11,10,11,11,11,11,9,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,10,9,9,9,9,9,9,10,9,10,11,10,11,11,11,11,11,11,9,9,10,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,7,10,10,11,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,16,7,7,8,8,9,9,11,11,12,12,13,13,17,7,7,8,7,9,9,11,10,12,12,13,13,19,11,10,8,8,10,10,11,11,12,12,13,13,19,11,11,9,7,11,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,12,12,12,13,14,18,19,19,11,9,11,9,13,12,12,12,13,13,19,20,19,13,15,11,11,12,12,13,13,14,13,18,19,20,15,13,12,10,13,10,13,13,13,14,20,20,20,20,20,13,14,12,12,13,12,13,13,20,20,20,20,20,13,12,12,12,14,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,13,13,13,13,13,13,13,13,13,13,3,6,6,13,13,13,13,13,13,13,13,13,13,4,8,7,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,9,10,9,10,11,11,12,11,13,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,13,14,13,0,0,0,0,0,12,12,11,11,13,12,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,10,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,5,5,6,6,8,8,9,9,9,9,10,10,10,10,11,11,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,11,11,11,12,12,0,0,0,8,8,8,8,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,7,7,9,9,0,6,6,7,7,8,8,9,9,0,6,6,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,8,8,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,5,6,6,0,0,0,0,0,5,5,7,7,0,0,0,0,0,7,7,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+242772),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,144,235,3,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,5,4,0,0,0,0,0,4,0,0,0,113,2,0,0,0,233,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,235,3,0,0,0,0,0,2,0,0,0,81,0,0,0,128,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,232,3,0,0,0,0,0,2,0,0,0,81,0,0,0,0,232,3,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,232,3,0,0,0,0,0,2,0,0,0,33,1,0,0,144,230,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,184,231,3,0,0,0,0,0,4,0,0,0,81,0,0,0,40,230,3,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,128,230,3,0,0,0,0,0,2,0,0,0,121,0,0,0,120,229,3,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,248,229,3,0,0,0,0,0,2,0,0,0,169,0,0,0,144,228,3,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,64,229,3,0,0,0,0,0,2,0,0,0,25,0,0,0,88,228,3,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,120,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,112,227,3,0,1,0,0,0,0,184,84,225,0,160,251,96,4,0,0,0,0,0,0,0,32,228,3,0,0,0,0,0,2,0,0,0,169,0,0,0,136,226,3,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,56,227,3,0,0,0,0,0,2,0,0,0,33,1,0,0,24,225,3,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,64,226,3,0,0,0,0,0,2,4,4,6,6,6,6,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,11,11,8,8,8,8,9,9,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,11,11,11,8,8,9,9,9,9,10,9,9,9,9,9,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,9,10,10,11,11,11,11,11,9,9,9,10,9,9,9,9,9,9,10,11,11,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,10,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,10,9,11,11,10,11,11,11,11,10,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,5,7,7,9,9,10,10,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,11,11,12,12,15,7,7,8,8,9,9,11,11,12,12,13,12,15,8,8,8,7,9,9,10,10,12,12,13,13,16,11,10,8,8,10,10,11,11,12,12,13,13,16,11,11,9,8,11,10,11,11,12,12,13,12,16,16,16,10,11,10,11,12,12,12,12,13,13,16,16,16,11,9,11,9,14,12,12,12,13,13,16,16,16,12,14,11,12,12,12,13,13,14,13,16,16,16,15,13,12,10,13,10,13,14,13,13,16,16,16,16,16,13,14,12,13,13,12,13,13,16,16,16,16,16,13,12,12,11,14,12,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,3,10,10,10,10,10,10,10,10,10,10,4,8,6,10,10,10,10,10,10,10,10,10,10,4,8,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,10,9,7,5,6,7,7,8,8,8,8,9,9,10,10,7,5,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,11,0,0,0,10,10,10,10,11,11,12,11,12,12,0,0,0,10,10,10,9,11,11,12,11,13,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,12,12,14,13,0,0,0,0,0,12,11,11,11,13,10,14,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,6,10,10,11,11,11,11,10,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,12,11,11,7,9,9,11,10,10,11,11,10,6,9,9,10,10,10,12,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,11,0,0,0,8,8,9,9,9,10,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,7,0,0,0,0,0,13,13,6,6,0,0,0,0,0,12,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,3,4,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,5,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,0,0,0,0,0,0,5,7,6,0,0,0,0,0,0,5,6,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,7,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9],"i8",O3,_.GLOBAL_BASE+253728),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,13,14,14,15,16,18,18,4,2,5,8,7,9,12,15,15,10,4,5,10,6,8,11,15,17,12,5,7,5,6,8,11,14,17,11,5,6,6,5,6,9,13,17,12,6,7,6,5,6,8,12,14,14,7,8,6,6,7,9,11,14,14,8,9,6,5,6,9,11,13,16,10,10,7,6,7,8,10,11,0,0,0,0,0,0,0,6,8,13,12,13,14,15,16,16,4,2,4,7,6,8,11,13,15,10,4,4,8,6,8,11,14,17,11,5,6,5,6,8,12,14,17,11,5,5,6,5,7,10,13,16,12,6,7,8,7,8,10,13,15,13,8,8,7,7,8,10,12,15,15,7,7,5,5,7,9,12,14,15,8,8,6,6,7,8,10,11,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,128,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,40,86,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,152,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,192,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,46,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,47,4,0,0,0,0,0,56,47,4,0,96,47,4,0,0,0,0,0,0,0,0,0,136,47,4,0,176,47,4,0,0,0,0,0,0,0,0,0,216,47,4,0,0,48,4,0,40,48,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,200,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,24,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,64,9,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,9,4,0,0,0,0,0,144,9,4,0,184,9,4,0,0,0,0,0,0,0,0,0,224,9,4,0,8,10,4,0,0,0,0,0,0,0,0,0,48,10,4,0,88,10,4,0,128,10,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,112,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,24,8,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,4,9,10,9,10,11,12,13,4,1,5,7,7,9,11,12,14,8,5,7,9,8,10,13,13,13,10,7,9,4,6,7,10,12,14,9,6,7,6,6,7,10,12,12,9,8,9,7,6,7,8,11,12,11,11,11,9,8,7,8,10,12,12,13,14,12,11,9,9,9,12,12,17,17,15,16,12,10,11,13,0,0,0,0,0,0,0,5,4,8,9,8,9,10,12,15,4,1,5,5,6,8,11,12,12,8,5,8,9,9,11,13,12,12,9,5,8,5,7,9,12,13,13,8,6,8,7,7,9,11,11,11,9,7,9,7,7,7,7,10,12,10,10,11,9,8,7,7,9,11,11,12,13,12,11,9,8,9,11,13,16,16,15,15,12,10,11,12,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,184,20,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,46,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,18,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,20,4,0,0,0,0,0,2,0,0,0,81,0,0,0,168,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,0,18,4,0,0,0,0,0,2,0,0,0,81,0,0,0,40,17,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,128,17,4,0,0,0,0,0,2,0,0,0,33,1,0,0,184,15,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,224,16,4,0,0,0,0,0,4,0,0,0,81,0,0,0,80,15,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,168,15,4,0,0,0,0,0,2,0,0,0,121,0,0,0,160,14,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,32,15,4,0,0,0,0,0,2,0,0,0,169,0,0,0,184,13,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,104,14,4,0,0,0,0,0,2,0,0,0,25,0,0,0,128,13,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,13,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,13,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,88,13,4,0,0,0,0,0,2,0,0,0,169,0,0,0,24,12,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,200,12,4,0,0,0,0,0,2,0,0,0,33,1,0,0,168,10,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,208,11,4,0,0,0,0,0,2,5,5,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,6,6,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,6,6,7,7,8,7,8,8,9,9,9,9,9,9,9,9,10,7,7,7,7,8,8,8,9,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,11,8,8,8,8,9,9,9,9,9,9,9,10,9,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,9,10,10,11,10,10,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,11,11,8,8,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,9,9,9,9,9,9,9,9,10,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,11,11,11,11,11,9,9,10,9,9,9,9,9,9,9,10,11,10,11,11,11,11,10,10,10,10,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,9,9,9,9,9,9,9,9,11,11,10,11,11,11,10,10,10,9,9,9,9,9,9,9,9,10,11,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,10,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,6,5,5,7,7,8,8,10,10,12,11,12,12,17,7,7,8,8,9,9,10,10,12,12,13,13,18,7,7,8,7,9,9,10,10,12,12,12,13,19,10,10,8,8,10,10,11,11,12,12,13,14,19,11,10,8,7,10,10,11,11,12,12,13,12,19,19,19,10,10,10,10,11,11,12,12,13,13,19,19,19,11,9,11,9,14,12,13,12,13,13,19,20,18,13,14,11,11,12,12,13,13,14,13,20,20,20,15,13,11,10,13,11,13,13,14,13,20,20,20,20,20,13,14,12,12,13,13,13,13,20,20,20,20,20,13,13,12,12,16,13,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,3,11,11,11,11,11,11,3,7,6,11,11,11,11,11,11,4,8,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,4,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,6,5,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,9,10,10,10,11,11,12,11,12,12,0,0,0,10,10,9,9,11,11,12,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,12,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,13,12,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,8,9,5,5,6,6,7,7,8,8,8,8,9,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,11,9,9,4,7,7,10,9,9,11,9,9,7,10,10,10,11,11,11,10,10,6,9,9,11,11,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,11,11,11,11,11,11,6,9,9,11,10,10,11,11,10,6,9,9,11,10,10,11,10,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,8,8,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,5,6,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,7,7,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,11,12,12,13,13,13,13,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,11,11,0,0,0,9,9,9,9,11,11,0,0,0,10,10,10,10,11,11,0,0,0,0,0,9,9,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,3,7,7,0,0,0,0,0,5,4,7,7,0,0,0,0,0,5,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,10,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,10],"i8",O3,_.GLOBAL_BASE+263472),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,112,60,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,24,86,4,0,0,0,0,0,4,0,0,0,113,2,0,0,224,57,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,60,4,0,0,0,0,0,2,0,0,0,81,0,0,0,96,57,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,184,57,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,56,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,56,57,4,0,0,0,0,0,2,0,0,0,33,1,0,0,112,55,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,152,56,4,0,0,0,0,0,4,0,0,0,81,0,0,0,8,55,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,96,55,4,0,0,0,0,0,2,0,0,0,121,0,0,0,88,54,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,216,54,4,0,0,0,0,0,2,0,0,0,169,0,0,0,112,53,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,32,54,4,0,0,0,0,0,2,0,0,0,25,0,0,0,56,53,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,88,53,4,0,0,0,0,0,4,0,0,0,113,2,0,0,168,50,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,32,53,4,0,0,0,0,0,2,0,0,0,169,0,0,0,192,49,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,112,50,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,48,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,49,4,0,0,0,0,0,2,4,4,6,6,7,7,7,7,8,8,8,8,8,8,8,8,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,10,9,9,10,10,10,7,7,8,8,9,8,9,9,9,9,10,9,9,10,10,10,10,8,8,8,8,9,8,9,9,9,9,9,10,9,10,10,10,10,7,7,8,8,9,9,9,9,9,9,10,9,10,10,10,10,10,8,8,8,9,9,9,9,9,9,9,10,10,10,9,11,10,10,10,10,8,8,9,9,9,9,9,10,9,9,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,10,9,9,10,11,10,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,10,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,10,10,11,11,11,11,9,10,9,10,9,9,9,9,10,9,10,11,10,11,10,10,10,10,10,9,9,9,10,9,9,9,10,11,11,10,11,11,10,11,10,10,10,9,9,9,9,10,9,9,10,11,10,11,11,11,11,10,11,10,10,9,10,9,9,9,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,7,7,9,9,11,12,13,12,6,5,5,7,7,8,8,10,9,12,12,12,12,6,5,5,7,7,8,8,10,9,12,11,11,13,16,7,7,8,8,9,9,10,10,12,12,13,12,16,7,7,8,7,9,9,10,10,11,12,12,13,16,10,10,8,8,10,10,11,12,12,12,13,13,16,11,10,8,7,11,10,11,11,12,11,13,13,16,16,16,10,10,10,10,11,11,13,12,13,13,16,16,16,11,9,11,9,15,13,12,13,13,13,16,16,16,15,13,11,11,12,13,12,12,14,13,16,16,16,14,13,11,11,13,12,14,13,13,13,16,16,16,16,16,13,13,13,12,14,13,14,14,16,16,16,16,16,13,13,12,12,14,14,15,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,5,5,10,10,6,9,8,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,7,5,5,7,7,8,8,8,8,9,9,10,10,7,5,6,7,7,8,8,8,8,9,9,10,10,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,10,10,10,10,11,11,11,11,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,11,11,12,12,0,0,0,10,10,9,9,11,11,11,12,12,12,0,0,0,13,13,10,10,11,11,12,12,13,13,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,11,11,11,11,13,12,13,13,0,0,0,0,0,12,12,11,11,12,12,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,7,7,7,7,7,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,10,10,10,10,10,9,9,8,8,8,8,10,10,10,10,10,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,7,10,9,9,10,9,9,4,6,7,10,9,9,11,9,9,7,10,10,11,11,11,12,10,11,6,9,9,11,10,11,11,10,10,6,9,9,11,10,11,11,10,10,7,11,10,12,11,11,11,11,11,7,9,9,10,10,10,11,11,10,6,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,8,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,9,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,11,11,11,11,12,12,12,13,13,0,0,0,0,0,0,0,11,10,11,11,11,11,12,12,13,13,0,0,0,0,0,0,0,11,11,12,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,11,12,12,12,12,13,13,13,0,0,0,0,0,0,0,12,12,12,12,12,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,8,9,9,0,0,0,7,7,7,7,9,9,0,0,0,9,9,8,8,10,10,0,0,0,8,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,8,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,6,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,10],"i8",O3,_.GLOBAL_BASE+274008),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,6,12,13,13,14,16,17,17,4,2,5,8,7,9,12,15,15,9,4,5,9,7,9,12,16,18,11,6,7,4,6,8,11,14,18,10,5,6,5,5,7,10,14,17,10,5,7,7,6,7,10,13,16,11,5,7,7,7,8,10,12,15,13,6,7,5,5,7,9,12,13,16,8,9,6,6,7,9,10,12,0,0,0,0,0,0,0,9,8,12,11,12,13,14,14,16,6,1,5,6,6,9,12,14,17,9,4,5,9,7,9,13,15,16,8,5,8,6,8,10,13,17,17,9,6,7,7,8,9,13,15,17,11,8,9,9,9,10,12,16,16,13,7,8,7,7,9,12,14,15,13,6,7,5,5,7,10,13,13,14,7,8,5,6,7,9,10,12,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,96,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,8,167,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,200,127,4,0,0,0,0,0,0,0,0,0,0,0,0,0,240,127,4,0,0,0,0,0,24,128,4,0,64,128,4,0,0,0,0,0,0,0,0,0,104,128,4,0,144,128,4,0,0,0,0,0,0,0,0,0,184,128,4,0,224,128,4,0,8,129,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,168,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,208,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,248,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,32,90,4,0,0,0,0,0,0,0,0,0,0,0,0,0,72,90,4,0,0,0,0,0,112,90,4,0,152,90,4,0,0,0,0,0,0,0,0,0,192,90,4,0,232,90,4,0,0,0,0,0,0,0,0,0,16,91,4,0,56,91,4,0,96,91,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,80,89,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,81,0,0,0,248,88,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,8,8,8,8,10,12,14,3,2,6,7,7,8,10,12,16,7,6,7,9,8,10,12,14,16,8,6,8,4,5,7,9,11,13,7,6,8,5,6,7,9,11,14,8,8,10,7,7,6,8,10,13,9,11,12,9,9,7,8,10,12,10,13,15,11,11,10,9,10,13,13,16,17,14,15,14,13,14,17,0,0,0,0,0,0,0,4,4,7,8,7,8,10,12,17,3,1,6,6,7,8,10,12,15,7,6,9,9,9,11,12,14,17,8,6,9,6,7,9,11,13,17,7,6,9,7,7,8,9,12,15,8,8,10,8,7,7,7,10,14,9,10,12,10,8,8,8,10,14,11,13,15,13,12,11,11,12,16,17,18,18,19,20,18,16,16,20,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,152,101,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,64,127,4,0,0,0,0,0,4,0,0,0,113,2,0,0,8,99,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,101,4,0,0,0,0,0,2,0,0,0,81,0,0,0,136,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,224,98,4,0,0,0,0,0,2,0,0,0,81,0,0,0,8,98,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,96,98,4,0,0,0,0,0,2,0,0,0,33,1,0,0,152,96,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,192,97,4,0,0,0,0,0,4,0,0,0,81,0,0,0,48,96,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,136,96,4,0,0,0,0,0,2,0,0,0,121,0,0,0,128,95,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,0,96,4,0,0,0,0,0,2,0,0,0,169,0,0,0,152,94,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,72,95,4,0,0,0,0,0,2,0,0,0,25,0,0,0,96,94,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,94,4,0,0,0,0,0,2,0,0,0,81,0,0,0,224,93,4,0,1,0,0,0,0,160,59,225,0,160,251,96,4,0,0,0,0,0,0,0,56,94,4,0,0,0,0,0,2,0,0,0,169,0,0,0,248,92,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,168,93,4,0,0,0,0,0,2,0,0,0,33,1,0,0,136,91,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,176,92,4,0,0,0,0,0,3,4,4,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,9,9,9,9,9,9,9,10,6,6,6,6,7,7,8,8,8,8,9,9,9,9,9,9,10,7,7,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,11,11,8,8,8,8,9,9,9,9,9,9,9,9,11,10,11,11,11,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,10,11,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,10,10,10,9,9,9,9,9,9,11,10,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,10,11,11,11,11,11,11,11,11,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,10,11,11,11,6,5,5,7,7,8,8,10,10,10,11,11,11,6,5,5,7,7,8,8,10,10,11,12,12,12,14,7,7,7,8,9,9,11,11,11,12,11,12,17,7,7,8,7,9,9,11,11,12,12,12,12,14,11,11,8,8,10,10,11,12,12,13,11,12,14,11,11,8,8,10,10,11,12,12,13,13,12,14,15,14,10,10,10,10,11,12,12,12,12,11,14,13,16,10,10,10,9,12,11,12,12,13,14,14,15,14,14,13,10,10,11,11,12,11,13,11,14,12,15,13,14,11,10,12,10,12,12,13,13,13,13,14,15,15,12,12,11,11,12,11,13,12,14,14,14,14,17,12,12,11,10,13,11,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,12,11,13,13,14,14,4,7,7,11,13,14,14,14,14,3,8,3,14,14,14,14,14,14,14,10,12,14,14,14,14,14,14,14,14,5,14,8,14,14,14,14,14,12,14,13,14,14,14,14,14,14,14,13,14,10,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,14,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,4,5,6,5,5,5,5,6,5,5,5,5,6,5,5,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,9,9,10,10,7,5,5,7,7,8,8,8,8,10,9,11,10,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,12,12,0,13,13,9,9,9,9,10,10,11,11,12,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,12,12,0,0,0,14,14,11,11,11,11,12,13,13,13,0,0,0,14,14,11,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,13,14,0,0,0,0,0,13,12,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,4,4,5,5,7,7,7,7,8,8,10,5,5,6,6,7,7,8,8,8,8,10,5,5,6,6,7,7,8,8,8,8,10,7,7,7,7,8,8,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,9,9,8,9,10,10,10,10,10,8,9,8,8,9,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,7,6,10,9,9,11,9,9,4,6,7,10,9,9,11,9,9,7,10,10,10,11,11,11,11,10,6,9,9,11,10,10,11,10,10,6,9,9,11,10,11,11,10,10,7,11,11,11,11,11,12,11,11,7,9,9,11,10,10,12,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,9,8,8,9,9,10,10,11,11,0,6,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,6,5,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,7,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,13,13,13,0,0,0,0,0,10,10,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,12,12,12,13,13,13,14,14,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,3,6,6,7,7,9,9,0,5,5,7,7,8,7,9,9,0,5,5,7,7,8,8,9,9,0,7,7,8,8,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,4,7,7,0,0,0,0,0,4,4,7,7,0,0,0,0,0,4,5,7,7,0,0,0,0,0,6,7,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,9,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,9,10,10,0,0,0,0,0,0,9,10,9],"i8",O3,_.GLOBAL_BASE+284176),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,80,141,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,166,4,0,0,0,0,0,4,0,0,0,113,2,0,0,192,138,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,141,4,0,0,0,0,0,2,0,0,0,81,0,0,0,64,138,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,138,4,0,0,0,0,0,2,0,0,0,81,0,0,0,192,137,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,24,138,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,136,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,120,137,4,0,0,0,0,0,4,0,0,0,81,0,0,0,232,135,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,64,136,4,0,0,0,0,0,2,0,0,0,121,0,0,0,56,135,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,184,135,4,0,0,0,0,0,2,0,0,0,169,0,0,0,80,134,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,0,135,4,0,0,0,0,0,2,0,0,0,25,0,0,0,24,134,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,134,4,0,0,0,0,0,4,0,0,0,113,2,0,0,136,131,4,0,1,0,0,0,0,160,27,225,0,160,251,96,3,0,0,0,0,0,0,0,0,134,4,0,0,0,0,0,2,0,0,0,169,0,0,0,160,130,4,0,1,0,0,0,0,128,217,224,0,0,145,96,4,0,0,0,0,0,0,0,80,131,4,0,0,0,0,0,2,0,0,0,33,1,0,0,48,129,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,88,130,4,0,0,0,0,0,3,4,3,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,11,11,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,6,6,7,7,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,7,8,8,8,9,9,9,9,9,9,10,9,10,11,10,7,6,7,7,8,8,9,9,9,9,9,9,9,10,10,10,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,10,10,10,7,7,8,8,8,8,9,9,9,9,9,9,9,10,11,11,11,8,8,8,8,8,8,9,9,9,9,9,9,9,9,11,10,10,11,11,8,8,8,9,9,9,9,9,9,10,9,10,10,10,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,11,10,11,11,9,9,9,9,9,9,9,9,9,10,10,10,10,11,10,11,11,9,9,9,9,9,9,9,9,9,9,9,9,11,10,10,11,11,11,11,9,9,9,9,9,9,9,9,10,10,10,11,11,10,11,11,11,9,10,10,9,9,9,9,9,9,9,10,11,11,11,11,11,11,9,9,9,9,9,9,9,9,9,9,11,11,11,11,11,11,11,10,10,9,9,9,9,9,9,9,9,11,11,11,10,11,11,11,11,11,9,9,9,10,9,9,9,9,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,4,4,6,6,8,8,9,10,10,11,11,11,6,5,5,7,7,8,8,9,10,9,11,11,12,5,5,5,7,7,8,9,10,10,12,12,14,13,15,7,7,8,8,9,10,11,11,10,12,10,11,15,7,8,8,8,9,9,11,11,13,12,12,13,15,10,10,8,8,10,10,12,12,11,14,10,10,15,11,11,8,8,10,10,12,13,13,14,15,13,15,15,15,10,10,10,10,12,12,13,12,13,10,15,15,15,10,10,11,10,13,11,13,13,15,13,15,15,15,13,13,10,11,11,11,12,10,14,11,15,15,14,14,13,10,10,12,11,13,13,14,14,15,15,15,15,15,11,11,11,11,12,11,15,12,15,15,15,15,15,12,12,11,11,14,12,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,7,7,11,11,8,11,11,11,11,4,11,3,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,7,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,9,9,10,10,6,5,5,7,7,8,8,8,8,9,9,11,11,7,5,5,7,7,8,8,8,8,9,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,8,8,8,8,9,9,9,9,10,10,11,11,0,12,12,9,9,9,10,10,10,11,11,11,12,0,13,13,9,9,9,9,10,10,11,11,11,12,0,0,0,10,10,10,10,11,11,12,12,12,13,0,0,0,10,10,10,10,11,11,12,12,13,12,0,0,0,14,14,11,10,11,12,12,13,13,14,0,0,0,15,15,11,11,12,11,12,12,14,13,0,0,0,0,0,12,12,12,12,13,13,14,14,0,0,0,0,0,13,13,12,12,13,13,13,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,6,6,7,7,8,8,8,8,10,10,10,7,6,8,8,8,8,8,8,10,10,10,7,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,9,9,9,9,10,10,10,8,8,8,8,9,9,9,9,10,10,10,9,9,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,10,10,10,10,10,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,6,6,7,6,6,4,6,6,10,9,9,11,9,9,4,6,6,10,9,9,10,9,9,7,10,10,11,11,11,12,11,11,7,9,9,11,11,10,11,10,10,7,9,9,11,10,11,11,10,10,7,10,10,11,11,11,12,11,11,7,9,9,11,10,10,11,10,10,7,9,9,11,10,10,11,10,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,8,8,9,9,9,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,9,9,10,10,10,11,11,11,12,12,0,0,0,9,9,10,9,10,10,10,10,11,11,11,11,12,12,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,0,0,9,9,10,10,10,11,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,11,12,13,12,13,13,0,0,0,0,0,0,0,11,10,11,11,12,12,12,12,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,13,14,0,0,0,0,0,0,0,12,12,12,13,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,12,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,6,6,7,7,9,9,0,0,0,6,6,7,7,9,9,0,0,0,7,7,8,8,10,10,0,0,0,7,7,8,8,10,10,0,0,0,9,9,9,9,10,10,0,0,0,9,9,9,9,10,10,0,0,0,10,10,10,10,11,11,0,0,0,0,0,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,9,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,10,9,0,0,0,0,0,0,8,10,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,11,9,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+294712),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,12,14,12,14,16,17,18,4,2,5,11,7,10,12,14,15,9,4,5,11,7,10,13,15,18,15,6,7,5,6,8,11,13,16,11,5,6,5,5,6,9,13,15,12,5,7,6,5,6,9,12,14,12,6,7,8,6,7,9,12,13,14,8,8,7,5,5,8,10,12,16,9,9,8,6,6,7,9,9,0,0,0,0,0,0,0,10,9,12,15,12,13,16,14,16,7,1,5,14,7,10,13,16,16,9,4,6,16,8,11,16,16,16,14,4,7,16,9,12,14,16,16,10,5,7,14,9,12,14,15,15,13,8,9,14,10,12,13,14,15,13,9,9,7,6,8,11,12,12,14,8,8,5,4,5,8,11,12,16,10,10,6,5,6,8,9,10,0,0,0,0,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,88,203,64,0,0,0,0,0,130,228,64,0,0,0,0,0,112,183,64,0,0,0,0,0,148,193,64,0,0,0,0,0,64,223,64,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,106,232,64,154,153,153,153,153,153,185,191,0,0,0,0,0,0,0,0,0,0,0,0,0,0,240,63,0,2,0,0,0,2,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,2,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,10,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,12,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,99,0,0,0,99,0,0,0,99,0,0,0,0,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,18,64,0,0,0,0,0,0,22,64,0,0,0,0,0,0,62,64,208,171,4,0,0,0,0,0,6,0,0,0,6,0,0,0,0,0,0,0,0,64,191,64,0,0,0,0,0,100,201,64,0,0,0,0,0,124,229,64,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,64,239,64,0,0,0,0,0,106,248,64,154,153,153,153,153,153,185,191,154,153,153,153,153,153,169,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,240,63,0,4,0,0,0,2,0,0,0,2,0,0,0,0,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,30,0,0,0,25,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,25,0,0,0,22,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,20,0,0,0,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,15,0,0,0,0,0,0,0,242,255,255,255,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,246,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,0,0,0,10,0,0,0,255,255,255,255,10,0,0,0,10,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,20,0,0,0,20,0,0,0,255,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,15,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,10,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,249,255,255,255,251,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,238,255,255,255,238,255,255,255,238,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,12,0,0,0,12,0,0,0,14,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,10,0,0,0,10,0,0,0,10,0,0,0,14,0,0,0,20,0,0,0,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,254,255,255,255,254,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,4,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,6,0,0,0,8,0,0,0,10,0,0,0,12,0,0,0,20,0,0,0,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,5,0,0,0,6,0,0,0,8,0,0,0,8,0,0,0,15,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,232,255,255,255,236,255,255,255,242,255,255,255,246,255,255,255,250,255,255,255,248,255,255,255,248,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,250,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,0,0,0,0,2,0,0,0,4,0,0,0,4,0,0,0,5,0,0,0,5,0,0,0,5,0,0,0,8,0,0,0,12,0,0,0,236,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,240,255,255,255,244,255,255,255,236,255,255,255,246,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,5,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,241,255,255,255,244,255,255,255,246,255,255,255,248,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,251,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,234,255,255,255,236,255,255,255,242,255,255,255,244,255,255,255,244,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,246,255,255,255,250,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,226,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,230,255,255,255,232,255,255,255,236,255,255,255,236,255,255,255,236,255,255,255,0,0,0,0,0,0,0,0,154,153,153,153,153,153,233,63,0,0,0,0,0,0,240,63,0,0,0,0,0,0,240,63,0,1,0,0,0,1,0,0,15,39,0,0,0,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,8,0,0,0,51,51,51,51,51,51,211,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,0,0,0,0,0,0,224,63,156,255,255,255,156,255,255,255,156,255,255,255,151,255,255,255,126,255,255,255,126,255,255,255,126,255,255,255,116,255,255,255,0,0,0,0,0,0,26,64,0,0,0,0,0,0,32,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,0,240,63,0,0,0,0,0,0,0,64,0,0,0,0,0,0,8,64,0,0,0,0,0,0,16,64,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,4,0,0,0,4,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,6,0,0,0,5,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,4,0,0,0,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,0,64,0,0,64,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,5,0,0,0,4,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,3,0,0,0,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,128,64,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,0,65,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,0,0,198,66,200,239,4,0,216,239,4,0,8,181,0,0,16,188,4,0,8,181,0,0,48,188,4,0,8,181,0,0,112,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,240,233,0,0,216,225,4,0,216,225,4,0,0,226,4,0,0,226,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,200,208,4,0,200,208,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,88,206,0,0,176,209,4,0,176,209,4,0,240,208,4,0,240,208,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,176,188,4,0,176,188,4,0,216,188,4,0,216,188,4,0,1,0,0,0,0,0,0,0,32,0,0,0,160,220,1,0,152,189,4,0,152,189,4,0,216,188,4,0,216,188,4,0,2,0,0,0,100,0,0,0,96,208,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,80,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,120,190,4,0,0,0,0,0,0,0,0,0,0,0,0,0,160,190,4,0,0,0,0,0,200,190,4,0,240,190,4,0,0,0,0,0,0,0,0,0,24,191,4,0,64,191,4,0,0,0,0,0,0,0,0,0,104,191,4,0,144,191,4,0,0,0,0,0,0,0,0,0,184,191,4,0,224,191,4,0,0,0,0,0,0,0,0,0,8,192,4,0,48,192,4,0,88,192,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,192,189,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,10,10,10,11,11,12,14,18,7,5,5,6,8,9,10,12,14,17,9,5,4,5,6,8,10,11,13,19,9,5,4,4,5,6,9,10,12,17,8,6,5,4,4,5,7,10,11,15,8,7,7,6,5,5,6,9,11,14,8,9,8,7,6,5,6,7,11,14,9,11,11,9,7,6,6,6,9,14,11,14,15,13,9,8,7,7,9,14,13,15,19,17,12,11,10,9,10,14,0,0,0,0,4,0,0,0,81,0,0,0,248,207,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,208,4,0,0,0,0,0,4,0,0,0,113,2,0,0,104,205,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,224,207,4,0,0,0,0,0,2,0,0,0,81,0,0,0,232,204,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,64,205,4,0,0,0,0,0,2,0,0,0,33,1,0,0,120,203,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,160,204,4,0,0,0,0,0,4,0,0,0,81,0,0,0,16,203,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,104,203,4,0,0,0,0,0,2,0,0,0,121,0,0,0,96,202,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,224,202,4,0,0,0,0,0,2,0,0,0,169,0,0,0,120,201,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,40,202,4,0,0,0,0,0,2,0,0,0,25,0,0,0,64,201,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,96,201,4,0,0,0,0,0,2,0,0,0,169,0,0,0,88,200,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,8,201,4,0,0,0,0,0,2,0,0,0,121,0,0,0,168,199,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,40,200,4,0,0,0,0,0,2,0,0,0,225,0,0,0,128,198,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,104,199,4,0,0,0,0,0,2,0,0,0,185,1,0,0,104,196,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,40,198,4,0,0,0,0,0,2,0,0,0,225,0,0,0,64,195,4,0,1,0,0,0,0,117,153,225,0,24,61,97,4,0,0,0,0,0,0,0,40,196,4,0,0,0,0,0,2,0,0,0,105,1,0,0,128,193,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,240,194,4,0,0,0,0,0,1,0,0,0,49,0,0,0,128,192,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,184,192,4,0,0,0,0,0,2,3,4,4,4,5,5,6,5,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,8,8,7,8,8,8,8,8,8,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,9,7,10,8,12,12,13,13,14,14,4,7,7,9,9,9,8,9,8,10,9,11,9,14,9,14,10,13,11,4,7,7,9,9,9,9,8,9,10,10,11,11,12,13,12,13,14,15,7,9,9,10,11,10,10,10,10,11,12,13,13,13,14,17,14,15,16,7,9,9,10,10,10,10,10,10,11,12,13,13,14,14,15,15,18,18,8,9,9,11,10,11,11,11,12,13,12,14,14,16,15,15,17,18,15,8,9,9,10,10,11,11,11,11,13,13,14,14,15,15,15,16,16,18,7,9,8,10,10,11,11,12,12,14,14,15,15,16,16,15,17,16,18,8,9,9,10,10,11,12,12,12,13,13,16,15,17,16,17,18,17,18,9,10,10,12,11,13,13,14,13,14,14,15,17,16,18,17,18,17,18,9,10,10,12,11,12,13,13,14,15,16,14,15,16,18,18,18,18,17,11,11,11,13,13,14,14,16,15,15,15,16,15,15,18,18,18,17,16,11,11,12,13,13,15,14,15,16,16,16,17,16,15,18,17,18,16,18,12,13,13,15,15,15,16,18,16,17,16,17,16,17,17,17,18,18,17,13,13,13,15,13,16,15,17,16,16,16,18,18,18,18,16,17,17,18,13,15,14,15,15,18,17,18,18,18,16,18,17,18,17,18,16,17,17,14,14,14,15,16,17,16,18,18,18,17,18,17,18,18,18,16,16,16,14,17,16,17,15,16,18,18,17,18,17,18,17,18,18,18,17,18,17,15,16,15,18,15,18,17,16,18,18,18,18,18,18,17,18,16,18,17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,5,3,9,8,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,5,7,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,3,5,5,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,10,10,10,10,5,6,6,7,7,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,7,7,8,8,9,8,9,9,9,9,9,9,10,10,10,10,10,10,10,10,7,7,7,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,9,10,9,8,8,8,9,8,9,9,9,9,10,9,10,10,10,10,10,10,10,10,10,10,8,8,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,7,7,8,8,7,7,9,8,10,9,11,11,4,7,6,9,8,9,9,9,9,10,9,11,9,12,9,4,6,7,8,8,9,9,9,9,10,10,10,11,11,12,7,9,8,10,10,11,11,10,10,11,11,12,12,13,12,7,8,8,10,10,10,11,10,10,11,11,11,12,12,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,13,8,9,9,11,11,11,11,11,11,12,12,13,13,13,14,8,9,9,10,10,11,11,12,11,13,13,14,13,14,14,8,9,9,10,10,11,11,12,12,12,12,13,13,14,14,9,10,10,11,11,12,12,13,12,13,13,14,14,15,15,9,10,10,11,11,12,12,12,13,13,13,14,14,14,15,10,11,11,12,12,13,13,14,13,14,14,15,14,15,15,10,11,11,12,12,13,12,13,14,14,14,14,14,15,15,11,12,12,13,13,13,13,14,14,15,14,15,15,16,16,11,12,12,13,13,13,13,14,14,14,15,15,15,16,16,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,7,7,7,7,7,7,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,9,9,10,10,4,6,6,8,8,9,9,9,9,10,10,11,10,4,6,6,8,8,9,9,9,9,10,10,11,11,7,8,8,10,9,10,10,10,10,11,11,12,12,7,8,8,10,10,10,10,10,10,11,11,12,12,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,11,10,11,11,12,12,13,13,14,13,8,9,9,10,10,11,11,12,12,13,13,13,13,9,10,10,11,11,12,12,13,13,13,13,14,14,9,10,10,11,11,12,12,13,13,13,13,14,14,10,11,11,12,12,13,13,14,13,14,14,15,14,10,11,11,12,12,13,13,14,13,14,14,15,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,4,7,7,8,8,8,8,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,4,6,6,7,7,9,9,9,9,10,10,11,11,7,8,8,9,9,9,9,10,10,11,11,12,12,7,7,7,9,8,10,9,10,10,11,11,12,12,8,9,9,9,10,10,10,11,11,12,12,13,13,8,9,9,10,9,10,10,11,11,12,12,13,13,8,9,9,10,10,11,11,11,11,12,12,13,13,8,9,9,10,10,11,11,12,11,12,12,13,13,10,10,10,11,11,12,12,12,12,13,13,14,14,10,10,10,11,11,12,12,12,12,13,13,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,11,11,11,12,12,13,13,13,13,14,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,5,6,6,7,7,7,7,8,8,8,8,5,6,6,6,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,6,7,7,7,7,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,8,8,9,9,8,8,8,8,8,8,8,9,9,9,9,8,8,8,8,8,8,8,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,8,7,9,9,7,9,10,5,8,8,7,10,9,7,10,9,5,8,8,8,11,10,8,10,10,7,10,10,9,9,12,10,12,12,7,10,10,9,12,10,10,11,12,5,8,8,8,10,10,8,11,11,7,11,10,10,12,11,9,10,12,7,10,11,10,12,12,9,12,9,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,11,11,5,5,5,7,6,8,7,9,9,9,9,10,10,11,11,12,12,5,5,5,6,6,7,8,8,9,9,9,10,10,11,11,12,12,6,7,6,7,7,8,8,9,9,9,9,10,10,11,11,12,12,6,6,7,7,7,8,8,9,9,9,9,10,10,11,11,12,12,7,8,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,7,7,8,8,8,9,9,9,9,10,10,11,11,11,11,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,8,9,9,9,9,9,9,10,10,10,10,11,11,12,12,12,12,9,9,9,9,9,10,10,10,10,10,11,11,11,12,12,13,13,9,9,9,9,9,10,10,10,10,11,10,11,11,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,11,12,12,12,13,13,10,10,10,10,10,11,11,11,11,11,11,12,11,12,12,13,13,11,11,11,11,11,11,11,12,12,12,12,12,12,13,13,13,13,11,11,11,11,11,11,11,12,12,12,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,13,13,13,13,13,14,14,11,12,12,12,12,12,12,12,13,13,13,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,9,9,4,5,5,6,6,8,7,9,9,4,5,5,6,6,7,8,9,9,6,6,6,7,7,8,8,10,10,6,6,6,7,7,8,8,10,10,7,8,7,8,8,9,9,11,10,7,7,8,8,8,9,9,10,11,9,9,9,10,10,11,10,11,11,9,9,9,10,10,10,11,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,5,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,9,11,11,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,9,10,10,11,12,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,10,10,10,12,12,9,10,10,12,12,12,12,12,14,14,11,12,12,13,14,9,10,10,12,12,9,10,10,12,12,10,10,10,12,12,11,12,12,14,13,12,12,12,14,13,5,7,7,9,9,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,10,12,12,7,8,8,11,10,8,9,9,11,11,8,9,9,11,11,10,11,11,12,13,10,11,11,12,13,7,8,8,10,10,8,9,8,11,10,8,9,9,11,11,10,11,10,13,12,10,11,11,13,13,10,11,10,13,12,10,11,11,13,13,10,11,11,13,13,12,12,13,13,14,12,13,13,14,14,9,10,10,12,12,10,11,10,13,12,10,11,11,13,13,12,13,12,14,13,12,13,13,14,15,5,7,7,9,10,7,8,8,10,10,7,8,8,10,10,10,10,10,12,12,10,10,11,12,12,7,8,8,10,10,8,9,9,11,11,8,8,9,10,11,10,11,11,13,13,10,10,11,12,13,7,8,8,10,10,8,9,9,11,11,8,9,9,11,11,10,11,11,13,12,10,11,11,13,12,9,10,10,12,12,10,11,11,13,13,10,10,11,12,13,12,13,13,15,14,12,12,13,12,14,9,10,11,12,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,12,13,12,14,13,8,10,10,12,12,9,11,10,13,12,9,10,10,12,13,12,13,13,14,14,12,12,12,14,14],"i8",O3,_.GLOBAL_BASE+304880),C3([9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,13,13,13,14,15,12,13,13,14,15,9,10,10,12,13,10,11,10,13,13,10,11,11,12,13,12,13,12,15,14,12,13,13,14,15,11,12,12,15,14,12,12,13,14,15,12,13,13,15,14,13,13,15,14,16,14,14,14,16,15,11,12,12,14,14,11,12,12,14,14,12,13,13,14,15,13,14,13,15,13,14,14,14,15,16,8,9,10,12,12,9,10,10,13,12,9,10,11,12,13,12,12,12,14,14,12,13,13,14,14,9,10,10,13,12,10,11,11,13,13,10,10,11,13,13,12,13,13,15,14,12,12,13,14,15,9,10,10,13,13,10,11,11,13,13,10,11,11,13,13,12,13,13,14,14,13,13,13,15,15,11,12,12,14,13,12,13,13,15,14,11,12,12,14,14,14,14,14,16,15,13,13,14,13,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,14,16,16,14,15,13,16,14,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,7,5,7,7,5,7,7,7,9,9,7,9,9,5,7,7,7,9,9,8,9,9,5,7,7,8,9,9,7,9,9,7,9,9,9,10,11,9,10,10,7,9,9,9,10,9,9,10,11,5,8,7,7,9,9,8,9,9,7,9,9,9,11,10,9,9,10,7,9,9,9,10,10,9,11,10,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,8,11,13,13,15,16,19,19,19,19,11,8,8,9,9,11,13,15,19,20,14,8,7,7,8,9,12,13,15,20,15,9,6,5,5,7,10,12,14,18,14,9,7,5,3,4,7,10,12,16,13,10,8,6,3,3,5,8,11,14,11,10,9,7,5,4,4,6,11,14,10,10,10,8,6,5,5,6,10,14,10,10,10,9,8,7,7,7,10,14,11,12,12,12,11,10,10,10,12,16,0,0,0,0,2,0,0,0,100,0,0,0,112,225,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,64,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,104,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,144,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,184,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,224,210,4,0,0,0,0,0,0,0,0,0,0,0,0,0,8,211,4,0,0,0,0,0,48,211,4,0,88,211,4,0,0,0,0,0,0,0,0,0,128,211,4,0,168,211,4,0,0,0,0,0,0,0,0,0,208,211,4,0,248,211,4,0,32,212,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,216,209,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,10,8,12,8,14,8,14,19,5,3,5,5,7,6,11,7,16,19,7,5,6,7,7,9,11,12,19,19,6,4,7,5,7,6,10,7,18,18,8,6,7,7,7,7,8,9,18,18,7,5,8,5,7,5,8,6,18,18,12,9,10,9,9,9,8,9,18,18,8,7,10,6,8,5,6,4,11,18,11,15,16,12,11,8,8,6,9,18,14,18,18,18,16,16,16,13,16,18,0,0,0,0,4,0,0,0,81,0,0,0,8,225,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,225,4,0,0,0,0,0,4,0,0,0,81,0,0,0,160,224,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,16,222,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,4,0,0,0,0,0,4,0,0,0,113,2,0,0,128,219,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,221,4,0,0,0,0,0,2,0,0,0,81,0,0,0,0,219,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,88,219,4,0,0,0,0,0,2,0,0,0,81,0,0,0,128,218,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,216,218,4,0,0,0,0,0,4,0,0,0,81,0,0,0,24,218,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,112,218,4,0,0,0,0,0,2,0,0,0,121,0,0,0,104,217,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,232,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,216,4,0,1,0,0,0,0,128,187,224,0,0,118,96,4,0,0,0,0,0,0,0,56,217,4,0,0,0,0,0,2,0,0,0,121,0,0,0,8,216,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,136,216,4,0,0,0,0,0,2,0,0,0,225,0,0,0,224,214,4,0,1,0,0,0,0,228,91,225,0,224,255,96,4,0,0,0,0,0,0,0,200,215,4,0,0,0,0,0,2,0,0,0,225,0,0,0,184,213,4,0,1,0,0,0,0,192,221,224,0,0,145,96,4,0,0,0,0,0,0,0,160,214,4,0,0,0,0,0,2,0,0,0,33,1,0,0,72,212,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,112,213,4,0,0,0,0,0,1,6,6,7,8,8,11,10,9,9,11,9,10,9,11,11,9,6,7,6,11,8,11,9,10,10,11,9,11,10,10,10,11,9,5,7,7,8,8,10,11,8,8,11,9,9,10,11,9,10,11,8,9,6,8,8,9,9,10,10,11,11,11,9,11,10,9,11,8,8,8,9,8,9,10,11,9,9,11,11,10,9,9,11,10,8,11,8,9,8,11,9,10,9,10,11,11,10,10,9,10,10,8,8,9,10,10,10,9,11,9,10,11,11,11,11,10,9,11,9,9,11,11,10,8,11,11,11,9,10,10,11,10,11,11,9,11,10,9,11,10,10,10,10,9,11,10,11,10,9,9,10,11,9,8,10,11,11,10,10,11,9,11,10,11,11,10,11,9,9,8,10,8,9,11,9,8,10,10,9,11,10,11,10,11,9,11,8,10,11,11,11,11,10,10,11,11,11,11,10,11,11,10,9,8,10,10,9,11,10,11,11,11,9,9,9,11,11,11,10,10,9,9,10,9,11,11,11,11,8,10,11,10,11,11,10,11,11,9,9,9,10,9,11,9,11,11,11,11,11,10,11,11,10,11,10,11,11,9,11,10,11,10,9,10,9,10,10,11,11,11,11,9,10,9,10,11,11,10,11,11,11,11,11,11,10,11,11,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,6,5,9,9,10,10,6,7,9,9,10,10,10,10,5,10,8,10,8,10,10,8,8,10,9,10,10,10,10,5,8,9,10,10,10,10,8,10,10,10,10,10,10,10,9,10,10,10,10,10,10,9,9,10,10,10,10,10,10,9,9,8,9,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,6,8,8,10,10,10,8,10,10,10,10,10,10,10,10,5,8,8,10,10,10,9,9,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,5,5,6,6,7,7,8,8,8,8,4,6,6,7,7,8,7,8,8,8,8,4,6,6,7,7,7,7,8,8,8,8,6,7,7,7,7,8,8,8,8,8,9,6,7,7,7,7,8,8,8,8,9,9,7,7,7,8,8,8,8,9,9,9,9,7,7,7,8,8,8,8,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,8,8,9,9,9,9,9,9,8,8,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,5,8,8,10,10,12,12,4,7,7,8,8,9,9,12,11,14,13,4,7,7,7,8,9,10,11,11,13,12,5,8,8,9,9,11,11,12,13,15,14,5,7,8,9,9,11,11,13,13,17,15,8,9,10,11,11,12,13,17,14,17,16,8,10,9,11,11,12,12,13,15,15,17,10,11,11,12,13,14,15,15,16,16,17,9,11,11,12,12,14,15,17,15,15,16,11,14,12,14,15,16,15,16,16,16,15,11,13,13,14,14,15,15,16,16,15,16,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,4,6,5,7,7,8,8,8,8,8,8,4,5,6,7,7,8,8,8,8,8,8,6,7,7,8,8,8,8,9,9,9,9,6,7,7,8,8,8,8,9,9,9,9,7,8,8,8,8,9,9,9,10,9,10,7,8,8,8,8,9,9,9,9,10,9,8,8,8,9,9,10,10,10,10,10,10,8,8,8,9,9,9,9,10,10,10,10,8,8,8,9,9,9,10,10,10,10,10,8,8,8,9,9,10,10,10,10,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,4,8,8,4,8,8,5,11,9,8,12,11,8,12,11,5,10,11,8,11,12,8,11,12,4,11,11,11,14,13,10,13,13,8,14,13,12,14,16,12,16,15,8,14,14,13,16,14,12,15,16,4,11,11,10,14,13,11,14,14,8,15,14,12,15,15,12,14,16,8,14,14,11,16,15,12,15,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,6,6,7,7,9,9,4,4,4,6,6,8,8,9,9,4,4,4,6,6,7,7,9,9,6,6,6,7,7,8,8,10,9,6,6,6,7,7,8,8,9,10,7,8,7,8,8,9,9,10,10,7,8,8,8,8,9,9,10,10,9,9,9,10,10,10,10,11,11,9,9,9,10,10,10,10,11,11,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,10,10,4,5,6,8,8,8,8,10,10,7,8,8,9,9,9,9,11,11,7,8,8,9,9,9,9,11,11,7,8,8,10,9,11,11,12,11,7,8,8,9,9,11,11,12,12,9,10,10,11,11,12,12,13,12,9,10,10,11,11,12,12,12,13,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,4,5,5,8,8,6,6,7,9,9,6,6,6,9,9,9,10,9,11,11,9,9,10,11,11,6,7,7,10,9,7,7,8,9,10,7,7,8,10,10,10,10,10,10,12,9,9,10,11,12,6,7,7,9,9,7,8,7,10,10,7,8,7,10,10,9,10,9,12,11,10,10,9,12,10,9,10,10,12,11,10,10,10,12,12,9,10,10,12,12,12,11,12,13,13,11,11,12,12,13,9,10,10,11,12,9,10,10,12,12,10,10,10,12,12,11,12,11,14,13,11,12,12,14,13,5,7,7,10,10,7,8,8,10,10,7,8,7,10,10,10,10,10,12,12,10,10,10,12,12,6,8,7,10,10,7,7,9,10,11,8,9,9,11,10,10,10,11,11,13,10,10,11,12,13,6,8,8,10,10,7,9,8,11,10,8,9,9,10,11,10,11,10,13,11,10,11,10,12,12,10,11,10,12,11,10,10,10,12,13,10,11,11,13,12,11,11,13,11,14,12,12,13,14,14,9,10,10,12,13,10,11,10,13,12,10,11,11,12,13,11,12,11,14,12,12,13,13,15,14,5,7,7,10,10,7,7,8,10,10,7,8,8,10,10,10,10,10,11,12,10,10,10,12,12,7,8,8,10,10,8,9,8,11,10,7,8,9,10,11,10,11,11,12,12,10,10,11,11,13,7,7,8,10,10,8,8,9,10,11,7,9,7,11,10,10,11,11,13,12,11,11,10,13,11,9,10,10,12,12,10,11,11,13,12,10,10,11,12,12,12,13,13,14,14,11,11,12,12,14,10,10,11,12,12,10,11,11,12,13,10,10,10,13,12,12,13,13,15,14,12,13,10,14,11,8,10,10,12,12,10,11,10,13,13,9,10,10,12,12,12,13,13,15,14,11,12,12,13,13,9,10,10,13,12,10,10,11,13,13,10,11,10,13,12,12,12,13,14,15,12,13,12,15,13,9,10,10,12,13,10,11,10,13,12,10,10,11,12,13,12,14,12,15,13,12,12,13,14,15,11,12,11,14,13,11,11,12,14,15,12,13,12,15,14,13,11,15,11,16,13,14,14,16,15,11,12,12,14,14,11,12,11,14,13,12,12,13,14,15,13,14,12,16,12,14,14,14,15,15,8,10,10,12,12,9,10,10,12,12,10,10,11,13,13,11,12,12,13,13,12,13,13,14,15,9,10,10,13,12,10,11,11,13,12,10,10,11,13,13,12,13,12,15,14,12,12,13,13,16,9,9,10,12,13,10,10,11,12,13,10,11,10,13,13,12,12,13,13,15,13,13,12,15,13,11,12,12,14,14,12,13,12,15,14,11,11,12,13,14,14,14,14,16,15,13,12,15,12,16,11,11,12,13,14,12,13,13,14,15,10,12,11,14,13,14,15,14,16,16,13,14,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,8,8,6,7,7,9,9,5,7,7,9,9,9,10,9,11,11,9,9,10,11,11,6,8,8,10,10,8,9,10,11,11,8,9,10,11,11,10,11,11,12,13,10,11,11,13,13,6,8,8,10,10,8,10,9,11,11,8,10,9,11,11,10,11,11,13,13,10,11,11,13,12,9,11,11,14,13,10,12,12,15,14,10,12,11,14,13,12,13,13,15,15,12,13,13,16,14,9,11,11,13,14,10,11,12,14,14,10,12,12,14,15,12,13,13,14,15,12,13,14,15,16,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,8,10,10,12,12,9,11,12,12,13,10,12,12,13,13,12,12,13,14,15,11,13,13,15,15,7,10,10,12,12,9,12,11,13,12,10,11,12,13,13,12,13,12,15,14,11,12,13,15,15,10,12,12,15,14,11,13,13,16,15,11,13,13,16,15,14,13,14,15,16,13,15,15,17,17,10,12,12,14,15,11,12,12,15,15,11,13,13,15,16,13,15,13,16,15,13,15,15,16,17,5,8,8,11,11,8,10,10,12,12,8,10,10,12,12,11,12,12,14,14,11,12,12,14,14,7,10,10,12,12,10,12,12,14,13,9,11,12,12,13,12,13,13,15,15,12,12,13,13,15,7,10,10,12,13,10,11,12,13,13,10,12,11,13,13,11,13,13,15,15,12,13,12,15,14,9,12,12,15,14,11,13,13,15,15,11,12,13,15,15,13,14,14,17,19,13,13,14,16,16,10,12,12,14,15,11,13,13,15,16,11,13,12,16,15,13,15,15,17,18,14,15,13,16,15,8,11,11,15,14,10,12,12,16,15,10,12,12,16,16,14,15,15,18,17,13,14,15,16,18,9,12,12,15,15,11,12,14,16,17,11,13,13,16,15,15,15,15,17,18,14,15,16,17,17,9,12,12,15,15,11,14,13,16,16,11,13,13,16,16,15,16,15,17,18,14,16,15,17,16,12,14,14,17,16,12,14,15,18,17,13,15,15,17,17,15,15,18,16,20,15,16,17,18,18,11,14,14,16,17,13,15,14,18,17,13,15,15,17,17,15,17,15,18,17,15,17,16,19,18,8,11,11,14,15,10,12,12,15,15,10,12,12,16,16,13,14,14,17,16,14,15,15,17,17,9,12,12,15,16,11,13,13,16,16,11,12,13,16,16,14,16,15,20,17,14,16,16,17,17,9,12,12,15,16,11,13,13,16,17,11,13,13,17,16,14,15,15,17,18,15,15,15,18,18,11,14,14,17,16,13,15,15,17,17,13,14,14,18,17,15,16,16,18,19,15,15,17,17,19,11,14,14,16,17,13,15,14,17,19,13,15,14,18,17,15,17,16,18,18,15,17,15,18,16,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,5,6,6,5,6,6,5,6,6,6,7,8,6,7,8,5,6,6,6,8,7,6,8,7,5,6,6,6,8,8,6,8,8,6,8,8,7,7,10,8,9,9,6,8,8,7,9,8,8,9,10,5,6,6,6,8,8,7,8,8,6,8,8,8,10,9,7,8,9,6,8,8,8,9,9,7,10,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,7,5,8,7,7,10,10,7,9,10,5,7,8,7,10,9,7,10,10,5,8,8,8,10,10,8,10,10,7,10,10,10,11,12,10,12,13,7,10,10,9,13,11,10,12,13,5,8,8,8,10,10,8,10,10,7,10,10,10,12,12,9,11,12,7,10,11,10,12,12,10,13,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,10,9,11,10,15,11,13,16,6,4,6,6,7,7,10,9,12,16,10,6,5,6,6,7,10,11,16,16,9,6,7,6,7,7,10,8,14,16,11,6,5,4,5,6,8,9,15,16,9,6,6,5,6,6,9,8,14,16,12,7,6,6,5,6,6,7,13,16,8,6,7,6,5,5,4,4,11,16,9,8,9,9,7,7,6,5,13,16,14,14,16,15,16,15,16,16,16,16,0,0,0,0,2,0,0,0,64,0,0,0,136,239,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,232,226,4,0,0,0,0,0,0,0,0,0,0,0,0,0,16,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,56,227,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,227,4,0,0,0,0,0,136,227,4,0,176,227,4,0,0,0,0,0,0,0,0,0,216,227,4,0,0,228,4,0,40,228,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,81,0,0,0,32,239,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,120,239,4,0,0,0,0,0,4,0,0,0,81,0,0,0,184,238,4,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,16,239,4,0,0,0,0,0,4,0,0,0,113,2,0,0,40,236,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,238,4,0,0,0,0,0,4,0,0,0,113,2,0,0,152,233,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,236,4,0,0,0,0,0,2,0,0,0,81,0,0,0,24,233,4,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,112,233,4,0,0,0,0,0,2,0,0,0,169,0,0,0,48,232,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,224,232,4,0,0,0,0,0,2,0,0,0,25,0,0,0,248,231,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,232,4,0,0,0,0,0,4,0,0,0,81,0,0,0,144,231,4,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,232,231,4,0,0,0,0,0,2,0,0,0,225,0,0,0,104,230,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,80,231,4,0,0,0,0,0,2,0,0,0,185,1,0,0,80,228,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,16,230,4,0,0,0,0,0,1,6,6,7,8,7,7,10,9,10,9,11,10,9,11,10,9,9,9,9,10,6,8,7,9,9,8,8,10,10,9,11,11,12,12,10,9,11,9,12,10,9,6,9,8,9,12,8,8,11,9,11,11,12,11,12,12,10,11,11,10,10,11,7,10,9,9,9,9,9,10,9,10,9,10,10,12,10,10,10,11,12,10,10,7,9,9,9,10,9,9,10,10,9,9,9,11,11,10,10,10,10,9,9,12,7,9,10,9,11,9,10,9,10,11,11,11,10,11,12,9,12,11,10,10,10,7,9,9,9,9,10,12,10,9,11,12,10,11,12,12,11,9,10,11,10,11,7,9,10,10,11,10,9,10,11,11,11,10,12,12,12,11,11,10,11,11,12,8,9,10,12,11,10,10,12,12,12,12,12,10,11,11,9,11,10,12,11,11,8,9,10,10,11,12,11,11,10,10,10,12,12,12,9,10,12,12,12,12,12,8,10,11,10,10,12,9,11,12,12,11,12,12,12,12,10,12,10,10,10,10,8,12,11,11,11,10,10,11,12,12,12,12,11,12,12,12,11,11,11,12,10,9,10,10,12,10,12,10,12,12,10,10,10,11,12,12,12,11,12,12,12,11,10,11,12,12,12,11,12,12,11,12,12,11,12,12,12,12,11,12,12,10,10,10,10,11,11,12,11,12,12,12,12,12,12,12,11,12,11,10,11,11,12,11,11,9,10,10,10,12,10,10,11,9,11,12,11,12,11,12,12,10,11,10,12,9,9,9,12,11,10,11,10,12,10,12,10,12,12,12,11,11,11,11,11,10,9,10,10,11,10,11,11,12,11,10,11,12,12,12,11,11,9,12,10,12,9,10,12,10,10,11,10,11,11,12,11,10,11,10,11,11,11,11,12,11,11,10,9,10,10,10,9,11,11,10,9,12,10,11,12,11,12,12,11,12,11,12,11,10,11,10,12,11,12,11,12,11,12,10,11,10,10,12,11,10,11,11,11,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,6,5,9,10,11,11,10,10,10,10,10,10,5,8,8,8,10,10,10,10,10,10,10,10,10,10,10,5,8,9,9,9,10,10,10,10,10,10,10,10,10,10,5,10,8,10,10,10,10,10,10,10,10,10,10,10,10,4,8,9,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,5,6,6,4,6,6,6,6,4,6,6,6,6,6,6,6,7,7,6,6,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,13,13,18,17,3,6,6,9,9,11,11,13,13,14,14,18,17,3,6,6,9,9,11,11,13,13,14,14,17,18,7,9,9,11,11,13,13,14,14,15,15,0,0,7,9,9,11,11,13,13,14,14,15,16,19,18,10,11,11,13,13,14,14,16,15,17,18,0,0,10,11,11,13,13,14,14,15,15,16,18,0,0,11,13,13,14,14,15,15,17,17,0,19,0,0,11,13,13,14,14,14,15,16,18,0,19,0,0,13,14,14,15,15,18,17,18,18,0,19,0,0,13,14,14,15,16,16,16,18,18,19,0,0,0,16,17,17,0,17,19,19,0,19,0,0,0,0,16,19,16,17,18,0,19,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,4,4,7,7,7,7,9,9,4,6,6,8,8,8,8,9,9,4,6,6,8,8,8,8,9,9,7,8,8,9,9,9,9,11,10,7,8,8,9,9,9,9,10,11,7,8,8,9,9,10,10,11,11,7,8,8,9,9,10,10,11,11,9,9,9,10,10,11,11,12,12,9,9,9,10,10,11,11,12,12,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,3,5,5,8,8,6,6,6,9,9,6,6,6,9,9,9,10,9,11,11,9,9,9,11,11,6,7,7,10,10,7,7,8,10,10,7,7,8,10,10,10,10,10,11,12,9,10,10,11,12,6,7,7,10,10,7,8,7,10,10,7,8,7,10,10,10,11,10,12,11,10,10,10,13,10,9,10,10,12,12,10,11,10,14,12,9,11,11,13,13,11,12,13,13,13,11,12,12,15,13,9,10,10,12,13,9,11,10,12,13,10,10,11,12,13,11,12,12,12,13,11,12,12,13,13,5,7,7,10,10,7,8,8,10,10,7,8,8,10,10,10,11,10,12,13,10,10,11,12,12,6,8,8,11,10,7,8,9,10,12,8,9,9,11,11,11,10,11,11,12,10,11,11,13,12,7,8,8,10,11,8,9,8,11,10,8,9,9,11,11,10,12,10,13,11,10,11,11,13,13,10,11,10,14,13,10,10,11,13,13,10,12,11,14,13,12,11,13,12,13,13,12,13,14,14,10,11,11,13,13,10,11,10,12,13,10,12,12,12,14,12,12,12,14,12,12,13,12,17,15,5,7,7,10,10,7,8,8,10,10,7,8,8,11,10,10,10,11,12,12,10,11,11,12,13,6,8,8,11,10,8,9,9,11,11,7,8,9,10,11,11,11,11,12,12,10,10,11,12,13,6,8,8,10,11,8,9,9,11,11,7,9,7,11,10,10,12,12,13,13,11,11,10,13,11,9,11,10,14,13,11,11,11,15,13,10,10,11,13,13,12,13,13,14,14,12,11,12,12,13,10,11,11,12,13,10,11,12,13,13,10,11,10,13,12,12,12,13,14,0,12,13,11,13,11,8,10,10,13,13,10,11,11,14,13,10,11,11,13,12,13,14,14,14,15,12,12,12,15,14,9,11,10,13,12,10,10,11,13,14,11,11,11,15,12,13,12,14,15,16,13,13,13,14,13,9,11,11,12,12,10,12,11,13,13,10,11,11,13,14,13,13,13,15,15,13,13,14,17,15,11,12,12,14,14,10,11,12,13,15,12,13,13,0,15,13,11,14,12,16,14,16,14,0,15,11,12,12,14,16,11,13,12,16,15,12,13,13,14,15,12,14,12,15,13,15,14,14,16,16,8,10,10,13,13,10,11,10,13,14,10,11,11,13,13,13,13,12,14,14,14,13,13,16,17,9,10,10,12,14,10,12,11,14,13,10,11,12,13,14,12,12,12,15,15,13,13,13,14,14,9,10,10,13,13,10,11,12,12,14,10,11,10,13,13,13,13,13,14,16,13,13,13,14,14,11,12,13,15,13,12,14,13,14,16,12,12,13,13,14,13,14,14,17,15,13,12,17,13,16,11,12,13,14,15,12,13,14,14,17,11,12,11,14,14,13,16,14,16,0,14,15,11,15,11,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,7,7,6,7,7,8,8,6,7,8,8,8,8,9,9,11,11,8,9,9,11,11,6,9,8,10,10,8,10,10,11,11,8,10,10,11,11,10,11,10,13,12,9,11,10,13,13,6,8,9,10,10,8,10,10,11,11,8,10,10,11,11,9,10,11,13,12,10,10,11,12,12,8,11,11,14,13,10,12,11,15,13,9,12,11,15,14,12,14,13,16,14,12,13,13,17,14,8,11,11,13,14,9,11,12,14,15,10,11,12,13,15,11,13,13,14,16,12,13,14,14,16,5,9,9,11,11,9,11,11,12,12,8,11,11,12,12,11,12,12,15,14,10,12,12,15,15,8,11,11,13,12,10,12,12,13,13,10,12,12,14,13,12,12,13,14,15,11,13,13,17,16,7,11,11,13,13,10,12,12,14,13,10,12,12,13,14,12,13,12,15,14,11,13,13,15,14,9,12,12,16,15,11,13,13,17,16,10,13,13,16,16,13,14,15,15,16,13,15,14,19,17,9,12,12,14,16,11,13,13,15,16,10,13,13,17,16,13,14,13,17,15,12,15,15,16,17,5,9,9,11,11,8,11,11,13,12,9,11,11,12,12,10,12,12,14,15,11,12,12,14,14,7,11,10,13,12,10,12,12,14,13,10,11,12,13,13,11,13,13,15,16,12,12,13,15,15,7,11,11,13,13,10,13,13,14,14,10,12,12,13,13,11,13,13,16,15,12,13,13,15,14,9,12,12,15,15,10,13,13,17,16,11,12,13,15,15,12,15,14,18,18,13,14,14,16,17,9,12,12,15,16,10,13,13,15,16,11,13,13,15,16,13,15,15,17,17,13,15,14,16,15,7,11,11,15,16,10,13,12,16,17,10,12,13,15,17,15,16,16,18,17,13,15,15,17,18,8,12,12,16,16,11,13,14,17,18,11,13,13,18,16,15,17,16,17,19,14,15,15,17,16,8,12,12,16,15,11,14,13,18,17,11,13,14,18,17,15,16,16,18,17,13,16,16,18,18,11,15,14,18,17,13,14,15,18,0,12,15,15,0,17,17,16,17,17,18,14,16,18,18,0,11,14,14,17,0,12,15,14,17,19,12,15,14,18,0,15,18,16,0,17,14,18,16,18,0,7,11,11,16,15,10,12,12,18,16,10,13,13,16,15,13,15,14,17,17,14,16,16,19,18,8,12,12,16,16,11,13,13,18,16,11,13,14,17,16,14,15,15,19,18,15,16,16,0,19,8,12,12,16,17,11,13,13,17,17,11,14,13,17,17,13,15,15,17,19,15,17,17,19,0,11,14,15,19,17,12,15,16,18,18,12,14,15,19,17,14,16,17,0,18,16,16,19,17,0,11,14,14,18,19,12,15,14,17,17,13,16,14,17,16,14,17,16,18,18,15,18,15,0,18,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,5,6,6,5,6,6,5,7,7,7,8,9,7,8,9,5,7,7,7,9,8,7,9,7,4,7,7,7,9,9,7,8,8,6,9,8,7,8,11,9,11,10,6,8,9,8,11,8,9,10,11,4,7,7,7,8,8,7,9,9,6,9,8,9,11,10,8,8,11,6,8,9,9,10,11,8,11,8,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,5,7,7,5,7,8,5,8,8,8,10,10,8,10,11,5,8,8,8,10,10,8,10,10,4,9,9,9,12,11,8,11,11,8,12,11,10,12,14,10,13,13,7,11,11,10,14,12,11,14,14,4,9,9,8,11,11,9,11,12,7,11,11,10,13,14,10,12,14,8,11,12,10,14,14,10,13,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,8,7,14,8,9,19,5,2,5,5,9,6,9,19,8,4,5,7,8,9,13,19,7,4,6,5,9,6,9,19,12,8,7,9,10,11,13,19,8,5,8,6,9,6,7,19,8,8,10,7,7,4,5,19,12,17,19,15,18,13,11,18,9,0,0,0,3,0,0,0,3,0,0,0,0,0,0,0,9,0,0,0,9,0,0,0,9,0,0,0,0,0,0,0,0,0,0,0,0,112,199,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,200,47,1,0,32,240,4,0,200,47,1,0,64,240,4,0,200,47,1,0,128,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,248,45,5,0,248,45,5,0,32,46,5,0,32,46,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,32,5,5,0,32,5,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,24,73,1,0,8,6,5,0,8,6,5,0,72,5,5,0,72,5,5,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,192,240,4,0,192,240,4,0,232,240,4,0,232,240,4,0,2,0,0,0,0,0,0,0,32,0,0,0,224,163,2,0,168,241,4,0,168,241,4,0,232,240,4,0,232,240,4,0,2,0,0,0,100,0,0,0,184,4,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,96,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,136,242,4,0,0,0,0,0,0,0,0,0,0,0,0,0,176,242,4,0,0,0,0,0,216,242,4,0,0,243,4,0,0,0,0,0,0,0,0,0,40,243,4,0,80,243,4,0,0,0,0,0,0,0,0,0,120,243,4,0,160,243,4,0,0,0,0,0,0,0,0,0,200,243,4,0,240,243,4,0,0,0,0,0,0,0,0,0,24,244,4,0,64,244,4,0,104,244,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,208,241,4,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,7,9,9,9,8,9,10,13,16,5,4,5,6,7,7,8,9,12,16,6,5,5,5,7,7,9,10,12,15,7,6,5,4,5,6,8,9,10,13,8,7,7,5,5,5,7,9,10,12,7,7,7,6,5,5,6,7,10,12,8,8,8,7,7,5,5,6,9,11,8,9,9,8,8,6,6,5,8,11,10,11,12,12,11,9,9,8,9,12,13,14,15,15,14,12,12,11,11,13,0,0,0,0,4,0,0,0,81,0,0,0,80,4,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,4,5,0,0,0,0,0,4,0,0,0,113,2,0,0,192,1,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,4,5,0,0,0,0,0,2,0,0,0,81,0,0,0,64,1,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,152,1,5,0,0,0,0,0,2,0,0,0,33,1,0,0,208,255,4,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,248,0,5,0,0,0,0,0,4,0,0,0,81,0,0,0,104,255,4,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,192,255,4,0,0,0,0,0,2,0,0,0,121,0,0,0,184,254,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,56,255,4,0,0,0,0,0,2,0,0,0,169,0,0,0,208,253,4,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,128,254,4,0,0,0,0,0,2,0,0,0,25,0,0,0,152,253,4,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,184,253,4,0,0,0,0,0,2,0,0,0,169,0,0,0,176,252,4,0,1,0,0,0,0,128,208,224,0,0,118,96,4,0,0,0,0,0,0,0,96,253,4,0,0,0,0,0,2,0,0,0,121,0,0,0,0,252,4,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,128,252,4,0,0,0,0,0,2,0,0,0,225,0,0,0,216,250,4,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,251,4,0,0,0,0,0,2,0,0,0,185,1,0,0,192,248,4,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,250,4,0,0,0,0,0,2,0,0,0,33,1,0,0,80,247,4,0,1,0,0,0,0,24,157,225,0,24,61,97,5,0,0,0,0,0,0,0,120,248,4,0,0,0,0,0,2,0,0,0,105,1,0,0,144,245,4,0,1,0,0,0,0,144,27,225,0,128,184,96,5,0,0,0,0,0,0,0,0,247,4,0,0,0,0,0,1,0,0,0,49,0,0,0,144,244,4,0,1,0,0,0,0,0,152,224,0,0,16,96,6,0,0,0,0,0,0,0,200,244,4,0,0,0,0,0,2,4,4,4,4,5,5,5,5,6,6,6,6,6,6,6,6,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,24,0,0,0,23,0,0,0,25,0,0,0,22,0,0,0,26,0,0,0,21,0,0,0,27,0,0,0,20,0,0,0,28,0,0,0,19,0,0,0,29,0,0,0,18,0,0,0,30,0,0,0,17,0,0,0,31,0,0,0,16,0,0,0,32,0,0,0,15,0,0,0,33,0,0,0,14,0,0,0,34,0,0,0,13,0,0,0,35,0,0,0,12,0,0,0,36,0,0,0,11,0,0,0,37,0,0,0,10,0,0,0,38,0,0,0,9,0,0,0,39,0,0,0,8,0,0,0,40,0,0,0,7,0,0,0,41,0,0,0,6,0,0,0,42,0,0,0,5,0,0,0,43,0,0,0,4,0,0,0,44,0,0,0,3,0,0,0,45,0,0,0,2,0,0,0,46,0,0,0,1,0,0,0,47,0,0,0,0,0,0,0,48,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,7,8,8,10,9,11,10,13,11,14,13,6,6,6,8,8,8,8,8,7,9,8,11,9,13,11,14,12,14,13,5,6,6,8,8,8,8,8,8,9,9,11,11,13,11,14,13,15,15,17,8,8,8,8,9,9,9,8,11,9,12,10,13,11,14,12,14,13,17,8,8,8,8,9,9,9,9,10,10,11,11,13,13,13,14,16,15,17,12,12,8,8,9,9,10,10,11,11,12,11,13,12,13,12,14,13,16,12,12,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,17,17,17,9,9,9,9,11,11,12,12,12,13,13,13,16,14,14,14,17,17,17,9,8,9,8,11,10,12,12,13,13,14,14,15,15,16,16,17,17,17,12,12,10,10,11,12,12,13,13,14,13,15,15,14,16,15,17,17,17,12,12,10,8,12,9,13,12,14,14,15,14,15,16,16,16,17,17,17,17,17,11,11,12,12,14,14,14,16,15,16,15,16,15,17,17,17,17,17,17,11,9,12,10,13,11,15,14,16,16,17,16,16,15,17,17,17,17,17,15,15,12,12,14,14,15,16,16,15,16,16,17,17,17,17,17,17,17,14,14,12,10,14,11,15,12,17,16,15,16,17,16,17,17,17,17,17,17,17,13,13,14,14,14,16,17,17,16,17,17,17,17,17,17,17,17,17,17,13,9,13,12,15,13,16,16,17,17,17,17,17,17,17,17,17,17,17,15,17,14,14,15,16,16,17,16,17,16,17,17,17,17,17,17,17,17,17,17,14,13,15,16,16,17,16,17,17],"i8",O3,_.GLOBAL_BASE+315120),C3([17,0,0,0,0,0,0,0,9,0,0,0,8,0,0,0,10,0,0,0,7,0,0,0,11,0,0,0,6,0,0,0,12,0,0,0,5,0,0,0,13,0,0,0,4,0,0,0,14,0,0,0,3,0,0,0,15,0,0,0,2,0,0,0,16,0,0,0,1,0,0,0,17,0,0,0,0,0,0,0,18,0,0,0,0,0,0,0,1,4,3,10,8,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,2,4,4,6,6,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,10,11,10,7,7,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,11,11,11,8,8,8,8,9,9,9,9,9,9,9,9,10,9,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,11,11,11,8,8,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,11,11,11,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,11,11,11,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,10,10,6,6,6,8,8,9,9,8,8,9,9,10,10,11,11,6,5,5,8,7,9,9,8,8,9,9,10,10,11,11,20,8,8,8,8,9,9,9,9,10,10,11,10,12,11,20,8,8,8,8,9,9,9,9,10,10,11,11,12,12,20,12,12,9,9,10,10,10,10,11,11,12,12,13,12,20,13,13,9,9,10,10,10,10,11,11,12,12,13,13,20,20,20,9,9,9,9,10,10,11,11,12,12,13,12,20,20,20,9,9,9,8,10,10,12,11,12,12,13,13,20,20,20,13,13,10,10,11,11,12,12,13,13,13,13,20,20,20,13,13,10,10,11,10,12,11,13,13,14,14,20,20,20,20,20,11,11,11,11,12,12,13,13,14,14,20,20,20,20,20,11,10,11,11,13,11,13,13,14,14,20,20,21,21,21,14,14,11,12,13,13,13,13,14,14,21,21,21,21,21,15,15,12,11,13,12,14,13,15,14,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,2,4,4,6,6,7,7,7,7,7,7,9,9,9,6,7,7,7,7,7,8,8,9,9,9,6,6,7,7,7,7,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,8,8,8,8,9,9,9,7,7,7,7,7,7,8,8,9,9,9,7,7,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,8,8,7,7,8,8,9,9,9,9,9,7,7,7,7,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,7,7,8,8,8,8,10,9,10,10,5,5,5,7,7,9,9,10,10,11,10,12,11,6,5,5,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,10,10,11,11,12,12,20,7,7,7,7,9,9,11,10,12,11,12,12,20,11,11,8,8,10,10,11,11,12,12,13,13,20,12,12,8,8,9,9,11,11,12,12,13,13,20,20,21,10,10,10,10,11,11,12,12,13,13,21,21,21,10,10,10,10,11,11,12,12,13,13,21,21,21,14,14,11,11,12,12,13,13,13,14,21,21,21,16,15,11,11,12,11,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,21,21,21,21,21,13,13,12,12,13,13,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,8,7,8,8,9,9,10,10,5,5,5,7,7,9,9,9,9,11,11,12,12,6,5,5,7,7,9,9,10,9,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,7,7,7,7,9,9,10,10,11,11,12,12,0,11,11,8,8,10,10,11,11,12,12,13,13,0,12,12,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,6,6,6,6,7,7,7,7,11,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,6,7,8,8,8,8,9,9,11,11,11,7,7,8,8,8,8,8,8,11,11,11,7,7,8,8,8,8,9,9,11,11,11,8,8,8,8,8,8,8,8,11,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,8,8,8,8,8,8,12,11,11,11,11,7,7,8,8,8,8,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,5,7,7,6,7,7,4,6,6,10,11,10,10,10,11,4,6,6,10,10,11,10,11,10,5,10,10,9,12,11,10,12,12,7,10,10,12,12,12,12,13,13,7,11,10,11,12,12,12,13,13,6,11,10,10,12,12,11,12,12,7,11,10,12,13,13,12,12,12,7,10,11,12,13,13,12,12,12,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,6,7,7,8,8,8,8,9,9,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,11,10,0,0,0,6,6,7,7,8,8,8,8,9,9,10,10,10,10,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,7,8,8,9,9,10,10,11,11,11,11,12,12,0,0,0,7,8,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,8,8,9,9,10,10,11,11,12,12,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,7,7,8,8,0,0,0,6,6,8,8,9,9,0,0,0,6,6,8,8,9,9,0,0,0,7,7,8,9,10,10,0,0,0,7,7,9,9,10,10,0,0,0,8,8,9,9,11,11,0,0,0,7,7,9,9,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,2,4,4,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,0,0,0,8,8,4,4,4,8,7,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,4,4,4,7,8,0,0,0,8,8,0,0,0,8,8,0,0,0,9,9,0,0,0,9,9,7,8,8,10,9,0,0,0,12,11,0,0,0,11,12,0,0,0,14,13,0,0,0,14,14,7,8,8,9,10,0,0,0,11,12,0,0,0,11,11,0,0,0,14,14,0,0,0,14,14,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,0,0,0,12,11,0,0,0,12,12,0,0,0,13,12,0,0,0,13,13,8,8,8,11,11,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,8,12,11,0,0,0,12,12,0,0,0,12,11,0,0,0,13,13,0,0,0,13,13,8,8,8,11,12,0,0,0,11,12,0,0,0,11,12,0,0,0,13,14,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,0,0,0,13,13,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,12,13,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,13,12,8,9,9,14,14,0,0,0,13,13,0,0,0,13,13,0,0,0,13,13,0,0,0,12,12,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,4,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,7,10,12,11,12,13,15,16,18,15,10,8,8,8,9,10,12,13,14,17,10,7,7,7,7,8,10,12,15,18,10,7,7,5,5,6,8,10,13,15,10,7,6,5,4,4,6,9,12,15,11,7,7,5,4,3,4,7,11,13,12,9,8,7,5,4,4,5,10,13,11,11,11,9,7,5,5,5,9,12,13,12,13,12,10,8,8,7,9,13,14,14,14,14,13,11,11,10,10,13,0,0,0,0,2,0,0,0,100,0,0,0,144,45,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,152,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,232,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,16,7,5,0,0,0,0,0,0,0,0,0,0,0,0,0,56,7,5,0,0,0,0,0,96,7,5,0,136,7,5,0,0,0,0,0,0,0,0,0,176,7,5,0,216,7,5,0,0,0,0,0,0,0,0,0,0,8,5,0,40,8,5,0,80,8,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,100,0,0,0,48,6,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,20,7,10,7,8,10,11,11,4,2,20,5,8,6,7,9,10,10,20,20,20,20,19,19,19,19,19,19,7,5,19,6,10,7,9,11,13,17,11,8,19,10,7,7,8,10,11,15,7,5,19,7,7,5,6,9,11,16,7,6,19,8,7,6,6,7,9,13,9,9,19,11,9,8,6,7,8,13,12,14,19,16,13,10,9,8,9,13,14,17,19,18,18,17,12,11,11,13,0,0,0,0,8,0,0,0,161,25,0,0,216,19,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,45,5,0,0,0,0,0,4,0,0,0,113,2,0,0,72,17,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,19,5,0,0,0,0,0,2,0,0,0,81,0,0,0,200,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,32,17,5,0,0,0,0,0,2,0,0,0,81,0,0,0,72,16,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,160,16,5,0,0,0,0,0,2,0,0,0,33,1,0,0,216,14,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,0,16,5,0,0,0,0,0,4,0,0,0,81,0,0,0,112,14,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,200,14,5,0,0,0,0,0,2,0,0,0,121,0,0,0,192,13,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,64,14,5,0,0,0,0,0,2,0,0,0,169,0,0,0,216,12,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,136,13,5,0,0,0,0,0,2,0,0,0,25,0,0,0,160,12,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,12,5,0,0,0,0,0,2,0,0,0,169,0,0,0,184,11,5,0,1,0,0,0,0,136,93,225,0,176,19,97,4,0,0,0,0,0,0,0,104,12,5,0,0,0,0,0,2,0,0,0,225,0,0,0,144,10,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,120,11,5,0,0,0,0,0,2,0,0,0,185,1,0,0,120,8,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,56,10,5,0,0,0,0,0,1,4,4,6,6,7,7,8,7,8,8,9,9,9,9,10,10,10,9,10,10,11,12,12,8,8,8,8,9,9,9,9,10,10,10,10,10,11,11,10,12,11,11,13,11,7,7,8,8,8,8,9,9,9,10,10,10,10,9,10,10,11,11,12,11,11,8,8,8,8,9,9,10,10,10,10,11,11,11,11,11,11,11,12,11,12,12,8,8,9,9,9,9,9,10,10,10,10,10,10,11,11,11,11,11,11,12,11,9,9,9,9,10,10,10,10,11,10,11,11,11,11,11,11,12,12,12,12,11,9,9,9,9,10,10,10,10,11,11,11,11,11,11,11,11,11,12,12,12,13,9,10,10,9,11,10,10,10,10,11,11,11,11,11,10,11,12,11,12,12,11,12,11,10,9,10,10,11,10,11,11,11,11,11,11,11,11,11,12,12,11,12,12,12,10,10,10,11,10,11,11,11,11,11,11,11,11,11,11,11,12,13,12,12,11,9,10,10,11,11,10,11,11,11,12,11,11,11,11,11,12,12,13,13,12,13,10,10,12,10,11,11,11,11,11,11,11,11,11,12,12,11,13,12,12,12,12,13,12,11,11,11,11,11,11,12,11,12,11,11,11,11,12,12,13,12,11,12,12,11,11,11,11,11,12,11,11,11,11,12,11,11,12,11,12,13,13,12,12,12,12,11,11,11,11,11,12,11,11,12,11,12,11,11,11,11,13,12,12,12,12,13,11,11,11,12,12,11,11,11,12,11,12,12,12,11,12,13,12,11,11,12,12,11,12,11,11,11,12,12,11,12,11,11,11,12,12,12,12,13,12,13,12,12,12,12,11,11,12,11,11,11,11,11,11,12,12,12,13,12,11,13,13,12,12,11,12,10,11,11,11,11,12,11,12,12,11,12,12,13,12,12,13,12,12,12,12,12,11,12,12,12,11,12,11,11,11,12,13,12,13,13,13,13,13,12,13,13,12,12,13,11,11,11,11,11,12,11,11,12,11,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,4,4,4,4,8,8,12,13,14,14,14,14,14,14,6,6,6,6,6,10,9,14,14,14,14,14,14,14,14,7,6,5,6,6,10,9,12,13,13,13,13,13,13,13,13,7,7,9,9,11,11,12,13,13,13,13,13,13,13,13,7,7,8,8,11,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,12,13,13,13,13,13,13,13,13,13,12,12,10,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,6,6,6,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,6,6,7,7,7,7,8,8,9,9,6,5,5,7,8,8,9,8,8,9,9,10,11,6,5,5,8,8,9,9,8,8,9,10,10,11,0,8,8,8,9,9,9,9,9,10,10,11,11,0,9,9,9,8,9,9,9,9,10,10,11,11,0,13,13,9,9,10,10,10,10,11,11,12,12,0,14,13,9,9,10,10,10,10,11,11,12,12,0,0,0,10,10,9,9,11,11,12,12,13,12,0,0,0,10,10,9,9,10,10,12,12,13,13,0,0,0,13,14,11,10,11,11,12,12,13,14,0,0,0,14,14,10,10,11,11,12,12,13,13,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,12,12,12,12,13,13,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,3,5,6,7,7,7,7,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,6,6,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,7,7,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,7,7,8,8,8,8,8,8,10,10,10,8,8,8,8,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,10,10,10,10,10,9,9,8,8,9,9,10,10,10,10,10,8,8,8,8,9,9,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,10,9,10,10,10,9,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,10,10,6,10,9,11,11,11,11,10,10,6,10,10,11,11,11,11,10,10,7,11,11,11,11,11,12,12,11,6,10,10,11,10,10,11,11,11,6,10,10,10,11,10,11,11,11,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,6,6,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,8,9,10,9,10,10,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,11,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,12,12,13,13,0,0,0,0,0,10,10,11,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,12,13,13,14,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,0,0,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,5,5,6,6,8,8,0,0,0,7,7,7,7,9,9,0,0,0,7,7,7,7,9,9,0,0,0,8,8,8,8,9,9,0,0,0,8,8,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,9,9,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,2,3,7,7,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,9,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,7,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,8,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,7,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,9,11,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,11,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,7,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,8,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,11,10,0,0,0,0,0,0,8,9,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,9,10,11,0,0,0,0,0,0,9,11,9],"i8",O3,_.GLOBAL_BASE+325360),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,17,8,12,9,10,10,12,13,5,2,17,4,9,5,7,8,11,13,16,16,16,16,16,16,16,16,16,16,6,4,16,5,10,5,7,10,14,16,13,9,16,11,8,7,8,9,13,16,7,4,16,5,7,4,6,8,11,13,8,6,16,7,8,5,5,7,9,13,9,8,16,9,8,6,6,7,9,13,11,11,16,10,10,7,7,7,9,13,13,13,16,13,13,9,9,9,10,13,0,0,0,0,2,0,0,0,100,0,0,0,88,85,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,46,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,48,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,88,47,5,0,0,0,0,0,0,0,0,0,0,0,0,0,128,47,5,0,0,0,0,0,168,47,5,0,208,47,5,0,0,0,0,0,0,0,0,0,248,47,5,0,32,48,5,0,0,0,0,0,0,0,0,0,72,48,5,0,112,48,5,0,152,48,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,0,0,0,161,25,0,0,160,59,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,72,85,5,0,0,0,0,0,4,0,0,0,113,2,0,0,16,57,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,59,5,0,0,0,0,0,2,0,0,0,81,0,0,0,144,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,232,56,5,0,0,0,0,0,2,0,0,0,81,0,0,0,16,56,5,0,1,0,0,0,0,0,80,224,0,0,16,96,4,0,0,0,0,0,0,0,104,56,5,0,0,0,0,0,2,0,0,0,33,1,0,0,160,54,5,0,1,0,0,0,0,0,112,224,0,0,16,96,5,0,0,0,0,0,0,0,200,55,5,0,0,0,0,0,4,0,0,0,81,0,0,0,56,54,5,0,1,0,0,0,0,0,118,224,0,0,118,96,2,0,0,0,0,0,0,0,144,54,5,0,0,0,0,0,2,0,0,0,121,0,0,0,136,53,5,0,1,0,0,0,0,0,84,224,0,0,16,96,4,0,0,0,0,0,0,0,8,54,5,0,0,0,0,0,2,0,0,0,169,0,0,0,160,52,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,53,5,0,0,0,0,0,2,0,0,0,25,0,0,0,104,52,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,52,5,0,0,0,0,0,4,0,0,0,81,0,0,0,0,52,5,0,1,0,0,0,0,176,19,225,0,176,19,97,2,0,0,0,0,0,0,0,88,52,5,0,0,0,0,0,2,0,0,0,225,0,0,0,216,50,5,0,1,0,0,0,0,96,242,224,0,0,149,96,4,0,0,0,0,0,0,0,192,51,5,0,0,0,0,0,2,0,0,0,185,1,0,0,192,48,5,0,1,0,0,0,0,0,116,224,0,0,16,96,5,0,0,0,0,0,0,0,128,50,5,0,0,0,0,0,1,5,5,7,8,8,7,9,9,9,12,12,11,12,12,10,10,11,12,12,12,11,12,12,8,9,8,7,9,10,10,11,11,10,11,12,10,12,10,12,12,12,11,12,11,9,8,8,9,10,9,8,9,10,12,12,11,11,12,11,10,11,12,11,12,12,8,9,9,9,10,11,12,11,12,11,11,11,11,12,12,11,11,12,12,11,11,9,9,8,9,9,11,9,9,10,9,11,11,11,11,12,11,11,10,12,12,12,9,12,11,10,11,11,11,11,12,12,12,11,11,11,12,10,12,12,12,10,10,9,10,9,10,10,9,9,9,10,10,12,10,11,11,9,11,11,10,11,11,11,10,10,10,9,9,10,10,9,9,10,11,11,10,11,10,11,10,11,11,10,11,11,11,10,9,10,10,9,10,9,9,11,9,9,11,10,10,11,11,10,10,11,10,11,8,9,11,11,10,9,10,11,11,10,11,11,10,10,10,11,10,9,10,10,11,9,10,10,9,11,10,10,10,10,11,10,11,11,9,11,10,11,10,10,11,11,10,10,10,9,10,10,11,11,11,9,10,10,10,10,10,11,10,10,10,9,10,10,11,10,10,10,10,10,9,10,11,10,10,10,10,11,11,11,10,10,10,10,10,11,10,11,10,11,10,10,10,9,11,11,10,10,10,11,11,10,10,10,10,10,10,10,10,11,11,9,10,10,10,11,10,11,10,10,10,11,9,10,11,10,11,10,10,9,10,10,10,11,10,11,10,10,10,10,10,11,11,10,11,11,10,10,11,11,10,9,9,10,10,10,10,10,9,11,9,10,10,10,11,11,10,10,10,10,11,11,11,10,9,9,10,10,11,10,10,10,10,10,11,11,11,10,10,10,11,11,11,9,10,10,10,10,9,10,9,10,11,10,11,10,10,11,11,10,11,11,11,11,11,10,11,10,10,10,9,11,11,10,11,11,11,11,11,11,11,11,11,10,11,10,10,10,10,11,10,10,11,9,10,10,10,0,0,0,0,0,0,0,10,0,0,0,9,0,0,0,11,0,0,0,8,0,0,0,12,0,0,0,7,0,0,0,13,0,0,0,6,0,0,0,14,0,0,0,5,0,0,0,15,0,0,0,4,0,0,0,16,0,0,0,3,0,0,0,17,0,0,0,2,0,0,0,18,0,0,0,1,0,0,0,19,0,0,0,0,0,0,0,20,0,0,0,0,0,0,0,1,5,5,5,5,9,11,11,10,10,10,10,10,10,10,7,6,6,6,6,10,10,10,10,10,10,10,10,10,10,7,6,6,6,6,10,9,10,10,10,10,10,10,10,10,10,7,7,8,9,10,10,10,10,10,10,10,10,10,10,10,8,7,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,0,0,7,0,0,0,6,0,0,0,8,0,0,0,5,0,0,0,9,0,0,0,4,0,0,0,10,0,0,0,3,0,0,0,11,0,0,0,2,0,0,0,12,0,0,0,1,0,0,0,13,0,0,0,0,0,0,0,14,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,7,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,3,5,5,7,7,7,6,6,7,7,7,5,5,7,7,7,6,6,7,7,7,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,7,7,7,6,8,8,10,10,6,5,6,8,8,8,8,8,8,8,9,10,10,7,6,6,8,8,8,8,8,8,8,8,10,10,0,8,8,8,8,9,8,9,9,9,10,10,10,0,9,8,8,8,9,9,8,8,9,9,10,10,0,12,11,8,8,9,9,9,9,10,10,11,10,0,12,13,8,8,9,10,9,9,11,11,11,12,0,0,0,8,8,8,8,10,9,12,13,12,14,0,0,0,8,8,8,9,10,10,12,12,13,14,0,0,0,13,13,9,9,11,11,0,0,14,0,0,0,0,14,14,10,10,12,11,12,14,14,14,0,0,0,0,0,11,11,13,13,14,13,14,14,0,0,0,0,0,12,13,13,12,13,14,14,14,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,10,10,10,7,7,8,8,8,9,9,9,10,10,10,6,7,8,8,8,8,9,8,10,10,10,7,7,8,8,9,9,9,9,10,10,10,7,7,8,8,9,9,8,9,10,10,10,8,8,9,9,9,9,9,9,11,11,11,8,8,9,9,9,9,9,10,10,11,11,9,9,9,9,9,9,9,10,11,11,11,10,11,9,9,9,9,10,9,11,11,11,10,11,10,10,9,9,10,10,11,11,11,11,11,9,9,9,9,10,10,0,0,0,0,0,0,0,5,0,0,0,4,0,0,0,6,0,0,0,3,0,0,0,7,0,0,0,2,0,0,0,8,0,0,0,1,0,0,0,9,0,0,0,0,0,0,0,10,0,0,0,0,0,0,0,1,4,4,6,6,6,7,6,6,4,7,7,11,10,10,11,11,10,4,7,7,10,10,10,11,10,10,6,10,10,11,11,11,11,11,10,6,9,9,11,12,12,11,9,9,6,9,10,11,12,12,11,9,10,7,11,11,11,11,11,12,13,12,6,9,10,11,10,10,12,13,13,6,10,9,11,10,10,11,12,13,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,4,6,6,7,7,8,8,8,8,9,9,10,10,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,10,11,11,11,0,0,0,6,6,8,8,9,9,9,9,10,10,11,11,11,11,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,7,7,8,8,9,9,9,9,10,10,11,11,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,12,0,0,0,8,8,9,9,10,10,10,10,11,11,12,12,12,13,0,0,0,9,9,9,9,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,10,10,10,10,10,10,11,11,12,12,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,13,0,0,0,0,0,9,9,10,10,11,11,12,12,13,13,13,14,0,0,0,0,0,10,10,10,11,11,11,12,12,13,13,13,14,0,0,0,0,0,0,0,10,10,11,11,12,12,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,13,13,13,13,14,14,0,0,0,0,0,0,0,11,11,12,12,12,13,13,14,15,14,0,0,0,0,0,0,0,12,12,12,12,13,13,13,14,14,15,0,0,0,0,0,0,0,0,0,12,12,13,13,14,13,14,14,0,0,0,0,0,0,0,8,0,0,0,7,0,0,0,9,0,0,0,6,0,0,0,10,0,0,0,5,0,0,0,11,0,0,0,4,0,0,0,12,0,0,0,3,0,0,0,13,0,0,0,2,0,0,0,14,0,0,0,1,0,0,0,15,0,0,0,0,0,0,0,16,0,0,0,0,0,0,0,1,3,3,6,6,6,6,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,7,7,8,8,0,0,0,7,7,8,8,9,9,0,0,0,7,7,8,8,9,9,0,0,0,8,9,8,8,10,10,0,0,0,8,8,8,8,10,10,0,0,0,10,10,9,9,10,10,0,0,0,0,0,9,9,10,10,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,3,2,7,8,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,3,0,0,0,5,0,0,0,2,0,0,0,6,0,0,0,1,0,0,0,7,0,0,0,0,0,0,0,8,0,0,0,0,0,0,0,1,4,4,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,7,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,5,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,9,10,0,0,0,0,0,0,7,9,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,7,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,9,12,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,9,12,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,8,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,12,11,0,0,0,0,0,0,9,10,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,10,0,0,0,0,0,0,10,11,12,0,0,0,0,0,0,9,12,9],"i8",O3,_.GLOBAL_BASE+339320),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,19,7,9,7,8,11,9,12,4,1,19,6,7,7,8,10,11,13,18,18,18,18,18,18,18,18,18,18,8,6,18,8,9,9,11,12,14,18,9,6,18,9,7,8,9,11,12,18,7,6,18,8,7,7,7,9,11,17,8,8,18,9,7,6,6,8,11,17,10,10,18,12,9,8,7,9,12,18,13,15,18,15,13,11,10,11,15,18,14,18,18,18,18,18,16,16,18,18,0,0,0,0,0,0,0,0,0,64,207,64,0,0,0,0,0,88,219,64,0,0,0,0,0,106,232,64,0,0,0,0,0,249,245,64,0,0,0,0,0,0,35,64,0,0,0,0,0,0,38,64,0,0,0,0,0,0,62,64,0,0,0,0,0,192,88,64,0,0,0,0,0,76,205,64,0,0,0,0,0,136,211,64,0,0,0,0,0,124,229,64,0,0,0,0,0,255,244,64,0,0,0,0,0,76,221,64,0,0,0,0,0,130,228,64,0,0,0,0,0,100,233,64,0,0,0,0,0,64,239,64,0,0,0,0,0,148,241,64,0,0,0,0,0,11,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,118,246,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,128,49,7,65,154,153,153,153,153,153,40,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,42,64,0,0,0,0,0,0,44,64,0,0,0,0,0,0,46,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,192,88,64,0,0,0,0,0,148,209,64,0,0,0,0,0,88,219,64,0,0,0,0,0,23,225,64,0,0,0,0,0,249,229,64,0,0,0,0,0,88,235,64,0,0,0,0,0,76,237,64,0,0,0,0,128,79,242,64,0,0,0,0,0,249,245,64,0,0,0,0,0,106,248,64,0,0,0,0,128,19,252,64,0,0,0,0,128,79,2,65,0,0,0,0,128,49,7,65,0,0,0,0,0,64,223,64,0,0,0,0,0,112,231,64,0,0,0,0,0,76,237,64,0,0,0,0,0,23,241,64,0,0,0,0,0,136,243,64,0,0,0,0,0,255,244,64,0,0,0,0,0,112,247,64,0,0,0,0,0,219,250,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,136,3,65,0,0,0,0,8,76,13,65,0,0,0,0,0,88,203,64,0,0,0,0,0,136,211,64,0,0,0,0,0,88,219,64,0,0,0,0,0,142,226,64,0,0,0,0,0,118,230,64,0,0,0,0,0,94,234,64,0,0,0,0,128,79,242,64,0,0,0,0,0,112,247,64,0,0,0,0,0,76,253,64,0,0,0,0,0,23,1,65,0,0,0,0,0,249,5,65,0,0,0,0,8,76,13,65,88,88,5,0,104,113,5,0,88,88,5,0,200,113,5,0,88,88,5,0,40,114,5,0,88,88,5,0,136,114,5,0,88,88,5,0,232,114,5,0,88,88,5,0,72,115,5,0,168,115,5,0,184,140,5,0,168,115,5,0,24,141,5,0,168,115,5,0,120,141,5,0,168,115,5,0,216,141,5,0,168,115,5,0,56,142,5,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,24,201,7,0,24,201,7,0,64,201,7,0,64,201,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,0,202,7,0,0,202,7,0,64,201,7,0,64,201,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,40,202,7,0,40,202,7,0,80,202,7,0,80,202,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,0,162,7,0,0,162,7,0,40,162,7,0,40,162,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,232,162,7,0,232,162,7,0,40,162,7,0,40,162,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,163,7,0,16,163,7,0,56,163,7,0,56,163,7,0,2,0,0,0,0,0,0,0,15,0,0,0,208,111,7,0,232,122,7,0,232,122,7,0,16,123,7,0,16,123,7,0,2,0,0,0,0,0,0,0,30,0,0,0,208,111,7,0,208,123,7,0,208,123,7,0,16,123,7,0,16,123,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,248,123,7,0,248,123,7,0,32,124,7,0,32,124,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,0,59,7,0,0,59,7,0,40,59,7,0,40,59,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,232,59,7,0,232,59,7,0,40,59,7,0,40,59,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,16,60,7,0,16,60,7,0,56,60,7,0,56,60,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,48,6,7,0,48,6,7,0,88,6,7,0,88,6,7,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,24,7,7,0,24,7,7,0,88,6,7,0,88,6,7,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,64,7,7,0,64,7,7,0,104,7,7,0,104,7,7,0,2,0,0,0,0,0,0,0,15,0,0,0,72,198,6,0,96,209,6,0,96,209,6,0,136,209,6,0,136,209,6,0,2,0,0,0,0,0,0,0,30,0,0,0,72,198,6,0,72,210,6,0,72,210,6,0,136,209,6,0,136,209,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,112,210,6,0,112,210,6,0,152,210,6,0,152,210,6,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2],"i8",O3,_.GLOBAL_BASE+349504),C3([2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2],"i8",O3,_.GLOBAL_BASE+360488),C3([2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,120,145,6,0,120,145,6,0,160,145,6,0,160,145,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,96,146,6,0,96,146,6,0,160,145,6,0,160,145,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,136,146,6,0,136,146,6,0,176,146,6,0,176,146,6,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,96,6,0,176,96,6,0,216,96,6,0,216,96,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,97,6,0,152,97,6,0,216,96,6,0,216,96,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,136,46,6,0,136,46,6,0,176,46,6,0,176,46,6,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,112,47,6,0,112,47,6,0,176,46,6,0,176,46,6,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,24,241,5,0,24,241,5,0,64,241,5,0,64,241,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,0,242,5,0,0,242,5,0,64,241,5,0,64,241,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,2,0,0,0,0,0,0,0,15,0,0,0,152,142,5,0,176,153,5,0,176,153,5,0,216,153,5,0,216,153,5,0,2,0,0,0,0,0,0,0,30,0,0,0,152,142,5,0,152,154,5,0,152,154,5,0,216,153,5,0,216,153,5,0,1,0,0,0,2,0,0,0,6,0,0,0,192,154,5,0,216,165,5,0,216,165,5,0,0,166,5,0,0,166,5,0,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+363696),C3([1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,2,0,0,0,4,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,16,241,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,232,169,5,0,0,0,0,0,0,0,0,0,16,170,5,0,0,0,0,0,0,0,0,0,56,170,5,0,96,170,5,0,0,0,0,0,0,0,0,0,136,170,5,0,176,170,5,0,0,0,0,0,0,0,0,0,216,170,5,0,0,171,5,0,0,0,0,0,0,0,0,0,40,171,5,0,80,171,5,0,0,171,5,0,0,0,0,0,120,171,5,0,160,171,5,0,200,171,5,0,240,171,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,8,0,0,0,224,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,255,255,255,255,2,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+366508),C3([32,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,216,169,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,192,166,5,0,232,166,5,0,0,0,0,0,0,0,0,0,16,167,5,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,240,168,5,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,160,169,5,0,0,0,0,0,2,0,0,0,25,0,0,0,184,168,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,216,168,5,0,0,0,0,0,2,0,0,0,9,0,0,0,152,168,5,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,16,168,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,48,168,5,0,0,0,0,0,1,0,0,0,25,0,0,0,136,167,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,168,167,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,6,6,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,5,5,5,5,5,5,4,5,5,5,5,5,4,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,10,10,12,12,12,12,13,12,5,5,5,8,6,11,9,12,12,13,12,12,12,4,5,5,6,8,9,11,12,12,13,12,12,12,7,7,8,9,9,11,8,12,9,12,12,12,12,7,8,8,9,9,8,11,9,12,12,12,11,12,10,10,10,11,11,11,11,11,10,11,11,12,11,10,10,10,11,11,11,11,10,11,11,11,11,12,11,11,11,12,11,12,11,12,11,13,11,13,11,11,11,11,11,12,11,12,10,13,11,12,11,13,12,12,12,13,12,13,13,13,12,14,12,14,13,12,12,12,12,13,13,13,12,14,12,14,13,14,13,14,14,14,14,14,14,14,14,15,14,15,14,13,14,13,14,14,14,14,14,15,14,14,14,15,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,2,3,1,3,0,0,0,0,3,3,3,3,3,3,3,3,5,0,0,0,243,0,0,0,8,240,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,241,5,0,0,0,0,0,5,0,0,0,53,12,0,0,184,227,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,240,239,5,0,0,0,0,0,5,0,0,0,243,0,0,0,176,226,5,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,168,227,5,0,0,0,0,0,5,0,0,0,243,0,0,0,168,225,5,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,160,226,5,0,0,0,0,0,5,0,0,0,243,0,0,0,160,224,5,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,152,225,5,0,0,0,0,0,5,0,0,0,53,12,0,0,80,212,5,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,224,5,0,0,0,0,0,5,0,0,0,53,12,0,0,0,200,5,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,56,212,5,0,0,0,0,0,1,0,0,0,7,0,0,0,216,199,5,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,224,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,5,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,200,199,5,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,5,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,192,198,5,0,0,0,0,0,5,0,0,0,53,12,0,0,120,185,5,0,1,0,0,0,0,106,152,225,0,106,120,97,3,0,0,0,0,0,0,0,176,197,5,0,0,0,0,0,5,0,0,0,53,12,0,0,40,173,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,96,185,5,0,0,0,0,0,1,0,0,0,25,0,0,0,160,172,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,192,172,5,0,0,0,0,0,1,0,0,0,25,0,0,0,24,172,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,56,172,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,10,10,10,11,11,11,12,12,12,13,13,13,13,13,13,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,16,16,4,9,11,15,16,4,12,8,16,16,12,16,16,16,16,13,16,16,16,16,5,8,10,16,16,9,9,14,15,16,12,14,14,16,16,16,16,16,16,16,16,16,16,16,16,5,11,8,16,15,12,14,16,16,16,9,15,9,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,12,13,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,15,16,16,16,16,16,16,16,16,14,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,5,11,11,16,16,12,15,16,16,16,12,16,14,16,16,16,16,16,16,16,16,16,16,16,16,12,15,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,15,15,16,16,16,16,16,16,16,15,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,12,16,16,11,15,16,16,16,13,16,14,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,14,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,15,16,16,15,15,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,12,12,16,16,13,12,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,13,16,16,16,16,14,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,6,11,11,16,16,13,15,16,16,16,11,15,14,16,16,16,16,16,16,16,14,16,16,16,16,11,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,11,16,14,16,16,14,16,16,16,16,13,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,7,11,11,16,16,13,13,16,16,16,13,16,13,16,16,16,16,16,16,16,16,16,16,16,16,12,16,15,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,12,14,16,16,16,16,16,16,16,16,14,16,13,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,8,13,14,16,16,15,16,16,16,16,14,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,15,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,15,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,10,5,8,7,8,10,10,8,10,9,8,10,10,10,10,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,12,12,9,11,11,11,12,13,11,13,11,7,9,9,9,10,11,9,11,10,9,11,10,10,10,12,11,13,12,9,11,11,11,12,12,10,12,10,5,8,8,8,9,10,7,10,9,8,9,10,9,10,11,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,10,9,11,11,10,10,12,11,12,12,9,10,11,11,12,13,10,12,10,7,9,9,9,11,11,9,11,10,9,11,11,11,11,13,11,13,12,9,11,9,11,12,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,11,6,8,7,10,10,8,10,10,12,12,8,10,10,12,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,11,12,10,10,11,12,13,10,11,11,12,13,12,12,13,12,14,12,13,13,14,14,9,10,10,12,11,10,11,11,13,12,10,11,10,13,12,12,13,13,14,14,12,13,12,14,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,10,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,12,10,10,11,12,13,9,10,10,12,12,11,12,12,14,14,11,12,12,14,13,11,11,12,12,13,11,12,12,13,14,12,12,13,14,14,13,13,14,14,16,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,7,8,8,11,10,8,10,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,12,10,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,11,12,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,10,11,11,12,13,11,12,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,15,11,12,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,15,16,14,14,15,15,16,11,12,12,13,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,15,13,14,14,14,15,14,14,15,15,16,14,15,15,15,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,14,14,16,15,16,16,16,17,17,15,16,16,17,16,10,11,11,13,12,11,12,12,14,13,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,15,15,14,15,14,16,15,11,12,12,14,12,12,13,13,15,14,12,13,12,15,13,14,15,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,14,15,16,14,15,14,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,14,14,15,15,16,15,14,15,14,16,15,16,16,16,17,17,15,16,15,18,16,6,8,8,11,11,8,9,10,11,12,8,10,9,12,12,10,11,11,13,13,10,12,11,14,13,8,9,9,11,12,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,8,10,9,12,11,10,11,11,12,12,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,13,15,13,14,14,15,15,11,12,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,13,15,12,12,13,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,12,14,14,11,11,12,12,14,12,12,13,13,14,12,12,13,13,14,13,13,14,14,16,14,14,14,15,15,11,12,12,14,13,12,13,13,14,14,12,13,13,15,14,14,14,14,16,16,13,14,14,16,14,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,13,12,14,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,14,12,13,13,15,14,9,10,10,12,12,11,11,11,13,13,10,12,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,13,12,12,13,13,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,15,12,12,12,14,14,13,13,13,14],"i8",O3,_.GLOBAL_BASE+369616),C3([14,12,13,12,14,13,14,15,15,16,16,13,14,13,16,13,10,11,12,13,14,11,12,13,13,15,12,12,13,14,14,13,14,14,15,16,13,14,14,16,15,12,12,13,12,14,12,12,13,13,15,13,13,13,13,15,14,14,15,14,16,14,15,15,15,16,12,13,12,14,14,13,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,13,16,14,14,15,14,16,14,14,15,14,16,15,15,16,15,18,16,16,16,16,17,14,14,14,16,15,14,15,15,16,16,14,15,15,16,16,16,16,16,17,17,15,16,16,17,16,10,12,11,14,13,12,13,13,14,14,12,13,12,15,14,14,14,14,15,15,14,15,14,16,15,12,13,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,12,13,12,14,14,13,14,14,15,15,13,14,13,15,14,15,15,15,16,16,14,15,15,17,15,14,14,14,16,15,14,15,15,16,16,14,15,15,16,15,16,16,16,16,17,16,17,16,18,17,14,14,14,16,15,15,15,15,16,16,14,15,14,16,15,16,16,17,17,17,15,16,15,17,16,6,8,8,11,11,8,9,10,12,12,8,10,9,12,11,10,11,12,13,13,10,11,11,13,13,8,9,10,11,12,9,10,11,12,13,10,11,11,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,11,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,15,13,14,14,15,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,15,13,7,9,9,11,12,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,10,11,12,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,14,13,12,12,12,14,14,12,12,13,13,14,13,13,13,15,14,14,13,14,13,16,14,15,15,16,16,11,12,12,13,14,12,13,13,14,15,12,13,12,14,13,14,14,15,15,16,13,14,13,15,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,13,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,12,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,14,14,12,13,12,15,13,11,12,12,13,14,12,13,13,14,14,12,13,13,14,14,14,14,14,14,16,14,14,14,16,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,13,14,13,16,14,10,11,12,13,14,12,12,13,13,15,12,13,13,14,14,14,14,15,15,16,14,14,14,15,16,12,12,13,14,14,12,13,14,14,15,13,14,14,15,15,14,15,15,15,17,15,15,15,16,16,12,12,13,13,14,13,13,14,14,15,12,13,13,14,15,15,15,15,15,17,14,15,15,15,15,14,14,14,16,16,14,15,15,15,16,15,15,15,16,16,16,15,16,16,18,16,16,17,17,17,14,14,14,15,16,15,15,15,16,17,14,15,14,16,16,16,16,17,17,18,16,16,15,17,16,10,12,11,14,13,12,12,12,14,14,11,13,12,14,13,13,14,14,15,15,13,14,13,16,15,12,12,13,14,14,12,13,13,15,15,13,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,12,14,12,13,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,16,14,14,14,14,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,16,17,16,18,17,13,14,14,16,13,14,15,15,16,14,14,15,14,16,14,16,16,16,17,16,15,16,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,15,13,14,14,15,15,11,12,12,14,14,11,12,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,14,14,16,16,14,15,14,16,15,12,13,13,14,15,12,13,14,15,16,13,14,14,16,16,14,14,15,16,17,15,15,15,17,17,13,14,14,15,15,14,15,14,16,16,14,15,14,16,15,15,16,16,17,17,15,16,15,17,16,10,12,12,13,14,11,12,13,14,14,12,13,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,13,13,15,15,17,14,14,15,16,16,12,13,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,16,16,13,12,14,13,16,13,13,15,14,16,14,13,15,15,16,14,14,16,15,17,15,15,16,16,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,16,18,16,10,12,12,14,14,12,12,13,14,14,12,13,12,15,14,13,14,14,15,16,14,15,14,16,15,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,15,16,14,15,15,17,16,12,13,13,14,14,13,13,14,15,15,12,14,13,15,15,14,15,15,16,16,14,15,15,17,15,13,14,13,15,15,13,14,14,15,16,14,15,14,17,16,15,15,15,15,17,16,16,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,16,16,16,16,17,17,17,16,16,16,17,16,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,16,15,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,15,15,15,16,17,17,15,16,15,17,16,14,14,15,13,16,15,14,16,14,17,15,15,16,14,17,16,15,17,15,18,16,16,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,11,12,12,14,14,13,13,14,14,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,15,16,16,16,16,18,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,14,15,14,16,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,16,16,16,16,17,17,14,15,15,17,16,17,17,18,18,18,16,17,15,18,15,9,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,11,12,12,14,14,12,13,13,14,15,12,13,13,14,14,14,14,15,15,16,14,14,14,16,16,11,12,12,14,14,12,13,13,14,15,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,15,14,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,15,12,14,13,16,15,15,16,15,17,17,14,15,15,17,15,10,12,12,14,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,13,14,14,16,16,12,13,13,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,15,17,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,16,15,14,14,14,16,16,14,15,15,16,16,15,15,15,16,16,15,16,16,16,18,16,17,16,18,17,13,13,14,15,15,14,14,15,16,16,13,14,14,16,15,16,16,17,17,17,15,15,15,17,15,10,12,12,14,13,12,12,13,14,14,11,13,12,14,14,13,14,14,16,16,13,14,14,16,15,12,12,13,14,14,12,13,13,14,15,13,13,13,15,15,14,14,15,16,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,13,15,13,16,15,13,14,14,15,16,14,15,15,15,17,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,13,14,12,16,13,14,15,13,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,17,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,17,15,16,15,16,15,15,15,15,16,16,14,15,15,16,17,16,16,16,17,17,16,15,17,15,18,17,18,17,18,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,17,17,18,16,16,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,17,16,13,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,16,17,16,15,16,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,18,16,17,17,18,18,14,15,14,16,13,15,16,15,17,14,15,16,14,17,14,16,17,16,18,16,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,9,8,9,9,10,10,8,9,9,10,10,8,10,10,10,10,8,10,10,10,10,9,9,9,10,10,9,10,10,10,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,9,9,9,10,10,9,10,10,11,11,9,10,10,11,10,10,10,10,11,11,10,10,10,11,11,10,10,10,10,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,11,10,10,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,9,10,10,10,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,9,10,10,11,10,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,7,10,10,11,11,10,10,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,10,10,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,12,12,11,11,11,12,12,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,11,11,11,11,11,11,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,7,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,12,11,11,11,12,12,12,11,11,11,12,12,10,10,10,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,10,10,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,11,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,11,11,11,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,8,11,11,11,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,11,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,6,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,10,10,8,9,10,10,11,12,10,11,12,8,10,10,10,11,12,10,12,11,6,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,10,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,11,11,9,11,11,9,10,11,11,11,12,11,12,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,12,10,12,11,9,11,10,11,11,12,12,13,13,9,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,7,9,9,9,11,11,9,11,10,7,9,9,10,11,12,10,12,11,9,11,11,11,11,13,12,13,13,9,10,11,12,13,13,11,12,11,7,9,9,9,11,11,9,11,11,9,11,11,11,12,12,11,12,12,9,11,10,11,12,12,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,7,8,6,7,7,7,7,7,7,7,7,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,5,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,9,8,9,8,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,6,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,9,9,9,8,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,4,4,7,7,4,7,6,5,6,7,7,8,9,7,9,9,5,7,6,7,9,9,7,9,8,6,8,8,8,10,10,8,10,10,8,9,10,10,11,12,10,12,12,8,10,10,10,12,12,10,12,11,6,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,10,12,11,5,8,8,8,10,10,8,10,10,8,9,10,10,11,11,10,11,11,8,10,10,10,11,12,10,12,11,8,10,10,10,11,11,10,11,11,10,11,11,11,12,13,11,12,13,10,11,11,11,13,13,11,13,13,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,12,8,10,9,10,12,11,9,11,11,7,9,9,10,11,12,10,12,11,9,11,11,11,12,13,12,14,13,9,11,11,12,13,14,11,13,12,8,10,10,10,11,11,10,11,11,10,11,11,11,13,13,11,13,13,10,11,10,11,13,12,11,13,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,8,8,5,7,7,9,9,5,7,7,9,9,6,8,8,11,11,6,8,8,11,11,6,7,7,9,9,7,8,9,10,11,7,9,9,11,10,8,9,10,12,12,8,10,10,12,12,6,7,7,9,9,7,9,9,10,10,7,9,8,11,10,8,10,10,12,12,8,10,9,12,12,8,9,9,11,11,9,10,10,12,12,9,11,11,12,13,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,11,10,13,12,9,10,10,13,12,11,12,12,14,14,11,12,12,14,13,7,8,9,10,10,8,10,10,11,11,8,10,10,11,11,10,11,11,13,13,10,11,11,13,13,8,9,10,10,11,10,11,11,12,13,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,8,10,10,11,11,10,11,11,12,13,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,12,13,13,14,14,13,13,14,14,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,7,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,10,10,11,11,13,12,10,11,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,11,13,13,11,12,12,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,15,15,10,11,11,13,12,12,12,12,14,14,11,12,12,14,13,13,14,14,16,15,13,14,13,16,14,10,11,11,13,13,12,12,13,14,15,12,13,13,14,15,13,14,15,15,16,13,14,14,16,16,11,12,13,14,14,13,13,14,15,16,13,14,14,15,16,14,15,15,16,17,14,15,16,17,17,11,12,12,14,14,13,14,14,15,16,13,14,14,15,15,14,15,15,16,18,14,15,15,17,16,13,14,15,15,16,15,15,16,16,18,15,15,15,17,17,16,16,17,17,18,16,16,16,18,18,14,14,14,16,16,15,15,15,16,17,15,15,15,16,17,16,17,17,18,18,16,16,17,18,17,10,11,11,14,13,12,13,13,15,14,11,13,13,15,14,13,15,15,16,16,13,14,14,16,16,11,12,12,14,14,13,13,13,15,15,13,14,13,15,15,15,15,15,17,16,14,15,15,17,16,11,13,12,14,14,13,14,13,15,15,13,14,13,15,15,14,15,15,17,17,14,15,15,17,16,14,14,14,16,16,14,15,15,17,17,15,15,16,17,16,17,16,17,18,18,16,17,17,18,18,13,14,14,16,15,15,15,15,17,17,14,16,15,16,16,17,17,17,18,18,16,17,16,20,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,10,11,11,13,13,8,9,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,9,10,10,11,11,10,11,11,12,12,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,15,16,10,11,11,13,13,12,12,12,14,14,12,13,12,14,14,13,14,14,16,16,13,14,14,15,15,9,10,10,11,12,10,11,11,12,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,10,11,12,13,11,12,12,13,14,11,12,12,13,14,12,13,14,14,15,12,13,13,15,15,10,11,11,13,13,11,12,12,13,14,11,12,12,14,13,12,13,13,15,15,12,13,13,15,15,12,11,13,12,14,13,13,14,14,15,13,13,14,14,15,14,15,15,16,17,14,15,15,16,17,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,17,14,15,15,16,17,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,11,13,12,15,14,9,11,10,12,12,11,12,12,13,14,11,12,12,14,13,13,13,14,15,15,13,14,13,15,15,9,11,11,12,12,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,15,14,11,12,12,14,13,12,13,13,14,15,13,14,14,16,15,15,15,15,15,16,15,16,15,17,17,11,12,12,14,14,13,14,14,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,14,15,13,14,14,16,16,14,14,14,15,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,15,14,14,14,16,16,14,14,15,16,16,15,16,16,17,17,15,16,16,17,17,14,15,15,15,16,15,15,16,16,18,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,14,15,15,16,17,15,16,16,17,17,15,16,16,18,17,16,17,17,19,18,17,17,17,19,18,10,12,12,14,14,13,13,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,13,13,15,14,13,14,14,16,16,14,14,15,17,16,15,16,16,17,17,15,16,16,18,17,12,13,13,15,14,14,15,15,16,16,13,15,14,16,15,16,17,16,19,17,15,16,16,17,17,14,15,15,17,15,15,16,15,17,17,16,17,16,18,17,17,17,18,18,18,17,17,18,19,18,14,15,15,16,16,15,16,16,17,18,15,16,16,18,16,17,18,18,19,19,17,18,17,18,19,6,8,8,10,10,8,10,10,11,11,8,10,10,12,11,10,11,11,13,13,9,11,11,13,13,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,8,10,9,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,14,14,11,12,12,14,14,10,11,11,13,13,11,12,13,14,14,12,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,10,13,12,11,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,15,8,9,9,11,11,10,11,11,12,13,10,11,11,13,12,12,13,13,14,15,12,13,13,15,14,10,11,11,12,12,11,11,12,13,14,11,12,12,14,14,13,13,14,15,16,13,14,14,15,15,9,10,11,12,12,11,12,12,13,14,11,12,12,14,13,13,14,14,15,16,12,14,13,15,15,11,12,12,14,14,12,13,13,14,15,13,14,14,16,15,14,15,15,15,17,15,15,16,16,17,11,12,12,13,14,13,14,14,15,15,12,13,13,15,14,15,16,15,16,17,14,16,15,17,15,9,10,10,12,11,10,11,11,13,13,10,11,11,13,12,11,12,12,14,14,11,12,12,14,14,10,11,11,12,13,11,12,12,13,14,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,10,11,10,13,12,11,12,12,13,13,11,12,12,14,13,12,13,13,15,15,12,13,13,15,14,12,13,12,14,14,13,14,14,15,15,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,11,13,11,14,12,13,13,13,15,14,12,14,13,15,14,15,15,15,17,16,14,15,14,17,15,10,12,12,14,14,13,13,14,15,16,12,14,13,15,15,14,15,16,17,17,14,15,16,17,17,12,13,13,14,15,13,14,14,16,16,14,14,15,16,16,16,16,16,17,17,16,16,16,18,18,12,13,13,14,15,14,14,15,16,16,13,14,14,16,15,16,16,16,17,18,15,16,16,17,17,14,15,15,16,16,15,15,16,17,17,15,16,16,17,18,17,18,18,18,19,17,18,18,19,19,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,18,20,18,17,18,17,18,18,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,17,12,13,13,15,15,14,14,14,16,16,14,14,14,16,16,15,16,16,17,17,15,16,16,17,17,12,13,13,15,14,13,14,14,16,15,14,15,14,16,15,15,16,16,17,17,15,16,16,17,16,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,17,19,18,17,17,17,18,19,14,15,14,17,15,15,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,17,18,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,13,14,14,15,16,14,15,15,16,17,14,15,15,17,16,15,16,17,18,17,16,16,16,18,17,14,14,15,16,16,14,15,15,18,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,16,16,17,17,15,15,16,17,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,16,17,17,14,14,15,15,16,15,15,16,16,17,15,15,16,16,17,16,17,17,17,18,16,17,17,18,18,14,15,15,16,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,19,17,17,17,18,18,10,12,12,14,14,12,13,14,15,16,13,14,13,15,15,14,15,15,17,17,14,15,16,17,17,12,13,13,15,15,13,14,14,15,15,14,15,14,16,16,15,16,16,17,18,15,17,16,18,17,12,13,13,15,15,14,14,14,16,16,13,14,14,16,15,15,16,16,17,18,15,16,16,17,17,14,14,14,16,16,15,15,16,17,17,15,16,16,17,17,17,17,17,18,20,17,17,17,19,19,14,15,15,16,16,15,17,16,18,18,15,16,15,17,16,17,18,19,19,19,17,17,17,18,17,13,14,14,16,16,14,15,15,17,17,14,15,15,16,17,15,17,17,18,18,16,16,17,18,17,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,18,19,14,15,15,16,17,15,16,16,17,17,15,16,16,17,17,16,17,17,18,18,17,17,17,19,19,16,16,16,16,18,16,17,17,17,18,17,17,17,17,19,18,18,18,19,19,18,18,18,19,20,16,16,17,18,18,16,18,17,18,18,17,17,17,20,19,18,18,19,21,20,18,20,18,18,19,10,12,12,14,14,14,14,15,15,17,14,15,14,17,15,16,16,17,18,18,16,18,17,19,18,12,14,13,16,15,14,14,15,15,17,15,16,16,18,17,16,17,18,17,19,17,19,18,20,19,12,13,13,15,15,15,16,17,17,18,14,16,14,17,16,17,18,18,19,19,17,17,17,18,18,15,15,15,17,16,15,16,16,17,17,17,19,17,18,18,18,18,18,18,21,19,20,19,20,19,15,15,16,16,17,17,17,18,20,20,15,16,16,18,17,18,19,19,19,20,18,19,18,19,17,6,11,11,13,13,11,12,12,14,14,11,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,16,16,13,14,14,16,16,15,15,15,16,16,14,15,15,17,16,16,17,17,19,18,16,17,17,18,18,13,14,14,15,15,14,15,15,17,16,14,15,15,17,16,16,17,16,17,18,15,16,16,18,18,10,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,12,13,13,15,15,14,14,14,15,16,14,15,15,16,16,15,16,16,17,18,16,16,16,18,18,12,13,13,14,14,14,14,15,16,16,13,14,14,16,16,15,16,16,18,18,15,16,16,19,17,14,15,15,16,17,15,15,16,17,17,16,17,16,17,18,17,17,18,17,19,17,17,18,18,19,14,14,14,16,16,15,16,16,17,17,15,16,15,17,17,17,17,17,19,20,16,17,17,18,18,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,14,16,16,12,13,13,15,15,14,14,14,16,16,13,14,14,16,16,15,16,16,18,17,15,16,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,15,18,18,15,16,15,17,16,14,15,15,16,16,15,16,16,17,17,15,16,16,18,17,16,17,17,18,18,16,17,17,18,18,14,15,14,16,15,15,16,15,17,17,15,16,15,17,16,16,17,17,18,18,17,17,16,19,17,10,12,12,14,15,14,14,15,15,17,14,15,14,17,15,16,17,17,17,18,16,17,17,18,18,12,14,13,16,15,14,14,16,15,17,15,17,16,18,17,17,17,18,17,19,18,18,18,19,18,12,13,14,15,15,15,16,16,16,17,14,15,14,18,16,18,17,18,19,19,17,18,17,20,18,15,15,15,17,17,15,16,16,17,18,18,18,18,19,18,18,18,19,18,20,18,19,19,21,21,15,15,16,16,17,17,18,18,18,18,15,16,16,17,17,17,19,20,19,20,17,18,18,19,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,15,17,16,17,17,14,15,15,16,16,15,16,16,17,17,16,16,16,17,17,17,17,18,17,18,17,17,17,18,20,14,15,15,17,16,15,16,16,17,17,15,16,16,17,17,17,17,17,18,18,16,17,17,19,18,16,16,17,17,17,17,18,17,19,18,17,17,17,18,19,17,20,18,19,21,17,19,18,19,20,15,17,15,17,16,16,17,17,18,18,17,17,17,18,17,18,19,18,19,21,18,18,17,19,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,4,8,8,4,8,8,5,7,8,8,9,10,8,10,10,5,8,7,8,10,10,8,10,9,7,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,7,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,11,11,13,13,11,13,12,5,9,9,9,11,11,9,11,11,9,11,11,11,12,13,11,13,13,9,11,11,11,13,13,11,13,13,9,11,12,11,13,13,12,13,13,11,12,13,13,14,15,13,14,14,12,13,13,13,15,15,13,15,14,8,10,10,11,13,13,12,14,13,11,12,12,13,14,15,13,15,15,11,12,12,13,15,15,13,15,14,5,9,9,9,11,11,9,11,11,9,11,11,11,13,13,11,13,13,9,11,10,11,13,13,11,13,12,8,10,10,11,13,13,12,13,13,11,12,12,13,14,15,14,15,15,10,12,12,13,14,15,13,15,14,9,12,11,12,13,13,11,13,13,12,13,13,13,15,15,13,14,15,11,13,12,13,15,14,13,15,14,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,3,3,3,3,3,3,2,0,0,0,64,0,0,0,72,46,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,242,5,0,0,0,0,0,0,0,0,0,144,242,5,0,0,0,0,0,0,0,0,0,184,242,5,0,224,242,5,0,0,0,0,0,0,0,0,0,8,243,5,0,48,243,5,0,0,0,0,0,0,0,0,0,88,243,5,0,128,243,5,0,0,0,0,0,0,0,0,0,168,243,5,0,208,243,5,0,128,243,5,0,0,0,0,0,248,243,5,0,32,244,5,0,72,244,5,0,112,244,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,40,242,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,18,20,21,7,4,6,8,11,12,14,16,13,5,4,4,8,9,11,13,15,8,4,3,5,7,9,10,17,11,8,4,4,6,9,9,17,11,9,7,6,5,7,8,19,13,11,9,9,7,8,8,21,15,13,11,10,8,8,7,5,0,0,0,243,0,0,0,64,45,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,56,46,6,0,0,0,0,0,5,0,0,0,53,12,0,0,240,32,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,45,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,31,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,32,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,30,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,31,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,29,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,30,6,0,0,0,0,0,5,0,0,0,53,12,0,0,136,17,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,29,6,0,0,0,0,0,5,0,0,0,53,12,0,0,56,5,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,17,6,0,0,0,0,0,1,0,0,0,7,0,0,0,16,5,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,5,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,4,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,5,6,0,0,0,0,0,5,0,0,0,243],"i8",O3,_.GLOBAL_BASE+379856),C3([3,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,3,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,1,6,0,1,0,0,0,0,106,120,225,0,106,120,97,2,0,0,0,0,0,0,0,240,2,6,0,0,0,0,0,5,0,0,0,53,12,0,0,168,245,5,0,1,0,0,0,0,136,83,225,0,136,51,97,3,0,0,0,0,0,0,0,224,1,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,245,5,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,64,245,5,0,0,0,0,0,1,0,0,0,25,0,0,0,152,244,5,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,184,244,5,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,7,7,12,12,5,11,12,12,12,5,12,11,12,12,12,12,12,12,12,12,13,13,13,13,7,11,11,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,10,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,7,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,7,5,7,7,5,7,7,7,7,9,7,9,9,6,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,10,10,10,10,8,9,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,7,9,9,7,9,9,8,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,9,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,7,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,8,10,9,6,8,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,9,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,12,10,10,12,12,14,10,12,12,14,13,6,8,7,11,10,8,9,9,12,12,7,10,8,12,11,10,12,12,13,14,10,12,10,14,12,9,10,11,11,13,10,10,11,11,13,11,12,12,13,14,12,12,13,11,15,13,14,14,15,14,9,11,10,13,11,11,12,12,13,13,10,11,10,13,11,13,14,14,15,15,12,13,12,15,11,6,8,9,11,12,8,9,11,12,13,8,10,10,13,13,11,12,13,14,15,11,12,13,14,14,9,9,10,12,13,10,10,12,12,14,10,11,11,13,14,12,12,14,14,15,13,13,14,15,15,9,10,10,13,13,10,11,11,13,14,10,11,10,14,13,13,13,14,15,15,12,14,13,15,14,12,12,13,13,14,12,13,14,13,15,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,6,9,8,12,11,8,10,10,13,13,8,11,9,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,13,10,10,11,13,14,10,12,11,14,13,12,13,14,14,15,13,13,13,15,14,9,10,9,13,12,10,11,11,14,13,10,12,10,14,12,13,14,13,15,15,12,14,12,15,14,12,13,13,14,14,13,13,13,14,15,13,14,14,15,15,14,14,15,14,16,14,15,15,16,16,12,13,12,14,13,13,14,14,15,15,12,14,13,15,13,15,15,15,16,16,14,15,14,16,14,11,12,12,13,14,12,13,14,14,16,12,13,13,15,15,14,14,16,15,17,14,15,15,16,16,12,13,14,14,15,13,13,15,15,16,14,14,14,15,16,15,15,16,16,17,15,15,16,16,17,13,13,13,15,15,14,14,15,15,16,13,14,14,15,16,15,15,16,16,17,15,16,15,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,16,17,17,17,17,15,15,15,16,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,17,16,11,12,12,15,13,13,13,13,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,15,13,13,13,15,14,13,14,14,16,15,14,14,14,16,15,15,15,16,16,17,15,16,15,17,16,12,14,13,15,14,14,14,14,16,15,13,14,13,16,15,15,16,16,17,16,15,16,15,17,16,15,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,17,17,17,17,17,17,18,17,14,15,15,16,16,15,16,16,17,16,15,16,15,17,16,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,10,12,12,14,15,11,13,12,15,14,8,9,10,12,13,9,10,11,13,14,10,11,11,14,13,12,12,13,14,15,12,13,13,15,15,8,10,10,13,13,10,11,11,13,14,10,12,10,14,13,12,13,13,15,15,12,14,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,15,15,14,13,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,14,13,15,14,14,15,15,16,15,14,15,14,16,14,7,9,10,12,12,9,10,11,13,14,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,14,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,14,15,15,13,14,13,16,14,12,12,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,14,15,14,16,14,7,10,9,13,12,10,11,12,12,14,10,12,11,14,12,12,13,13,14,15,12,14,13,15,14,9,11,10,13,13,10,11,12,13,14,12,13,12,15,13,13,13,14,13,15,13,14,14,16,15,10,11,11,13,13,12,12,13,14,14,11,12,11,14,13,14,14,14,15,16,13,14,13,16,13,12,13,13,14,14,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,15,15,17,16,13,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,16,16,16,16,14,15,14,16,13,11,12,13,14,15,12,13,14,15,16,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,13,13,14,14,15,13,13,15,14,16,14,14,15,15,16,15,14,16,15,17,15,16,16,16,17,13,14,14,15,15,14,14,15,16,16,13,15,14,16,16,15,16,16,17,17,15,16,15,17,16,14,15,15,15,17,15,15,16,15,17,15,16,16,16,17,16,16,17,16,18,17,17,17,17,18,15,15,15,17,16,15,16,16,17,17,15,16,16,17,16,16,17,17,18,18,16,17,16,18,17,11,13,12,15,14,13,13,14,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,13,14,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,16,15,16,15,18,16,13,14,14,15,15,14,15,15,15,16,13,15,13,16,15,15,16,16,17,17,15,16,15,17,16,15,15,15,16,16,15,15,15,16,17,16,16,16,17,16,16,16,17,16,17,17,17,17,18,17,15,15,15,16,16,16,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,17,15,6,9,9,12,12,8,10,10,12,13,8,10,10,13,12,11,12,13,14,15,10,12,12,14,14,9,10,10,13,13,10,10,12,13,14,10,11,11,14,13,12,13,14,14,15,12,13,13,15,15,8,10,9,13,12,10,11,11,13,14,9,11,10,14,13,12,13,13,15,15,12,13,12,15,14,12,13,13,14,14,12,13,13,14,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,11,12,12,14,13,13,13,13,15,15,12,13,12,15,13,14,15,15,16,16,14,15,14,16,14,7,9,10,12,13,10,10,12,12,14,10,12,11,14,13,12,13,14,14,15,12,13,13,15,14,10,11,11,13,13,11,11,12,13,14,12,13,12,14,14,13,13,14,13,16,14,14,14,15,15,9,10,11,13,14,12,12,13,13,15,10,12,10,14,13,13,14,14,15,16,13,14,13,15,13,13,14,13,14,15,12,13,13,14,15,14,14,14,15,15,14,13,15,13,16,15,16,16,16,16,12,13,13,14,14,14,14,14,15,15,12,13,13,15,14,15,15,16,16,16,14,15,13,16,13,7,10,9,12,12,9,10,11,13,13,9,11,10,14,13,12,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,16,14,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,14,14,15,14,16,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,17,14,11,12,13,14,15,13,13,14,14,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,16,13,14,13,15,15,13,13,15,15,16,14,15,15,16,16,15,15,16,15,17,16,16,16,17,17,13,13,14,14,15,14,14,15,15,16,13,14,13,15,15,15,16,16,16,17,15,16,15,16,16,15,15,15,16,16,15,15,16,16,17,16,16,16,17,17,16,16,17,16,18,17,17,17,18,18,15,15,15,16,16,16,16,16,17,17,15,15,15,16,16,17,17,17,17,18,16,16,16,17,15,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,16,16,14,15,14,16,16,15,15,16,17,17,15,16,16,17,17,13,14,13,15,14,14,14,14,16,15,13,15,13,16,14,15,16,15,17,16,15,16,14,17,15,14,16,15,16,17,15,16,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,17,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,13,14,14,15,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,15,13,14,14,15,15,14,14,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,15,15,15,16,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,13,14,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,16,13,14,14,15,16,14,14,15,16,17,15,15,15,16,17,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,15,15,15,16,17,15,16,15,17,16,14,14,15,15,16,14,14,15,15,17,15,15,16,16,17,15,15,16,15,18,16,16,16,17,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,16,17,16,17,17,16,16,16,18,16,11,12,12,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,13,13,15,15,13,13,14,15,15,14,14,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,15,15,16,15,17,16,17,16,17,17,14,15,15,16,16,15,16,16,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,14,16,15,17,15,16,16,17,17,13,14,14,16,16,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,15,15,16,15,17,15,15,16,15,17,15,16,16,16,17,16,15,17,15,18,17,17,17,17,17,15,15,15,17,17,16,16,16,17,17,15,16,15,17,17,16,17,17,18,18,16,17,15,18,15,11,12,12,15,15,13,13,15,14,16,13,14,13,16,14,15,15,16,16,17,15,16,15,17,15,12,14,13,16,14,13,13,14,14,16,14,15,14,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,15,15,15,15,16,13,15,13,16,14,16,16,16,17,17,15,16,15,17,15,15,16,15,16,15,14,14,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,16,16,16,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,15,18,14,10,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,14,15,15,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,15,13,14,14,15,15,12,14,13,15,15,14,15,15,16,17,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,16,16,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,15,16,16,17,17,15,16,15,17,16,11,12,12,14,15,13,13,14,14,15,13,14,13,15,15,14,15,15,16,16,14,15,15,16,16,12,14,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,15,17,15,16,16,17,16,12,13,13,15,15,14,14,15,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,17,16,16,16,16,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,16,17,17,15,16,15,17,15,11,12,12,14,14,12,13,14,15,15,12,13,13,15,15,14,15,15,16,16,13,15,14,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,15,16,17,15,15,15,17,16,12,13,13,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,16,16,16,16,18,16,17,16,18,17,14,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,16,17,17,15,16,15,17,15,11,12,12,15,15,13,13,15,14,16,13,15,13,16,14,15,15,16,15,17,15,16,15,17,16,12,14,13,15,15,13,13,15,15,16,15,15,15,16,15,15,15,16,15,17,16,16,16,17,16,12,13,14,15,16,14,14,15,15,16,13,14,13,16,14,16,16,16,16,17,15,16,15,17,15,15,16,15,16,16,14,15,15,16,16,16,16,16,17,16,15,15,16,15,17,17,17,17,18,17,15,15,15,15,16,16,16,16,16,17,14,15,14,16,15,17,17,17,17,18,15,16,15,17,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,15,14,15,15,16,17,14,15,15,17,16,13,14,14,16,15,13,14,15,16,16,14,15,15,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,16,15,14,15,15,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,16,17,17,15,15,16,16,17,16,16,16,17,17,16,15,17,16,18,17,17,17,18,18,15,15,15,17,14,16,16,16,17,16,15,16,15,17,15,16,17,17,18,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,9,9,10,10,9,10,10,10,11,9,10,10,11,10,9,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,10,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,9,10,10,11,11,10,10,10,11,11,9,10,10,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,12,10,11,11,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,9,10,10,11,11,10,10,11,11,11,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,11,11,11,11,11,11,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,10,11,11,11,11,10,11,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,10,11,11,11,11,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,10,11,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,9,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,11,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,11,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,11,11,11,12,12,12,11,11,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,12,13,12,12,12,12,12,12,13,13,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,12,13,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11],"i8",O3,_.GLOBAL_BASE+390097),C3([12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,12,13,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,8,4,8,7,5,7,8,7,7,10,8,9,9,5,7,7,8,9,9,7,10,7,5,7,8,8,9,11,8,10,10,8,9,10,10,10,12,11,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,11,9,8,10,10,10,11,12,10,12,12,8,10,9,11,12,12,10,12,10,5,8,8,7,10,10,8,11,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,10,10,13,12,12,13,10,12,11,12,13,13,11,13,11,7,10,9,10,11,12,10,13,11,9,11,11,11,11,13,12,14,13,10,11,11,12,14,14,11,14,11,5,8,8,8,10,11,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,13,10,12,11,10,11,11,11,11,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,10,10,11,12,11,11,13,12,13,13,9,12,9,12,13,12,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,8,7,8,7,7,7,8,7,8,8,8,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,8,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,7,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,10,9,10,11,12,9,11,10,5,8,7,8,10,9,7,10,9,8,9,10,9,10,11,10,12,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,10,9,10,11,9,11,11,8,10,9,10,11,11,10,12,10,7,9,10,9,10,12,9,11,11,9,9,12,11,10,13,11,11,13,10,12,11,11,13,13,11,13,12,7,9,9,9,11,11,9,12,11,9,11,10,10,11,12,11,13,12,9,11,11,12,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,10,12,10,11,11,7,10,9,9,11,11,9,11,10,7,9,9,9,11,12,9,11,11,9,11,11,11,11,13,12,13,13,9,10,11,11,12,13,10,12,11,7,10,9,9,11,11,9,12,10,10,11,12,11,12,13,12,13,13,9,12,9,11,13,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,9,10,12,12,8,10,9,12,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,9,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,9,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,7,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,11,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,11,13,9,10,10,12,12,11,11,12,13,15,11,12,12,14,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,12,14,15,11,12,12,14,14,10,11,12,13,13,11,12,12,13,14,12,12,12,14,14,13,13,14,14,16,14,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,13,16,14,7,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,11,11,14,13,8,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,13,14,11,12,12,15,14,8,9,9,12,11,9,10,10,12,12,9,11,10,13,11,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,12,12,12,14,14,11,12,12,14,13,13,14,14,15,15,13,14,13,16,14,9,10,11,12,13,11,11,12,12,14,11,11,12,13,14,13,13,14,14,16,13,13,14,15,15,11,11,12,12,14,12,12,13,13,15,12,12,13,13,15,14,14,15,15,16,14,14,14,15,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,14,14,14,15,15,16,14,14,14,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,16,18,16,16,16,17,17,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,16,16,16,17,18,15,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,12,13,14,13,15,14,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,12,15,14,14,14,14,16,16,14,15,14,17,15,11,12,11,14,12,12,13,12,15,13,12,13,12,15,13,14,14,14,16,15,14,15,14,16,15,13,14,14,15,15,14,14,15,16,16,14,15,14,16,16,15,15,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,17,15,16,16,16,17,17,15,16,15,18,16,7,8,8,10,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,13,14,11,12,12,14,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,14,11,12,12,14,13,10,11,11,13,13,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,10,12,11,13,13,12,12,12,14,14,11,12,12,14,13,14,14,14,15,16,13,14,14,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,11,12,13,14,11,12,12,14,14,9,9,10,11,12,10,10,11,12,13,10,10,11,12,13,12,12,13,14,15,12,12,13,14,15,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,15,15,12,13,13,15,14,11,11,12,13,14,12,12,13,13,15,12,12,13,14,15,14,14,15,14,16,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,14,14,15,15,16,16,14,15,14,17,15,8,9,9,11,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,12,12,10,10,11,12,13,10,12,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,12,11,11,12,13,13,10,12,10,13,12,12,13,13,15,15,12,13,13,15,13,11,12,12,14,14,12,12,13,14,14,12,13,13,15,14,13,13,14,13,16,14,15,14,16,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,13,16,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,11,11,12,12,14,12,12,13,13,15,12,13,13,13,15,14,14,15,14,17,14,14,15,15,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,14,16,14,14,15,14,17,14,15,15,14,17,16,16,17,15,18,16,16,17,16,18,13,14,14,16,16,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,15,14,15,14,16,15,11,12,12,14,13,12,13,13,15,14,13,14,13,15,14,14,15,15,16,16,14,15,15,17,15,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,15,15,15,17,17,14,15,15,17,15,13,14,14,16,15,14,15,15,16,16,15,15,15,17,16,16,16,16,16,17,16,17,16,18,17,14,14,14,16,16,15,15,15,16,16,14,15,14,17,16,16,17,17,17,18,16,17,16,18,16,7,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,12,13,14,11,12,12,14,14,8,9,9,11,11,9,10,10,12,12,9,10,10,13,12,11,12,12,14,14,11,12,11,14,13,10,11,12,13,13,11,12,12,13,14,12,13,12,14,14,13,13,14,14,16,13,14,14,16,15,10,11,11,13,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,8,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,13,14,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,11,12,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,12,13,14,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,12,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,14,15,13,16,14,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,14,14,14,14,15,16,16,13,14,13,16,14,8,9,9,11,11,9,10,10,12,12,9,10,10,12,12,11,12,12,14,14,11,12,11,14,14,9,10,10,12,12,10,11,11,13,13,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,9,10,9,12,11,10,11,10,13,12,10,11,10,13,12,12,13,12,15,14,12,13,12,15,14,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,11,12,11,14,13,12,13,12,15,14,12,13,12,15,13,14,15,14,16,15,13,15,14,17,14,10,11,11,13,14,11,12,13,13,15,11,12,12,14,14,14,14,15,15,17,13,14,14,15,16,11,12,12,14,14,12,12,13,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,12,13,14,13,13,14,14,15,12,13,13,14,15,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,15,17,15,15,15,17,16,16,16,17,16,18,16,17,17,18,17,13,14,14,15,16,14,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,13,14,14,16,15,13,14,14,16,15,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,12,12,13,13,15,13,12,13,12,15,13,14,15,15,16,15,14,15,14,17,14,13,14,14,16,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,13,14,14,16,13,14,15,15,17,14,14,15,14,17,14,16,17,16,17,16,16,17,16,18,15,8,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,13,14,15,16,13,14,14,16,15,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,14,15,16,16,14,15,14,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,16,16,14,15,15,16,17,15,15,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,16,16,16,16,17,17,15,16,16,18,16,10,11,11,13,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,14,15,16,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,17,17,14,15,15,17,16,13,12,14,14,16,13,13,15,14,17,14,13,15,15,17,15,14,16,15,18,16,15,16,16,18,13,14,14,16,16,14,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,13,14,14,15,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,15,14,14,15,15,16,14,15,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,13,15,14,14,15,15,16,17,14,15,14,17,15,13,14,13,16,15,14,14,14,15,16,14,15,14,16,16,15,15,16,16,17,16,16,16,18,17,14,14,14,16,16,15,15,15,17,16,14,15,14,17,16,16,16,17,17,18,16,17,16,18,16,11,13,13,15,15,12,13,14,15,16,12,14,14,15,15,14,15,15,16,17,14,15,15,17,17,12,13,14,14,16,13,14,14,14,16,14,14,14,15,16,15,15,16,15,18,15,16,16,17,17,13,14,14,16,16,14,14,15,16,16,14,15,14,16,16,15,16,16,17,18,15,16,16,18,17,14,14,16,13,17,15,15,16,14,18,15,15,16,14,18,16,16,18,15,19,17,17,18,16,18,15,16,15,17,17,15,16,17,18,18,16,16,16,18,17,17,18,18,19,19,17,18,17,19,18,11,12,12,15,14,13,13,14,15,16,13,14,13,16,14,15,15,15,16,17,15,16,15,17,16,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,18,15,16,15,17,16,14,15,14,17,15,14,15,15,16,16,15,16,15,17,16,16,15,16,15,17,17,18,17,18,17,15,15,15,16,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,15,8,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,13,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,15,16,14,14,14,16,16,10,11,11,14,14,11,12,12,14,15,11,12,12,15,14,13,14,14,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,18,16,16,16,17,17,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,15,17,17,14,16,15,17,16,10,11,11,13,14,11,12,13,14,15,11,13,12,14,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,17,14,15,15,16,16,14,14,14,16,16,14,14,15,16,16,15,15,15,16,16,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,13,14,14,16,16,16,16,17,17,18,15,16,15,17,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,17,16,11,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,14,16,16,14,15,14,17,16,14,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,13,15,13,17,14,16,16,15,18,16,15,17,14,18,15,11,12,12,14,15,13,13,14,14,16,13,14,13,15,14,15,15,16,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,15,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,16,18,15,16,15,17,16,15,15,15,17,16,15,15,16,16,17,16,16,16,18,17,16,16,17,15,18,17,18,17,19,18,14,14,15,15,17,15,15,16,16,17,14,15,15,16,16,17,17,18,17,19,16,17,15,17,15,11,13,12,15,15,12,14,14,15,15,12,14,13,16,15,15,15,15,17,17,14,15,15,17,16,12,14,14,16,16,14,14,15,16,16,14,14,14,16,16,15,16,17,17,18,15,16,16,18,17,12,14,13,16,14,13,14,14,16,15,13,15,14,16,14,15,16,16,17,17,15,16,15,18,15,15,15,16,17,17,15,16,16,17,18,16,16,16,18,18,17,17,18,18,19,17,17,18,19,19,14,15,14,17,13,15,16,15,18,14,15,16,15,18,14,17,18,17,18,16,16,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,12,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,12,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,12,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,10,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,12,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,10,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,15,17,20,21,22,23,5,5,7,9,11,13,17,20,9,5,5,6,8,10,15,18,11,7,5,4,6,9,13,17,14,9,7,5,6,7,10,14,17,10,8,6,6,4,5,8,20,14,13,10,8,4,3,4,23,17,16,14,12,6,4,4,2,0,0,0,64,0,0,0,112,96,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,216,47,6,0,0,0,0,0,0,0,0,0,0,48,6,0,0,0,0,0,0,0,0,0,40,48,6,0,80,48,6,0,0,0,0,0,0,0,0,0,120,48,6,0,160,48,6,0,0,0,0,0,0,0,0,0,200,48,6,0,240,48,6,0,0,0,0,0,0,0,0,0,24,49,6,0,64,49,6,0,240,48,6,0,0,0,0,0,104,49,6,0,144,49,6,0,184,49,6,0,224,49,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,152,47,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,14,16,17,17,18,20,6,3,5,8,10,11,13,15,13,5,3,5,8,9,11,12,15,7,4,3,5,7,9,11,16,10,7,5,6,7,9,10,17,11,8,7,7,6,8,8,19,13,11,9,9,8,8,9,20,14,13,11,10,8,9,9,5,0,0,0,243,0,0,0,104,95,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,96,96,6,0,0,0,0,0,5,0,0,0,53,12,0,0,24,83,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,80,95,6,0,0,0,0,0,5,0,0,0,243,0,0,0,16,82,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,8,83,6,0,0,0,0,0,5,0,0,0,243,0,0,0,8,81,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,0,82,6,0,0,0,0,0,5,0,0,0,243,0,0,0,0,80,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,248,80,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,67,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,79,6,0,0,0,0,0,5,0,0,0,53,12,0,0,96,55,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,152,67,6,0,0,0,0,0,1,0,0,0,7,0,0,0,56,55,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,64,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,48,54,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,40,55,6,0,0,0,0,0,5,0,0,0,243,0,0,0,40,53,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,32,54,6,0,0,0,0,0,5,0,0,0,243,0,0,0,32,52,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,24,53,6,0,0,0,0,0,5,0,0,0,243,0,0,0,24,51,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,52,6,0,0,0,0,0,1,0,0,0,25,0,0,0,144,50,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,176,50,6,0,0,0,0,0,1,0,0,0,25,0,0,0,8,50,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,40,50,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,4,5,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,5,5,4,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,9,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,7,6,7,8,6,8,7,7,7,8,7,7,8,8,8,8,7,7,7,8,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,9,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,6,5,7,8,5,8,7,5,7,7,7,7,9,8,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,10,11,8,10,9,10,10,11,9,10,10,6,8,8,8,9,9,8,10,9,8,9,10,9,10,10,10,11,10,8,10,9,10,11,10,9,11,9,6,8,8,7,9,9,8,9,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,10,9,9,10,10,9,11,10,11,11,9,10,10,10,11,11,10,11,10,6,9,8,9,10,10,9,10,9,8,10,10,9,9,10,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,9,7,9,9,8,9,9,9,9,10,9,10,10,7,9,9,9,10,10,9,10,9,6,8,9,9,9,10,9,10,10,9,10,10,9,9,11,10,11,11,8,10,10,10,11,11,9,10,9,7,9,9,9,10,10,9,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,9,9,5,7,8,10,11,5,8,7,11,10,8,10,11,12,13,8,11,10,13,12,6,7,8,10,11,7,8,10,10,12,8,9,9,12,11,10,10,12,11,14,10,11,12,14,13,6,8,7,11,10,8,9,9,11,12,7,10,8,12,10,10,12,12,13,14,10,12,10,14,11,9,10,11,11,12,10,10,11,11,13,11,12,12,13,13,12,11,13,11,15,13,14,13,14,14,9,11,10,12,11,11,12,12,13,13,10,11,10,13,11,13,13,14,14,14,12,13,11,14,11,7,8,9,11,12,9,9,11,12,13,9,10,10,13,12,11,12,13,13,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,12,13,10,11,11,13,14,10,12,11,14,13,12,13,13,14,15,12,13,13,15,14,12,12,13,13,14,12,13,13,13,15,13,14,14,14,15,14,14,15,14,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,14,12,13,13,15,14,14,15,15,15,16,14,15,14,16,14,7,9,8,12,11,9,10,10,12,13,9,11,9,13,12,11,12,12,14,14,11,13,12,15,13,9,10,10,13,12,10,11,12,13,14,10,12,11,14,13,12,13,13,14,15,13,13,13,15,14,9,10,10,13,12,11,11,11,13,13,10,12,10,14,12,13,13,13,14,15,12,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,13,15,15,14,14,15,14,16,14,15,15,16,15,12,13,12,14,13,13,13,13,15,14,12,13,13,15,13,14,15,15,16,15,14,15,14,16,14,11,12,12,13,14,12,13,14,14,15,12,13,13,14,15,14,14,15,15,16,14,15,15,16,16,12,13,13,14,15,13,13,14,14,16,13,14,14,15,15,15,15,16,15,17,15,15,15,16,16,12,13,13,14,15,13,14,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,15,17,16,14,15,15,16,16,15,15,16,15,16,15,16,16,16,17,16,16,17,16,18,16,16,17,18,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,18,16,16,16,17,16,11,12,12,14,13,12,13,13,15,14,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,14,13,14,14,15,15,13,14,14,16,15,15,15,15,16,16,15,16,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,16,14,15,15,15,16,16,15,15,15,17,15,14,15,15,16,16,15,15,15,16,16,15,16,16,17,17,16,16,17,17,17,16,17,17,18,17,14,15,15,16,15,15,15,16,16,16,15,15,15,17,15,17,17,17,18,17,16,17,16,18,16,6,9,9,12,12,8,10,10,12,13,9,11,10,13,12,10,12,12,14,14,11,13,12,14,14,8,10,10,12,12,9,10,11,12,14,10,11,11,13,13,12,12,13,13,15,12,13,13,15,14,9,10,10,13,13,10,11,11,13,13,10,12,10,14,13,12,13,13,14,15,12,13,13,15,14,11,12,12,13,14,12,12,13,13,15,12,13,13,14,14,13,13,14,13,16,14,15,15,16,15,11,12,12,14,14,13,13,13,15,14,12,13,13,15,14,14,15,15,16,15,14,14,14,16,14,7,9,10,12,12,9,10,11,13,13,9,11,10,13,13,11,12,13,14,15,12,13,13,15,14,9,10,11,12,13,10,10,12,13,14,11,11,12,14,14,12,12,14,14,15,13,13,13,15,15,9,11,11,13,13,11,12,12,14,14,10,12,10,14,13,13,14,13,15,15,12,14,13,15,14,12,12,13,13,15,12,12,14,13,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,13,15,14,13,14,14,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,14,7,10,10,12,12,10,11,11,12,13,10,12,10,14,12,12,13,13,14,15,12,13,13,15,14,9,11,10,13,12,10,10,12,12,14,11,13,12,14,13,13,13,14,13,15,13,14,14,15,14,10,11,11,13,13,12,12,12,13,14,10,12,10,14,12,13,14,14,15,15,13,14,13,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,13,13,14,13,15,14,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,13,15,13,15,15,15,16,16,13,14,13,16,13,11,12,13,14,14,12,13,14,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,13,14,14,15,13,13,14,14,16,13,14,14,15,16,14,14,16,15,17,15,15,16,16,16,12,13,13,15,15,13,14,14,15,16,13,14,14,15,16,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,15,16,16,17,16,16,16,16,18,16,16,17,17,17,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,16,17,17,17,17,16,17,16,18,17,11,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,14,15,15,17,15,12,13,13,15,14,13,13,14,15,15,14,15,14,16,15,15,15,15,15,16,15,16,15,17,16,12,13,13,15,15,14,14,14,15,16,13,14,13,16,15,15,15,16,16,17,15,16,15,17,15,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,15,15,16,15,17,16,17,17,18,17,14,15,15,16,16,15,16,16,16,17,14,15,15,17,16,17,17,17,17,18,15,16,16,18,15,6,9,9,12,12,9,10,11,12,13,8,10,10,13,12,11,12,13,14,14,10,12,12,14,13,9,10,10,12,13,10,10,12,13,14,10,11,11,13,13,12,13,13,14,15,12,13,13,15,14,8,10,10,12,12,10,11,11,13,13,9,11,10,13,13,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,13,13,13,15,13,13,13,14,15,14,14,15,14,16,14,15,15,15,15,11,12,12,14,13,12,13,13,15,14,12,13,12,15,13,14,14,15,16,16,13,14,13,16,13,7,10,10,12,12,10,10,12,12,14,10,11,11,13,12,12,13,13,13,15,12,13,13,15,14,10,11,11,13,13,10,10,12,12,14,12,12,12,14,13,13,13,14,13,15,13,14,14,15,14,9,10,11,13,13,11,12,12,13,14,10,12,10,14,12,13,13,14,14,15,13,13,12,15,13,12,13,13,14,14,12,13,13,14,15,13,14,14,15,15,13,13,15,13,16,15,15,15,16,16,12,13,13,14,14,13,14,14,15,15,12,13,12,15,14,15,15,15,16,16,13,14,13,15,13,7,10,9,12,12,9,10,11,13,13,9,11,10,13,13,11,13,13,14,15,11,13,12,15,14,9,11,11,13,13,10,10,12,13,14,11,12,12,14,14,12,13,14,14,15,13,13,13,15,15,9,11,10,13,12,11,12,11,14,14,10,12,10,14,13,13,14,13,15,15,12,14,12,15,14,12,13,13,14,15,13,13,14,14,15,13,14,14,15,15,14,14,15,14,17,14,15,15,16,16,12,13,12,15,13,13,14,14,15,15,12,14,13,15,13,14,15,15,16,16,14,15,14,16,14,11,12,12,14,14,13,13,14,14,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,15,12,13,13,15,15,13,13,14,15,16,14,14,14,16,15,15,15,16,15,17,15,16,15,17,16,12,13,13,14,15,14,14,15,15,16,13,14,13,15,15,15,15,16,16,17,15,15,15,16,15,14,15,15,16,16,14,15,15,16,17,15,16,16,17,17,16,15,16,15,17,16,17,17,17,17,14,15,15,15,16,15,15,16,16,17,14,15,15,16,16,16,16,17,17,18,15,16,15,17,15,11,13,12,14,14,12,13,13,15,15,12,14,13,15,14,14,15,15,16,16,14,15,14,16,15,12,13,13,15,15,13,14,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,15,17,16,12,13,13,15,14,13,14,14,16,15,13,14,13,16,14,15,16,15,17,16,15,15,14,18,15,14,15,15,16,16,15,15,16,16,17,15,16,15,17,16,16,16,17,17,18,16,17,17,18,17,14,15,15,16,15,15,16,15,17,16,15,15,15,17,15,16,17,17,18,17,16,17,16,18,15,10,12,12,14,14,12,13,13,14,14,12,13,13,14,14,13,14,14,15,15,13,14,14,16,15,11,12,13,14,14,12,13,13,15,15,12,13,13,15,15,13,14,15,15,16,14,15,15,16,16,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,16,15,13,14,14,15,15,13,14,14,15,16,14,14,15,16,16,14,15,15,15,17,15,16,16,17,17,13,14,14,15,15,14,15,15,16,16,14,15,15,16,16,15,16,16,16,17,15,16,15,17,16,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,15,13,13,14,15,15,13,14,14,15,15,14,14,15,15,17,14,15,15,16,16,12,13,13,15,15,13,14,14,15,15,13,14,13,15,15,14,15,15,16,17,14,15,15,16,16,13,13,14,15,16,14,14,15,15,16,14,15,15,16,16,15,15,16,15,18,15,16,16,17,17,14,15,15,16,16,15,15,15,16,16,14,15,15,17,16,16,16,16,17,17,15,16,16,17,16,10,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,15,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,15,15,14,14,15,15,16,14,15,15,16,16,12,13,13,15,15,13,14,14,15,16,13,14,13,15,14,15,15,15,16,16,14,15,15,16,15,13,14,14,16,15,14,14,14,15,16,14,15,15,16,16,15,15,16,15,17,16,17,16,17,17,14,14,15,15,16,15,15,16,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,11,13,13,14,15,13,13,14,15,15,13,14,13,15,15,14,15,15,15,16,14,15,15,17,15,13,13,14,15,15,13,14,15,15,16,14,14,14,16,16,15,14,16,15,17,15,16,16,17,16,13,14,14,15,15,14,14,14,16,16,13,15,14,16,15,15,15,16,17,17,15,16,15,17,16,14,15,15,15,16,15,15,16,15,17,15,16,16,16,17,16,16,17,15,18,16,17,17,17,17,14,15,15,16,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,15,18,16,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,16,15,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,15,14,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,13,14,12,16,14,15,16,16,16,17,15,16,14,17,15,14,15,14,16,15,14,14,15,15,15,15,16,15,17,16,15,14,16,14,16,16,17,17,18,17,14,14,15,15,16,15,16,16,16,17,14,15,14,16,15,16,16,17,17,17,15,16,14,17,14,10,12,12,14,13,12,13,13,14,14,11,13,12,14,14,13,14,14,15,16,13,14,14,16,15,12,13,13,14,14,13,13,14,15,15,13,14,13,15,15,14,14,15,15,16,14,15,15,16,16,11,13,12,14,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,13,14,14,16,15,13,14,14,15,15,14,15,15,15,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,15,15,14,15,15,16,16,13,14,14,16,15,15,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,15,15,16,14,14,14,16,15,12,13,13,15,14,13,13,14,15,15,13,14,14,16,15,14,15,15,15,16,15,15,15,16,16,12,13,13,14,15,13,13,14,15,15,13,14,13,15,15,15,15,15,16,16,14,15,14,16,15,14,14,15,16,16,14,15,15,15,16,15,16,15,16,16,15,15,16,15,17,16,16,16,17,17,13,14,14,15,16,14,15,15,16,16,14,14,14,16,16,16,16,16,17,17,15,15,15,17,15,11,12,12,14,14,12,13,13,14,15,12,13,13,15,14,14,14,14,15,16,13,14,14,16,15,12,13,13,15,15,13,13,14,15,16,13,14,14,15,15,14,15,15,16,17,14,15,15,17,16,12,13,13,15,14,13,14,14,15,15,13,14,13,15,15,14,15,15,16,16,14,15,14,17,15,14,15,15,16,16,14,15,15,16,17,15,15,15,17,17,15,16,16,16,17,16,17,16,17,17,13,15,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,16,17,17,15,16,15,17,15,10,12,12,14,14,13,13,14,14,15,13,14,13,15,14,14,15,15,15,17,14,15,15,16,15,12,13,13,15,14,12,12,14,14,15,14,15,14,16,15,15,14,16,15,17,15,16,16,17,16,12,13,13,14,15,14,14,15,15,16,12,14,12,15,14,15,16,16,16,17,15,16,14,17,14,14,15,14,16,16,14,14,15,15,16,15,16,16,17,16,15,14,16,14,17,16,17,17,18,17,14,14,15,15,16,15,15,16,16,17,14,15,14,16,15,16,17,17,17,18,15,16,14,17,14,11,13,13,15,14,13,13,14,15,15,12,14,13,15,15,14,15,15,15,17,14,15,14,16,15,13,14,14,15,15,13,14,15,15,16,14,15,14,16,16,15,15,16,16,17,15,16,16,17,17,13,14,13,15,15,14,14,14,16,16,13,15,14,16,15,15,16,16,17,17,15,16,14,17,15,15,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,15,17,16,17,17,17,17,18,18,14,15,15,17,15,15,16,16,17,16,15,16,15,17,15,16,17,17,17,17,16,17,15,18,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,7,8,8,10,10,8,9,9,10,11,8,9,9,10,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,9,10,10,11,11,10],"i8",O3,_.GLOBAL_BASE+400337),C3([10,11,11,11,10,11,11,11,11,8,9,9,10,10,9,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,11,11,11,12,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,11,11,11,12,11,11,11,11,12,11,8,9,10,11,11,9,10,11,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,12,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,11,12,12,11,11,11,12,12,10,10,11,11,12,11,11,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,12,12,12,12,12,12,13,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,11,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,10,10,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,11,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,11,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,11,11,11,11,12,12,11,12,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,11,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,11,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,12,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,11,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,13,9,11,10,11,13,13,11,13,11,6,9,9,8,10,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,11,12,10,12,12,10,10,12,11,11,14,12,13,14,10,12,12,12,13,13,11,14,11,8,11,10,11,12,13,11,14,12,10,12,11,11,12,14,13,15,14,10,12,12,13,14,15,12,14,12,5,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,10,12,12,12,12,14,14,15,14,10,11,12,13,14,15,11,14,12,8,10,10,10,12,12,9,12,11,10,12,12,11,11,14,12,13,13,10,12,10,12,14,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,6,7,7,7,7,7,7,7,7,7,7,8,7,8,8,7,8,8,7,8,7,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,8,8,8,8,8,8,9,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,9,8,8,9,8,7,8,8,8,8,9,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,8,9,7,8,8,8,8,8,8,8,8,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,8,8,9,8,8,8,8,8,9,9,9,9,9,8,8,8,8,9,9,8,9,8,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,8,7,8,10,8,9,9,5,7,7,8,9,9,7,10,8,5,7,8,8,9,10,8,10,10,8,9,10,10,10,12,10,12,12,8,10,10,10,12,12,10,12,11,5,8,7,8,10,10,8,10,9,8,10,10,10,11,12,10,12,12,8,10,9,10,12,12,10,12,10,5,8,8,7,10,10,8,10,10,7,9,10,9,10,12,10,12,12,8,10,10,10,12,12,10,12,11,7,9,10,9,11,12,10,12,11,9,9,12,11,10,14,12,12,13,10,12,11,12,13,13,11,14,12,7,10,9,10,11,11,10,12,11,9,11,11,11,11,13,12,14,13,10,12,12,12,14,14,11,14,12,5,8,8,8,10,10,7,10,10,8,10,10,10,11,12,10,12,12,7,10,9,10,12,12,9,12,10,7,9,10,10,11,12,10,11,11,10,12,12,11,12,14,12,14,14,9,11,11,12,13,14,11,13,11,7,10,9,10,11,12,9,12,11,10,11,12,11,12,14,12,13,13,9,12,9,12,13,12,11,14,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,8,8,10,10,6,8,8,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,8,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,13,13,6,8,8,10,10,8,9,9,11,11,8,9,8,11,10,10,11,11,13,13,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,13,13,8,9,9,11,12,9,10,11,12,13,9,10,10,12,13,11,12,13,13,15,11,12,12,14,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,13,10,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,13,14,14,16,14,15,14,16,15,10,12,11,14,13,12,12,13,14,14,11,12,12,14,14,14,14,15,15,16,13,14,14,16,14,6,8,8,11,10,8,9,9,11,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,13,10,11,12,13,14,11,12,13,13,14,12,13,12,14,14,13,13,14,14,16,14,15,14,16,16,10,12,11,14,13,12,13,13,14,14,11,13,12,15,13,14,14,15,16,16,13,14,13,16,14,9,10,11,12,13,11,11,12,13,14,11,11,12,13,14,13,13,14,14,16,13,14,14,15,15,11,11,12,13,14,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,14,15,16,16,11,12,12,13,14,12,12,13,14,15,12,13,12,14,15,14,14,15,15,17,14,15,14,16,16,13,14,14,15,16,14,14,15,15,17,14,15,15,16,16,15,16,17,16,18,16,17,16,17,17,13,14,14,16,15,14,15,15,16,16,14,15,14,16,15,16,16,17,17,18,16,16,16,17,16,9,11,10,13,12,11,12,11,14,13,11,12,11,14,13,13,14,14,16,15,13,14,13,16,14,11,12,12,14,13,12,12,13,14,14,12,13,13,15,14,14,14,15,16,16,14,15,14,17,15,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,14,16,16,14,15,14,17,15,13,14,14,15,16,14,14,15,16,16,14,15,15,16,16,15,16,16,16,17,16,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,17,17,17,17,16,16,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,11,11,14,13,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,11,12,13,9,11,10,13,12,11,12,12,14,15,11,13,12,15,14,10,11,11,13,14,11,12,12,13,14,11,12,12,14,14,13,13,14,14,16,13,14,14,16,15,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,14,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,14,9,9,10,11,13,10,10,12,12,14,10,10,11,13,13,12,12,13,14,16,12,12,13,15,15,9,10,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,15,12,13,13,15,15,11,11,12,13,15,12,12,13,13,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,16,11,13,12,15,14,13,13,13,15,15,12,14,13,15,14,15,15,15,16,16,14,15,15,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,14,12,12,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,13,14,13,16,14,15,15,16,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,15,16,16,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,12,14,15,13,14,15,15,17,14,14,14,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,15,14,17,15,15,15,15,17,11,13,12,15,15,13,13,14,15,16,12,14,13,16,15,15,15,15,17,17,15,15,15,17,16,14,14,15,14,16,14,14,16,14,17,15,15,15,14,17,16,16,17,15,18,17,17,17,16,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,14,14,11,13,12,15,14,14,14,14,16,16,14,15,14,16,15,11,12,12,15,13,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,17,16,11,13,12,15,14,13,13,14,15,15,12,14,13,16,14,15,15,15,17,17,14,16,15,17,16,14,14,14,16,15,14,15,15,16,16,15,16,15,17,16,16,16,16,16,17,16,17,17,18,17,14,15,15,16,16,15,15,16,17,16,14,15,15,17,16,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,11,10,13,12,11,12,13,14,15,11,12,12,15,14,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,14,13,14,14,14,16,14,15,14,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,14,13,13,14,14,15,16,13,14,13,16,14,7,9,9,11,11,9,10,11,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,13,15,12,13,13,15,15,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,12,13,13,14,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,15,15,16,16,11,12,12,14,14,12,13,13,14,15,12,13,12,15,14,14,15,15,16,17,13,14,13,16,13,8,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,10,12,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,15,15,9,10,9,13,11,10,11,10,13,13,10,12,10,14,12,12,13,12,15,15,12,13,12,15,14,11,12,13,14,15,12,13,14,14,15,13,13,13,15,15,14,15,15,15,17,15,15,15,16,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,13,14,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,14,14,14,15,15,17,14,14,14,15,16,11,12,13,14,15,12,13,14,14,16,13,14,13,15,15,14,15,16,15,17,15,15,15,17,17,11,12,12,13,15,13,13,14,14,16,12,13,13,14,15,15,15,15,16,17,14,15,15,16,16,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,14,15,15,16,15,15,15,16,17,14,15,15,16,16,16,17,17,17,18,16,16,16,17,16,10,11,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,14,16,16,13,15,14,17,15,11,12,13,15,15,12,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,15,15,17,16,11,13,11,15,12,13,14,13,16,13,12,14,12,16,13,15,15,15,17,15,14,16,14,17,14,14,15,15,16,17,15,15,16,16,17,15,16,15,17,17,16,16,17,17,18,16,17,17,18,18,14,15,14,17,13,15,16,15,17,15,15,16,15,17,14,16,17,16,18,16,16,17,16,18,15,9,11,11,13,13,10,12,12,14,14,11,12,12,14,14,13,14,14,15,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,11,13,13,15,15,13,14,14,15,16,14,15,15,16,16,11,12,12,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,14,17,16,12,13,13,15,16,13,13,14,15,16,13,14,14,16,16,14,15,16,16,17,15,16,16,17,17,13,14,14,16,15,14,15,15,17,16,14,15,14,17,15,16,16,17,17,17,16,16,16,18,16,10,11,12,14,14,11,12,13,14,15,11,13,12,15,15,13,14,15,16,16,14,15,15,17,16,11,11,13,14,15,12,12,14,14,16,12,13,14,15,15,14,14,15,16,17,15,15,15,17,17,12,13,12,15,15,13,14,14,16,15,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,12,15,14,16,14,13,15,14,17,14,13,15,15,17,15,14,17,15,18,16,15,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,16,17,17,18,18,16,17,16,18,17,10,11,11,14,14,11,12,12,14,15,11,13,12,15,14,13,14,14,16,16,14,15,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,14,15,16,16,14,15,15,17,16,11,12,12,15,15,13,13,13,15,15,12,13,13,15,15,15,15,15,17,17,14,15,15,17,16,13,14,13,16,15,14,14,14,16,16,14,15,14,17,16,15,15,16,16,17,16,17,16,18,17,14,15,15,16,16,15,15,15,17,17,14,15,15,17,16,16,17,17,18,18,16,17,16,18,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,14,15,16,16,18,15,16,16,17,17,13,13,14,14,16,14,14,15,15,17,14,14,15,15,17,15,15,17,15,18,16,16,17,17,18,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,17,16,17,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,18,16,15,17,14,18,17,16,18,15,19,17,17,18,16,19,15,16,16,17,17,16,17,17,18,18,16,17,16,18,17,18,18,18,19,18,17,18,17,19,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,15,15,16,17,15,16,15,17,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,15,15,15,16,16,17,16,16,16,18,17,12,13,13,15,15,14,14,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,18,16,15,15,15,17,15,14,15,15,16,16,16,17,16,17,16,16,16,17,16,17,17,18,17,19,18,15,15,16,17,17,16,16,16,17,17,15,16,15,17,16,17,18,18,18,18,16,17,16,18,16,9,11,11,13,13,11,12,12,14,14,10,12,12,14,14,13,14,14,15,16,13,14,14,16,15,11,12,12,14,14,12,12,13,14,15,12,13,13,15,15,14,14,15,16,17,14,15,15,16,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,14,14,14,15,16,16,13,14,14,16,15,13,14,14,15,16,14,14,15,15,17,14,15,15,16,17,16,16,16,16,18,16,16,17,17,17,12,13,13,16,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,14,16,15,17,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,14,14,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,13,14,15,15,13,13,13,15,15,14,15,15,16,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,16,16,14,14,15,16,16,14,15,15,16,17,15,16,15,17,17,16,16,17,16,18,16,17,17,18,18,13,13,14,15,16,14,14,15,16,17,14,14,14,16,15,16,16,17,17,18,15,16,15,17,16,10,12,11,14,14,11,13,13,15,15,11,13,12,15,15,14,15,15,16,16,13,15,14,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,15,15,15,16,16,17,15,15,15,17,17,11,13,11,15,14,12,14,13,16,15,12,14,12,16,14,15,15,15,17,17,14,15,14,17,15,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,13,14,12,16,14,14,15,13,17,15,14,15,13,17,14,16,17,15,18,17,15,17,14,18,15,11,12,12,14,15,13,13,14,15,16,13,14,13,16,15,15,15,16,16,17,15,15,15,16,16,12,13,13,15,15,13,13,14,15,16,14,15,14,16,16,15,15,16,16,18,16,16,16,18,17,12,13,13,15,15,14,14,15,15,16,13,14,13,15,15,16,16,16,17,18,15,16,15,17,16,15,16,15,17,16,15,15,16,16,17,16,17,16,17,17,16,16,17,16,18,17,18,18,18,18,14,15,15,15,17,16,15,17,16,17,14,15,15,16,16,17,17,18,18,19,16,16,16,17,16,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,17,15,16,15,18,16,13,14,14,16,16,14,15,15,16,17,14,15,15,17,16,16,16,17,17,18,16,17,16,18,18,13,14,13,16,14,14,15,14,17,15,14,15,14,17,14,16,17,16,18,17,15,17,15,18,15,15,16,16,17,18,16,16,17,17,18,16,17,17,17,18,17,17,18,18,19,17,18,18,19,18,15,16,14,17,13,16,17,15,18,14,16,17,15,18,14,18,18,17,19,16,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,4,7,7,4,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,6,7,8,8,9,10,8,9,10,8,9,10,10,10,12,10,11,11,8,10,10,10,11,12,10,11,11,6,8,7,8,10,9,8,10,9,8,10,10,10,11,11,10,12,11,8,10,9,10,11,11,10,12,10,5,8,8,8,10,10,8,10,10,7,9,10,9,10,11,9,11,11,8,10,10,10,11,12,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,11,12,11,11,12,9,11,11,11,12,12,11,12,12,7,9,9,10,11,11,10,12,11,9,11,10,11,11,12,11,13,12,10,11,11,12,13,13,11,13,11,5,8,8,8,10,10,8,10,10,8,10,10,10,11,12,10,12,11,7,10,9,9,11,11,9,11,10,7,9,9,10,11,12,10,11,11,10,11,11,11,11,13,12,13,13,9,10,11,11,12,13,11,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,12,11,12,12,9,11,9,11,12,11,10,12,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,14,16,17,19,22,22,5,4,6,9,11,13,17,20,9,5,5,6,9,11,15,19,11,7,5,5,7,9,13,17,14,9,7,6,6,7,11,14,16,11,9,7,6,4,4,8,19,15,13,11,9,4,3,4,21,16,16,15,12,6,4,4,2,0,0,0,64,0,0,0,56,145,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,98,6,0,0,0,0,0,0,0,0,0,40,98,6,0,0,0,0,0,0,0,0,0,80,98,6,0,120,98,6,0,0,0,0,0,0,0,0,0,160,98,6,0,200,98,6,0,0,0,0,0,0,0,0,0,240,98,6,0,24,99,6,0,0,0,0,0,0,0,0,0,64,99,6,0,104,99,6,0,24,99,6,0,0,0,0,0,144,99,6,0,184,99,6,0,56,167,5,0,96,167,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,192,97,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,7,13,15,16,17,19,20,6,3,4,7,9,10,12,15,13,4,3,4,7,8,11,13,14,7,4,4,6,7,10,11,16,9,7,6,7,8,9,10,16,9,8,7,7,6,8,8,18,12,10,10,9,8,8,9,20,14,13,12,11,8,9,9,5,0,0,0,243,0,0,0,48,144,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,40,145,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,131,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,24,144,6,0,0,0,0,0,5,0,0,0,243,0,0,0,216,130,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,208,131,6,0,0,0,0,0,5,0,0,0,243,0,0,0,208,129,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,200,130,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,128,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,192,129,6,0,0,0,0,0,5,0,0,0,53,12,0,0,120,116,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,176,128,6,0,0,0,0,0,5,0,0,0,53,12,0,0,40,104,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,96,116,6,0,0,0,0,0,1,0,0,0,7,0,0,0,0,104,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,8,104,6,0,0,0,0,0,5,0,0,0,243,0,0,0,248,102,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,240,103,6,0,0,0,0,0,5,0,0,0,243,0,0,0,240,101,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,232,102,6,0,0,0,0,0,5,0,0,0,243,0,0,0,232,100,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,224,101,6,0,0,0,0,0,5,0,0,0,243,0,0,0,224,99,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,100,6,0,0,0,0,0,1,4,5,5,10,10,5,10,10,5,10,10,10,10,10,10,10,10,5,10,10,10,10,10,10,10,10,7,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,6,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,11,11,11,11,11,11,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,8,6,8,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,9,9,10,9,9,10,9,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,10,9,9,9,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,9,9,10,9,7,9,9,9,9,10,9,10,9,9,9,9,9,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,9,10,8,9,8,9,9,9,9,10,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,9,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,12,13,13,11,13,11,6,9,9,9,11,11,9,12,10,9,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,11,6,9,9,9,11,12,9,12,11,9,10,11,10,10,13,12,13,13,9,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,12,11,10,10,12,10,10,12,12,12,13,10,11,11,12,12,13,10,12,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,14,14,10,11,12,14,14,14,11,14,11,6,9,9,9,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,14,11,10,12,11,11,11,14,14,15,14,10,11,12,13,14,15,11,14,11,7,10,9,10,11,12,9,12,10,10,11,11,10,10,12,12,13,12,9,12,10,12,13,12,10,12,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,10,10,5,7,8,11,12,5,8,7,12,11,9,11,11,13,15,9,11,11,15,13,6,7,8,11,11,7,7,9,11,13,8,9,9,13,12,11,11,12,12,15,11,12,12,15,14,6,8,7,11,11,8,9,9,12,13,7,9,7,13,11,11,12,12,14,15,11,12,11,15,12,10,11,11,12,14,10,11,12,12,15,12,13,13,14,15,13,12,14,12,16,15,15,15,16,16,10,11,11,14,12,12,13,13,15,14,10,12,11,15,12,15,15,15,16,17,13,14,12,17,12,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,12,13,15,16,12,13,13,16,15,8,9,10,12,13,9,9,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,10,9,13,13,10,11,11,14,14,9,10,10,14,13,13,14,14,16,17,13,13,13,16,15,12,13,13,14,16,13,13,14,14,16,14,14,14,16,16,15,15,16,15,18,16,17,17,18,18,12,13,13,15,15,14,14,14,16,16,13,14,13,16,15,16,16,17,18,18,15,16,15,18,15,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,12,13,13,15,16,12,13,12,16,15,8,9,10,13,13,9,10,10,13,14,10,11,11,14,14,13,13,13,15,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,9,14,13,13,14,14,16,16,13,14,13,16,14,12,13,13,15,16,13,13,14,15,16,14,14,14,16,16,15,15,16,15,18,17,17,17,18,18,12,13,13,16,14,14,14,14,16,16,13,14,13,16,14,16,17,17,18,18,15,16,15,18,15,11,12,13,14,16,13,13,14,15,17,13,14,14,16,17,16,16,17,17,19,16,17,17,18,19,13,13,14,16,16,14,14,15,16,17,14,15,15,17,17,17,16,17,17,19,17,17,18,19,19,13,14,14,16,16,14,14,15,17,18,14,15,14,17,17,17,17,18,18,19,17,17,17,18,19,16,16,16,17,18,17,17,17,18,19,17,17,17,18,19,18,18,19,18,20,19,20,19,21,20,16,17,17,18,18,17,17,18,19,19,17,17,17,19,18,19,19,19,19,20,19,19,19,20,19,11,13,12,16,14,13,14,14,17,16,13,14,13,17,15,16,17,17,18,18,16,17,16,19,17,13,14,14,16,16,14,14,14,17,17,14,15,15,17,16,17,17,17,19,19,17,18,17,19,18,13,14,13,17,16,14,15,15,17,17,14,15,14,18,16,17,17,17,19,19,17,17,16,19,17,16,17,17,18,19,17,17,17,18,18,17,18,17,19,18,18,19,18,19,19,19,20,19,20,20,16,17,16,18,17,17,17,17,18,18,17,18,17,19,17,19,19,19,19,20,18,19,19,20,18,6,8,8,12,12,8,9,9,13,13,8,10,9,13,13,11,13,13,15,16,12,13,13,16,15,8,9,9,13,13,9,9,10,13,14,10,11,11,14,14,12,12,13,14,16,13,14,14,17,16,8,10,9,13,13,10,11,11,14,14,9,11,10,14,13,13,14,14,16,16,13,14,13,16,15,12,13,13,14,16,12,13,14,14,16,13,14,14,16,16,15,14,16,15,18,16,17,17,18,17,12,13,13,16,15,14,14,14,16,16,13,14,13,16,15,16,16,17,17,17,15,16,15,18,15,7,9,9,13,13,9,9,11,13,14,9,10,10,14,13,12,13,14,15,16,12,14,13,17,15,9,9,10,13,14,10,9,11,13,15,11,11,11,14,14,13,12,14,14,17,14,14,14,17,16,9,10,10,14,13,11,11,11,14,14,10,11,10,15,13,14,14,14,16,17,13,14,13,17,14,13,13,14,14,16,13,13,14,14,17,14,14,14,16,16,15,14,16,15,18,17,17,17,18,18,13,14,13,16,15,14,14,15,17,16,13,14,13,17,15,17,16,17,17,17,15,16,14,18,14,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,13,14,14,16,16,13,14,14,17,15,9,10,10,14,13,9,10,11,13,14,11,12,11,15,14,13,13,14,14,16,14,15,15,17,17,9,10,10,14,14,11,12,12,14,15,10,11,10,15,13,14,15,15,17,17],"i8",O3,_.GLOBAL_BASE+410577),C3([14,15,13,17,14,13,14,13,16,16,13,13,14,15,16,14,15,15,17,17,15,14,16,15,18,17,18,17,20,18,13,14,14,16,16,15,15,15,17,17,13,14,13,17,15,17,17,18,18,18,15,16,14,19,14,12,13,13,15,16,13,13,15,16,17,13,14,14,16,16,15,15,17,17,19,16,17,17,19,18,13,13,14,15,17,14,13,15,15,17,14,15,15,16,17,16,15,18,16,19,17,17,17,18,19,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,17,17,17,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,17,17,18,18,19,18,17,18,17,21,19,19,19,20,19,16,17,17,18,18,17,17,18,18,19,16,17,16,18,18,19,19,19,19,20,18,18,17,20,18,11,13,13,16,15,13,14,14,16,17,13,15,14,17,16,16,17,17,18,18,17,17,17,19,18,13,14,13,17,16,14,13,14,16,17,15,16,15,18,16,17,16,17,17,19,18,18,18,20,18,13,14,14,16,17,15,15,15,17,18,14,15,14,18,16,18,18,18,19,20,17,18,16,20,17,16,17,16,18,18,16,16,17,18,18,17,18,18,19,18,18,17,19,17,20,19,20,19,22,20,16,16,17,18,18,18,17,17,19,19,16,17,16,18,17,19,20,19,22,21,18,19,18,21,17,6,8,8,12,12,8,9,10,13,13,8,9,9,13,13,12,13,13,15,16,11,13,13,16,15,8,9,10,13,13,9,10,11,13,14,10,11,11,14,14,13,13,14,15,16,13,14,14,16,16,8,9,9,13,13,10,11,11,14,14,9,10,9,14,13,13,14,14,16,17,12,14,12,16,14,12,13,13,15,16,13,13,14,15,16,13,14,14,15,17,15,15,16,15,18,16,16,17,17,17,12,13,13,16,14,13,14,14,16,16,12,14,13,16,14,16,17,17,18,18,15,15,14,18,14,7,9,9,13,13,9,10,11,13,14,9,10,10,14,13,13,14,14,15,17,13,14,14,16,15,9,10,10,14,14,10,10,11,13,15,11,12,12,15,14,14,13,15,14,17,14,15,15,17,17,9,10,10,13,14,11,11,12,14,15,9,11,10,14,13,14,15,15,16,18,13,14,13,16,14,13,14,14,16,16,13,13,14,15,17,15,15,15,16,17,15,14,16,15,18,17,17,18,19,18,13,14,14,16,16,14,15,15,17,17,13,14,13,16,15,17,17,18,18,18,15,16,14,18,15,7,9,9,13,13,9,10,10,13,14,9,11,10,14,13,12,13,14,15,16,12,14,13,16,15,9,10,10,13,14,10,10,11,13,14,11,11,11,15,14,13,13,14,14,16,14,14,14,17,16,9,10,9,14,13,11,11,11,14,14,10,11,9,15,13,14,14,14,16,16,13,14,12,17,14,13,13,14,15,16,13,13,14,15,16,14,15,14,16,17,15,14,16,14,18,16,17,17,18,18,13,14,13,16,14,14,14,14,16,16,13,14,13,17,14,17,17,17,18,18,15,16,14,18,15,11,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,17,18,19,17,17,17,19,18,13,14,14,17,17,13,13,15,16,18,15,15,15,17,17,17,16,18,17,20,18,17,18,19,19,13,14,14,16,17,15,15,16,16,18,14,15,14,16,16,17,17,18,18,20,17,18,16,18,17,16,17,16,19,18,16,16,17,18,19,18,18,18,19,19,18,17,18,17,21,20,19,19,21,21,16,16,17,18,18,17,17,18,19,19,16,17,16,19,18,20,20,20,19,21,18,18,17,20,18,12,13,13,16,15,13,14,14,16,16,13,14,13,17,16,16,17,17,18,18,15,17,15,19,17,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,17,17,17,19,19,13,14,13,17,15,14,15,15,17,16,14,15,13,17,15,17,18,17,19,18,16,17,15,20,16,16,17,17,18,18,16,16,17,18,18,17,18,17,19,18,17,17,18,18,20,19,20,19,20,19,16,16,16,19,16,17,17,17,19,18,16,17,16,19,16,19,19,19,19,19,18,19,17,19,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,15,17,17,19,19,16,18,17,20,19,12,14,14,17,17,13,14,15,17,18,14,15,15,17,18,16,16,17,18,20,17,18,18,20,18,13,14,14,17,17,14,15,15,17,18,14,15,15,17,17,17,18,17,19,19,17,18,17,19,19,15,16,16,18,18,15,16,17,18,19,16,17,17,19,19,17,17,18,18,21,18,19,19,21,19,16,17,17,18,18,17,17,18,19,19,17,18,17,19,19,19,19,19,20,20,18,19,18,21,19,12,13,13,16,16,13,14,14,16,17,13,15,14,17,16,15,16,17,17,19,16,17,17,19,18,13,13,14,16,17,14,13,15,16,17,14,15,15,17,17,15,15,17,17,20,17,17,18,19,18,13,14,14,17,16,15,15,15,17,18,14,15,14,17,16,17,17,17,18,18,16,17,16,19,17,16,15,17,17,19,16,15,17,16,19,17,16,17,18,19,17,16,19,16,20,19,18,19,19,19,16,17,17,18,18,17,17,17,18,19,16,17,16,19,18,20,19,19,20,19,18,18,17,20,17,11,13,13,16,16,13,14,15,16,17,14,15,14,18,16,17,17,17,18,21,17,18,17,20,19,13,14,14,17,16,13,14,15,16,18,15,16,15,18,17,17,16,17,17,19,17,18,18,20,19,13,14,14,16,17,15,15,16,17,18,14,15,14,18,17,17,18,18,19,20,17,18,16,19,17,16,17,15,19,18,16,16,16,18,18,17,18,17,20,19,18,17,18,17,20,20,20,19,22,20,16,17,17,18,19,18,18,18,19,20,16,17,16,19,18,20,19,19,20,20,18,19,17,20,17,13,14,14,16,17,14,14,16,16,18,14,16,15,17,16,16,16,17,17,18,17,17,16,19,18,14,14,15,16,17,14,14,16,16,18,16,16,16,17,17,16,15,17,16,19,18,18,18,19,19,14,15,15,17,17,15,16,16,17,18,14,16,14,18,16,17,17,18,18,19,16,17,16,19,17,16,16,17,16,18,16,16,17,16,19,18,18,18,17,18,17,16,18,16,20,19,19,19,19,19,16,17,17,18,18,17,17,18,19,19,16,17,16,19,17,18,19,19,19,20,17,18,16,20,16,11,14,13,17,17,14,14,16,16,18,14,16,14,19,16,18,18,19,18,19,18,19,18,21,18,13,15,14,18,16,14,14,16,16,18,16,17,16,19,17,18,16,19,17,20,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,20,19,19,20,21,18,19,16,21,17,17,18,16,19,17,16,16,17,18,18,19,19,18,21,18,17,17,18,17,20,20,20,20,22,20,17,17,18,18,20,19,19,19,18,20,16,17,17,19,19,21,21,21,20,21,17,19,17,23,17,11,13,13,16,16,13,14,14,17,17,13,14,14,17,17,16,17,17,19,20,15,16,16,19,19,13,14,14,16,17,14,15,15,17,18,14,15,15,17,17,17,17,18,19,19,17,17,18,19,19,13,14,14,17,16,14,15,15,17,17,13,15,14,18,17,17,18,18,19,20,16,17,16,19,18,16,16,17,18,18,17,17,17,18,19,17,18,17,19,19,19,19,19,19,20,19,20,19,20,20,15,16,16,18,17,16,17,17,20,18,15,16,16,19,17,19,19,19,20,20,17,18,17,21,17,11,13,13,16,16,13,14,15,16,17,13,15,14,17,16,17,17,18,18,20,17,17,17,19,19,13,14,14,17,17,14,14,15,17,18,15,15,15,18,17,17,17,18,17,20,18,18,17,20,18,13,14,14,16,17,15,15,16,17,18,14,15,13,17,17,17,18,18,19,20,17,17,16,19,17,16,17,17,18,18,16,16,17,18,18,18,18,18,19,19,18,17,19,18,21,19,20,20,20,20,16,15,17,18,18,17,17,18,18,20,16,16,16,18,17,20,19,20,21,22,17,18,17,20,17,12,13,13,16,16,13,14,15,16,17,13,14,14,17,16,16,17,18,18,19,15,16,16,19,18,13,14,14,16,17,14,14,15,16,17,14,15,15,17,17,16,16,17,17,19,17,17,17,19,18,13,14,13,17,16,14,15,15,17,17,13,15,13,17,16,17,17,17,19,19,15,17,15,19,17,16,17,17,18,18,16,16,17,17,19,17,18,17,19,19,18,17,19,17,19,19,19,19,20,19,15,17,15,19,16,17,17,16,19,18,16,17,15,18,16,19,19,19,20,19,17,19,16,19,16,11,14,14,17,17,15,14,16,16,18,15,16,14,18,16,18,18,19,18,21,18,19,18,20,18,13,15,14,18,17,14,14,16,16,18,16,17,16,19,17,17,17,19,17,22,19,19,19,21,19,13,14,15,17,18,17,16,17,17,19,14,16,14,18,16,19,19,19,20,21,18,18,16,20,17,17,18,16,19,18,15,17,17,19,19,19,19,18,21,19,18,17,20,17,21,22,21,20,21,21,17,16,19,18,20,19,18,19,18,20,16,17,16,19,18,21,20,21,19,23,18,19,16,20,17,13,14,14,17,16,14,14,15,16,18,14,16,14,17,16,16,16,17,17,19,16,17,16,19,17,14,15,15,17,17,14,14,16,16,17,15,16,16,18,17,16,16,17,17,19,17,18,17,19,18,14,15,14,17,16,16,16,16,17,17,14,16,14,17,16,18,18,18,18,19,16,17,15,19,16,17,17,17,18,18,16,15,17,17,18,18,18,18,19,19,17,16,18,16,19,19,19,19,19,19,16,17,16,19,16,18,18,17,19,18,16,17,16,19,16,19,19,20,19,19,17,18,16,20,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,6,8,8,10,10,8,9,9,10,11,8,10,9,11,10,9,10,10,11,11,9,10,10,11,11,8,9,9,10,10,9,9,10,11,11,10,10,10,11,11,10,11,11,11,11,10,11,11,11,11,8,9,9,11,10,10,10,10,11,11,9,10,9,11,11,10,11,11,11,11,10,11,10,11,11,10,10,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,11,10,11,10,11,11,11,11,11,11,11,10,11,11,11,11,11,11,11,11,11,11,11,11,11,11,8,9,10,11,11,10,10,11,11,11,10,10,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,10,11,11,12,11,11,11,12,12,11,11,12,12,12,11,11,12,12,12,10,10,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,11,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,10,9,11,11,10,10,10,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,10,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,11,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,11,12,11,11,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,13,13,12,12,12,13,12,10,11,11,12,11,11,11,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,8,10,10,11,11,10,10,11,11,11,10,11,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,11,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,10,11,11,11,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,11,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,8,10,10,11,11,10,10,11,11,11,9,11,10,11,11,10,11,11,12,12,10,11,11,12,12,10,10,11,11,11,10,11,11,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,11,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,11,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,12,13,12,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,13,12,13,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,11,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,13,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,12,12,12,12,12,12,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,12,13,13,12,13,12,13,12,12,13,13,13,13,12,13,12,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,12,12,12,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,12,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,12,13,12,13,13,12,13,12,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,8,5,8,7,5,7,7,7,7,9,7,9,9,5,7,7,8,9,9,7,9,7,6,8,8,8,9,10,8,9,9,8,9,10,9,9,11,10,11,11,8,9,9,10,11,11,9,11,10,6,8,8,8,9,9,8,10,9,8,9,9,9,10,11,10,11,10,8,10,9,10,11,11,9,11,9,6,8,8,7,9,9,8,10,9,7,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,11,10,7,9,9,8,10,10,9,10,10,9,9,10,10,10,11,10,11,11,9,10,10,10,11,11,10,11,10,7,9,9,9,9,10,9,10,9,8,10,9,9,9,11,10,11,11,9,10,10,10,11,11,9,11,9,6,8,8,8,9,10,7,9,9,8,9,9,9,10,10,9,10,10,7,9,9,9,10,10,9,10,9,7,9,9,9,9,10,9,10,9,9,10,10,9,9,11,10,11,11,8,9,10,10,11,11,9,11,9,7,9,9,9,10,10,8,10,10,9,10,10,10,10,11,10,11,11,9,10,9,10,11,11,10,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,7,7,6,7,7,6,7,7,6,7,7,7,8,8,7,8,8,6,7,7,7,8,8,7,8,8,7,7,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,7,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,9,8,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,9,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,9,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,9,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,8,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,8,5,8,7,5,7,8,8,8,10,8,10,10,5,8,7,8,10,10,8,10,8,6,8,9,8,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,13,13,11,13,12,6,9,8,9,11,11,8,12,10,9,11,11,11,12,13,11,13,13,9,11,10,11,13,13,11,13,11,5,9,9,8,11,11,9,12,11,8,10,11,10,11,13,11,13,13,9,11,11,11,13,13,11,13,12,8,10,11,10,12,13,10,13,12,10,10,13,11,11,14,12,13,14,11,13,12,13,14,14,12,14,12,8,11,10,11,12,13,11,14,12,10,13,12,12,12,13,13,15,14,11,12,13,13,14,15,12,14,12,5,9,9,9,11,12,8,11,11,9,11,11,11,12,13,11,13,13,8,11,10,11,13,13,10,13,11,8,10,11,11,12,14,11,13,12,11,13,12,12,12,14,13,15,14,10,12,13,13,14,15,12,13,12,8,11,10,10,12,13,10,13,12,11,12,13,12,12,14,13,14,14,10,13,10,12,14,13,11,14,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,8,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,13,10,11,11,14,13,6,8,8,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,13,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,13,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,8,8,10,11,8,9,10,11,12,8,9,9,11,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,12,13,11,11,13,13,15,11,12,12,14,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,14,14,11,13,12,14,13,14,15,15,16,16,13,14,14,16,14,6,8,8,11,10,8,9,9,12,11,8,10,9,12,11,10,11,11,13,13,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,8,9,9,12,11,9,10,10,13,12,9,11,10,13,12,12,12,12,14,14,11,13,12,15,13,11,11,12,13,14,11,12,13,13,14,12,13,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,13,11,11,12,13,14,11,12,12,13,14,13,13,14,14,16,13,14,14,15,16,11,11,12,13,14,12,12,13,14,15,12,13,13,14,15,14,14,15,15,17,14,15,15,16,17,11,12,12,14,14,12,13,13,14,15,12,13,12,15,15,14,15,15,16,17,14,15,15,16,16,13,14,14,15,16,14,14,15,15,17,15,15,15,16,17,16,16,17,16,18,16,17,17,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,16,16,16,17,17,18,18,16,16,16,17,16,9,11,10,13,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,14,13,17,14,11,12,12,14,14,12,12,13,15,15,12,13,13,15,14,14,14,15,16,16,14,15,15,17,16,11,12,11,14,13,12,13,13,15,14,12,13,12,15,13,14,15,15,16,16,14,15,14,17,15,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,16,17,17,16,17,17,18,18,13,15,14,16,15,15,15,15,17,16,14,15,14,17,15,16,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,12,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,10,10,13,13,9,11,10,13,12,12,12,12,14,15,11,13,12,15,13,10,11,11,13,14,11,12,12,13,15,11,12,12,14,14,13,13,14,14,16,14,15,14,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,14,14,16,14,8,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,10,11,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,12,10,11,11,13,14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,15,11,11,13,13,15,12,12,14,13,15,13,13,14,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,15,14,15,15,15,17,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,12,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,12,12,10,10,11,12,13,10,11,11,14,13,12,12,13,14,15,12,13,13,16,15,9,10,10,13,12,10,11,11,13,13,10,11,10,14,12,13,13,13,15,15,12,13,12,15,14,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,14,16,15,16,15,17,16,12,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,14,17,14,10,11,12,13,14,11,12,13,14,15,11,12,13,14,15,13,14,15,15,17,14,15,15,16,16,11,12,13,12,15,12,12,14,13,16,13,13,14,13,16,14,14,16,14,18,15,15,16,16,17,12,13,12,15,15,13,14,14,15,16,13,14,13,16,15,15,15,16,17,18,15,15,15,17,16,14,14,15,14,17,15,14,16,14,17,15,15,16,15,18,16,16,17,16,19,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,18,18,18,16,17,16,18,17,10,11,11,14,13,11,12,12,15,14,11,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,14,13,14,13,16,14,14,15,15,16,16,15,16,15,18,16,11,13,12,15,15,13,14,14,15,15,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,14,16,16,14,15,15,16,16,15,16,15,17,16,16,16,17,16,17,17,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,18,16,17,18,18,18,18,16,17,16,19,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,10,13,13,11,12,13,13,15,11,12,12,15,14,7,9,9,12,11,9,10,10,12,13,9,10,10,13,12,11,12,12,14,15,11,12,11,14,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,11,11,14,13,11,12,12,14,14,11,12,12,15,13,14,14,14,16,16,13,14,13,16,14,7,9,9,11,12,9,10,10,12,13,9,10,10,12,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,11,12,14,10,11,11,13,13,12,12,13,14,15,13,13,13,15,15,9,10,10,12,12,10,11,11,13,14,10,11,10,13,12,12,13,13,15,16,12,13,12,15,14,11,12,13,14,14,12,12,13,14,15,13,14,13,15,15,14,14,15,14,17,15,16,15,17,16,11,12,12,14,14,13,13,13,15,15,12,13,12,15,14,15,15,15,16,17,14,15,14,16,14,8,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,11,11,14,13,12,13,13,15,15,12,13,13,16,15,9,11,9,13,11,10,11,10,14,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,16,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,11,13,14,11,12,13,14,15,11,12,12,14,15,14,14,15,16,17,14,15,15,16,16,11,12,13,14,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,16,16,17,17,11,12,12,14,15,13,13,14,14,16,12,13,13,15,15,15,15,16,16,18,14,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,18,17,18,18,14,14,15,16,16,15,15,16,16,17,14,15,15,16,16,17,17,18,18,19,16,17,16,17,16,10,12,11,14,13,11,13,12,15,14,11,13,12,15,14,14,15,15,16,16,13,15,14,17,15,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,14,15,15,17,17,15,16,16,17,17,11,13,12,15,12,13,14,13,16,13,12,14,12,16,13,15,16,15,17,16,14,16,14,18,14,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,18,15,15,16,15,18,14,17,17,17,18,17,16,17,16,19,16,9,11,11,13,13,10,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,14,14,16,16,10,11,12,14,14,11,12,13,14,15,12,13,13,15,15,13,14,15,16,16,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,12,15,15,14,15,15,16,17,14,15,14,17,16,12,13,14,15,16,13,13,14,15,16,13,14,15,16,16,14,15,16,16,18,15,16,16,18,18,13,14,14,16,15,14,15,15,17,16,14,15,15,17,16,16,17,17,18,18,16,17,16,18,17,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,11,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,12,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,12,15,14,17,14,13,16,14,17,14,14,16,15,18,15,14,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,18,16,17,17,17,18,18,16,17,16,19,17,10,11,11,14,14,11,12,12,15,15,11,13,12,15,15,14,15,14,16,16,14,15,15,17,16,11,12,12,15,14,12,12,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,18,17,11,13,12,15,15,13,14,13,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,18,16,13,14,13,16,16,14,15,14,16,16,14,15,15,17,16,16,16,16,16,18,16,18,17,19,18,14,15,15,17,16,15,16,16,17,17,15,15,15,17,16,17,17,18,18,19,16,17,16,18,16,12,13,13,15,16,13,14,14,16,17,13,14,14,16,16,15,15,16,17,18,15,16,16,18,17,13,13,14,14,17,14,14,15,15,17,14,14,15,16,17,15,15,17,16,18,16,17,17,18,18,13,14,14,17,16,14,15,15,17,17,14,15,14,17,16,16,17,17,18,18,16,17,16,18,17,15,14,16,13,18,16,15,17,14,19,16,16,17,15,18,17,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,18,16,17,16,19,17,18,19,18,19,19,17,18,17,20,18,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,17,15,16,16,18,17,12,14,13,16,15,13,13,14,15,16,14,15,14,17,16,16,16,16,16,17,16,17,17,19,17,12,13,14,16,16,14,15,15,16,17,13,15,13,17,15,16,17,17,18,18,16,17,16,18,16,15,16,15,17,16,15,15,15,17,17,16,17,16,18,17,17,16,17,16,18,18,19,18,20,18,15,16,16,17,17,16,17,17,18,18,15,16,15,18,17,18,18,19,19,19,17,18,16,19,16,9,11,11,13,13,11,12,12,14,15,10,12,12,14,14,13,14,14,16,16,13,14,14,16,16,11,12,12,14,14,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,11,14,14,12,13,13,15,15,11,13,12,15,14,14,15,15,16,17,13,15,14,17,16,13,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,17,18,16,17,17,18,18,12,14,13,16,15,13,15,14,17,16,13,14,13,17,15,15,16,16,18,18,15,16,15,18,16,10,11,11,14,14,11,12,13,14,15,11,12,12,15,15,14,15,15,16,17,14,15,15,16,16,11,12,13,15,15,12,13,14,15,16,13,14,14,15,16,15,15,16,16,18,15,15,16,17,17,11,12,12,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,17,18,14,15,15,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,19,17,17,18,19,18,13,13,14,16,16,14,15,16,17,17,14,14,15,16,16,16,16,17,18,18,16,16,16,18,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,17,18,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,14,15,16,15,17,17,14,16,14,17,16,14,15,15,16,17,15,15,16,16,18,15,16,16,17,17,16,17,17,17,19,17,17,17,18,18,13,15,12,17,14,14,16,14,17,15,14,15,13,17,14,16,17,16,18,17,15,17,14,19,15,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,17,18,15,16,16,17,17,12,14,13,16,16,13,13,15,15,17,14,15,15,17,16,16,16,17,16,19,16,17,17,18,18,12,13,14,15,16,14,14,15,16,17,13,14,13,16,15,16,17,17,18,19,15,16,16,17,16,15,16,16,18,17,15,15,16,17,18,16,17,17,18,18,16,16,18,16,19,18,19,19,20,19,15,15,16,16,17,16,16,17,17,18,15,15,15,17,16,18,18,19,18,20,17,17,16,18,16,12,13,13,16,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,17,13,14,14,16,16,14,15,15,16,17,14,15,15,17,17,16,17,17,18,18,16,17,17,18,18,13,14,13,17,14,14,15,14,17,16,14,15,14,17,15,16,17,17,18,18,15,17,15,19,15,16,16,16,17,18,16,16,17,17,19,16,17,17,18,19,17,17,18,18,20,18,18,18,19,19,15,16,14,18,13,16,17,16,19,15,16,17,15,19,14,18,18,18,19,17,17,18,16,20,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,9,8,9,10,9,10,12,10,11,11,8,9,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,9,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,10,10,11,11,10,12,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,12,10,9,11,10,10,11,12,11,13,12,9,11,11,11,13,13,11,13,11,5,8,8,8,9,10,7,10,9,8,10,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,12,9,11,11,9,11,11,11,11,13,11,13,13,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,8,13,15,16,18,21,22,5,4,6,8,10,12,17,21,9,5,5,6,8,11,15,19,11,6,5,5,6,7,12,14,14,8,7,5,4,4,9,11,16,11,9,7,4,3,7,10,22,15,14,12,8,7,9,11,21,16,15,12,9,5,6,8,2,0,0,0,64,0,0,0,8,198,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,208,150,6,0,0,0,0,0,0,0,0,0,248,150,6,0,0,0,0,0,0,0,0,0,32,151,6,0,72,151,6,0,0,0,0,0,0,0,0,0,112,151,6,0,152,151,6,0,0,0,0,0,0,0,0,0,192,151,6,0,232,151,6,0,0,0,0,0,0,0,0,0,16,152,6,0,56,152,6,0,232,151,6,0,0,0,0,0,96,152,6,0,136,152,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,144,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,136,150,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,112,147,6,0,152,147,6,0,0,0,0,0,0,0,0,0,192,147,6,0,232,147,6,0,16,148,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,160,149,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,80,150,6,0,0,0,0,0,2,0,0,0,25,0,0,0,104,149,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,136,149,6,0,0,0,0,0,2,0,0,0,9,0,0,0,72,149,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2],"i8",O3,_.GLOBAL_BASE+420817),C3([0,0,0,0,0,0,0,88,149,6,0,0,0,0,0,1,0,0,0,25,0,0,0,192,148,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,224,148,6,0,0,0,0,0,1,0,0,0,25,0,0,0,56,148,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,88,148,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,2,3,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,14,14,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,4,5,5,4,5,5,5,5,4,5,4,4,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,10,10,10,10,9,8,11,11,4,6,5,8,6,10,10,10,10,10,9,10,9,4,5,6,6,9,10,10,10,10,9,10,9,10,8,9,8,9,8,9,9,10,9,11,10,12,10,8,8,9,8,9,9,9,9,10,10,11,10,12,9,10,10,11,10,11,10,12,11,12,11,13,11,9,10,10,10,11,10,11,11,12,11,12,11,12,11,12,12,12,12,13,12,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,12,13,13,13,14,14,13,13,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,7,12,14,14,16,18,19,6,2,4,6,8,9,12,14,12,3,3,5,7,8,11,13,13,6,4,5,7,8,10,11,14,8,7,7,7,7,9,10,15,9,8,7,7,6,8,9,17,11,11,10,9,8,9,9,19,14,13,11,10,9,9,9,5,0,0,0,243,0,0,0,0,197,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,248,197,6,0,0,0,0,0,5,0,0,0,53,12,0,0,176,184,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,232,196,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,183,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,160,184,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,182,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,152,183,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,181,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,144,182,6,0,0,0,0,0,5,0,0,0,53,12,0,0,72,169,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,128,181,6,0,0,0,0,0,5,0,0,0,53,12,0,0,248,156,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,48,169,6,0,0,0,0,0,1,0,0,0,7,0,0,0,208,156,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,216,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,200,155,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,192,156,6,0,0,0,0,0,5,0,0,0,243,0,0,0,192,154,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,184,155,6,0,0,0,0,0,5,0,0,0,243,0,0,0,184,153,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,176,154,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,152,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,168,153,6,0,0,0,0,0,1,7,7,6,9,9,7,9,9,6,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,5,7,8,5,8,7,6,7,7,7,7,8,8,8,8,6,7,7,7,8,8,7,8,7,6,8,8,8,9,10,8,9,9,8,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,10,6,8,8,8,9,9,8,10,9,9,9,9,9,9,10,10,10,10,8,9,9,10,10,10,9,10,9,6,8,9,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,8,9,8,9,9,9,9,9,8,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,9,9,9,10,10,9,10,10,9,10,9,9,9,10,10,10,10,9,10,9,10,10,10,9,10,9,6,8,8,8,9,9,8,9,9,8,9,9,9,9,10,9,10,10,8,9,9,9,10,10,9,10,9,7,9,9,9,10,10,9,10,9,9,9,10,10,9,10,10,10,10,9,9,9,10,10,10,9,10,9,7,9,8,8,9,9,8,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,9,10,5,8,7,9,10,9,7,10,7,6,9,9,9,10,12,10,12,11,9,10,11,11,10,13,12,12,13,10,11,11,12,13,13,11,13,11,6,9,9,10,11,12,9,12,11,10,11,11,11,11,13,12,13,13,9,11,10,12,13,13,11,13,10,6,9,10,9,11,12,10,12,11,9,10,11,10,10,13,11,13,13,10,11,11,12,13,12,11,13,11,7,9,10,9,10,12,10,11,11,10,10,11,10,10,12,12,11,12,10,11,10,12,12,12,10,12,10,7,10,10,11,11,13,11,13,11,10,12,11,11,10,13,13,14,13,10,11,12,13,13,14,11,13,10,6,10,9,10,11,12,9,12,11,9,11,11,11,11,13,12,12,13,9,11,10,12,13,13,10,13,10,7,10,10,11,11,14,11,13,11,10,12,11,11,10,14,13,14,13,10,11,12,13,13,14,11,13,10,7,10,9,10,10,12,9,12,10,10,11,11,10,10,12,12,12,12,9,11,10,11,12,12,10,12,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,6,6,10,10,6,7,9,11,13,5,9,7,13,11,8,11,12,13,15,8,12,11,15,13,6,7,8,11,11,7,8,10,11,13,9,10,10,13,13,11,11,13,12,16,12,13,13,16,15,6,8,7,11,11,9,10,10,13,13,7,10,7,13,11,12,13,13,15,16,11,13,11,16,12,10,11,11,11,13,11,11,13,12,15,13,13,13,14,15,13,12,15,12,17,15,16,16,16,16,10,11,11,14,11,13,13,13,15,14,11,13,11,15,12,15,15,16,16,16,13,15,12,17,12,6,8,9,12,12,9,10,12,13,15,9,11,11,15,14,12,13,15,16,18,13,14,14,17,16,9,10,11,13,14,11,10,13,14,16,11,12,12,15,15,14,13,16,15,18,14,15,15,17,17,9,11,11,14,14,11,12,13,15,16,11,13,11,15,14,15,15,15,17,18,14,15,14,17,15,13,14,14,15,16,14,14,15,15,17,15,16,15,17,17,16,16,17,15,19,17,18,18,19,18,13,14,14,16,15,15,15,16,17,17,14,15,14,18,15,17,17,17,19,19,16,17,15,19,16,6,9,8,13,12,9,11,11,14,15,9,12,10,15,13,13,14,14,16,17,12,15,13,18,16,9,11,11,14,14,11,11,13,14,15,11,13,12,16,15,14,14,15,15,18,14,15,15,18,17,9,11,10,14,13,11,12,12,15,15,11,13,10,16,14,14,15,15,16,18,14,16,13,18,15,13,14,14,16,16,14,14,15,15,17,15,16,15,17,17,16,16,17,16,19,17,18,17,18,19,13,14,14,16,15,15,15,15,17,17,14,15,14,17,15,17,17,17,18,19,16,17,15,19,15,11,13,13,15,16,13,14,15,16,18,14,15,15,17,17,16,16,18,18,20,17,18,17,19,20,13,14,14,16,17,15,15,16,17,18,15,16,16,17,17,18,17,19,18,19,18,18,18,19,21,14,14,15,16,17,15,15,16,18,18,15,16,16,17,18,18,18,19,19,21,18,19,19,22,20,16,16,17,17,19,17,17,17,18,20,17,18,18,20,19,19,19,20,19,0,19,19,20,20,21,17,17,17,19,18,18,18,20,19,19,18,18,18,20,20,19,19,20,20,20,20,21,20,21,19,11,13,13,16,15,14,15,15,17,17,14,15,14,18,16,16,18,18,20,19,16,19,17,21,18,13,14,15,16,17,15,15,16,18,18,15,16,15,19,18,18,18,18,19,19,18,18,18,22,20,13,14,14,16,16,15,16,16,18,17,15,16,15,18,17,18,18,18,19,19,17,18,17,21,18,16,17,17,18,18,17,18,19,19,19,18,20,18,19,19,19,20,21,19,21,20,20,20,0,21,16,17,17,19,19,18,18,18,19,21,17,18,18,19,18,20,19,21,20,21,19,20,20,22,19,7,9,9,13,13,8,10,11,14,15,9,12,11,15,14,11,13,14,16,17,13,15,14,17,16,8,10,11,14,14,10,10,12,14,16,11,12,12,16,15,13,12,15,15,18,14,15,15,19,17,9,11,11,14,14,11,12,12,15,15,11,13,11,16,14,14,15,14,17,17,14,16,14,18,15,12,13,14,15,16,13,13,15,14,17,15,15,15,17,17,15,14,17,14,19,17,18,18,19,18,13,14,14,16,16,15,15,15,17,17,14,15,14,18,15,17,18,17,18,17,16,18,16,19,15,7,10,10,13,13,9,10,12,14,15,10,12,11,15,14,12,13,14,16,17,13,15,14,18,16,10,10,12,13,14,10,10,13,13,16,12,12,13,15,15,13,12,15,15,18,15,15,16,18,17,10,11,11,14,14,12,13,13,15,16,10,13,10,16,14,14,15,15,17,17,14,15,13,17,15,13,13,14,15,16,14,13,15,14,18,15,15,16,16,17,16,15,18,15,18,17,18,18,18,18,13,15,14,17,16,15,16,16,17,17,14,15,13,17,15,17,17,18,18,18,16,17,14,20,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,16,18,14,16,15,18,16,10,12,11,15,14,11,11,13,14,16,13,14,13,16,15,15,14,16,15,19,16,17,16,20,18,10,11,12,14,15,13,13,14,16,16,11,14,11,16,14,16,16,17,18,19,15,17,14,20,15,14,15,14,17,16,13,14,15,15,18,16,17,16,19,18,16,15,18,15,19,18,19,18,21,21,14,14,15,16,17,16,16,17,18,18,13,15,14,17,15,18,18,19,18,22,16,18,15,21,15,12,13,14,16,16,14,14,16,16,18,14,15,15,17,18,16,16,18,18,20,18,18,17,20,20,13,14,15,15,17,15,14,16,16,18,16,16,16,17,19,17,15,18,17,21,18,18,18,19,19,14,15,15,18,17,15,16,16,18,19,15,16,15,18,18,17,18,18,20,21,17,19,17,20,19,16,16,17,16,19,17,17,18,17,20,18,18,18,18,19,19,18,20,17,22,20,20,19,20,20,17,17,18,18,19,18,18,20,21,20,17,18,17,20,20,21,21,21,21,21,19,21,18,22,20,11,13,13,17,16,14,14,16,16,18,14,16,14,18,16,17,18,19,19,20,18,19,18,21,19,14,15,14,17,16,14,14,16,18,18,16,17,16,18,17,18,17,19,18,20,19,19,18,20,20,13,14,15,16,17,16,16,17,18,19,14,16,14,19,17,18,19,18,20,20,18,20,17,21,18,17,17,17,19,18,16,17,18,18,19,18,19,18,21,21,18,18,20,17,21,19,20,20,22,21,16,17,18,18,19,18,18,19,21,20,16,17,17,20,18,21,21,22,21,22,18,21,18,0,18,7,9,9,13,13,9,11,12,14,15,8,11,10,15,14,13,14,15,16,18,11,14,13,17,15,9,11,11,14,14,11,11,13,14,16,11,12,12,15,15,14,14,16,15,18,14,14,15,17,17,8,11,10,14,14,11,12,12,15,15,10,12,10,16,14,14,15,15,17,18,13,15,12,18,15,13,14,14,16,16,14,14,15,15,17,15,15,15,16,17,16,15,17,15,19,17,17,17,18,18,12,14,13,16,15,15,15,15,17,17,13,15,13,17,14,17,18,18,18,19,15,17,14,19,14,8,10,10,14,14,11,11,13,14,16,11,13,11,16,14,14,15,16,17,19,14,16,15,18,17,10,12,11,15,14,11,11,14,14,17,13,14,13,17,15,15,14,17,15,19,16,17,16,19,17,10,11,12,14,15,13,13,14,15,17,11,13,11,17,14,16,16,17,18,19,15,16,14,18,15,14,15,14,16,16,13,14,15,15,18,16,16,16,18,18,16,15,18,15,20,18,19,18,21,18,14,14,15,16,17,16,16,17,17,18,13,15,14,17,16,19,19,19,19,19,15,18,15,20,15,7,10,10,13,13,10,11,12,14,15,9,12,10,15,14,13,14,15,16,17,12,15,13,17,16,10,11,11,14,14,10,10,13,14,16,12,13,13,16,15,14,13,16,15,18,15,15,16,17,17,10,12,10,14,13,12,13,12,15,15,10,13,10,16,13,15,16,15,17,18,13,16,12,18,15,13,14,14,16,17,14,13,15,15,18,15,16,15,17,17,16,14,17,15,19,17,18,18,19,19,13,15,13,17,14,15,15,15,18,17,14,15,13,17,14,18,17,18,18,19,15,17,15,19,15,11,13,13,16,17,14,14,16,16,18,14,16,15,18,17,17,18,19,18,21,18,18,17,20,18,13,15,14,17,16,14,14,16,17,18,16,17,16,19,17,18,17,19,18,22,18,19,19,21,21,13,14,15,16,18,16,16,17,17,20,14,16,14,18,17,18,18,19,19,21,17,18,17,21,18,17,18,17,19,18,16,17,17,18,19,18,18,18,22,22,18,17,19,17,0,20,21,19,21,20,17,17,18,18,21,18,18,18,19,21,17,17,17,19,19,20,20,22,21,21,19,20,18,20,17,12,14,13,17,16,14,15,15,17,18,14,16,14,18,16,17,18,18,21,20,16,18,16,21,18,14,15,15,17,17,15,15,16,18,18,15,17,16,18,18,17,17,19,19,20,18,19,18,20,19,14,15,14,17,15,15,16,16,18,17,15,16,14,19,15,18,18,18,19,20,17,20,15,21,17,16,17,18,18,19,17,17,18,18,20,18,19,18,19,21,19,18,19,19,21,20,0,19,21,20,16,17,16,19,16,18,18,18,19,19,17,18,17,20,17,19,20,20,22,0,19,20,17,21,17,11,13,14,16,17,14,15,15,17,18,14,15,15,18,18,16,17,17,19,20,16,18,17,19,21,13,14,15,17,17,14,15,16,17,19,15,16,16,18,19,16,17,18,19,21,17,18,20,21,21,13,15,15,17,17,15,16,16,18,19,15,16,16,18,19,17,17,18,19,22,17,19,18,22,19,15,16,17,19,19,16,17,18,18,20,17,18,18,19,20,19,18,20,18,22,20,19,19,22,21,16,17,17,18,19,18,18,18,19,20,17,18,18,20,19,20,19,20,22,20,19,20,21,21,20,12,14,14,16,16,13,14,16,17,18,14,16,15,18,18,15,17,17,19,19,17,18,18,19,19,13,14,15,16,17,14,14,16,16,20,15,16,16,17,19,16,15,18,17,20,18,17,19,19,19,14,15,15,17,17,16,16,16,18,18,15,16,15,19,18,17,18,18,20,21,17,18,17,21,18,16,15,17,17,19,17,15,18,17,20,19,17,18,19,20,18,16,19,17,22,20,19,20,19,20,17,17,18,19,19,18,18,19,20,20,17,18,17,18,18,21,21,20,20,21,18,20,17,21,19,11,14,14,16,17,15,14,16,17,19,14,16,14,18,17,18,18,19,19,21,17,19,18,20,20,13,15,14,17,17,14,14,16,17,18,16,17,16,19,18,18,17,19,18,20,18,21,18,20,20,13,15,15,16,17,16,16,17,18,19,14,16,15,19,18,19,19,19,21,20,18,19,17,20,18,16,17,16,19,18,16,17,17,19,20,17,19,18,20,19,18,17,21,18,0,21,20,20,0,20,17,17,18,18,19,18,19,19,20,22,16,17,17,20,18,21,22,20,20,22,18,22,18,22,18,12,14,14,17,17,14,15,16,17,19,14,16,15,17,17,17,17,18,18,21,17,19,17,20,19,14,15,15,16,18,15,14,16,16,19,16,17,16,19,18,17,16,20,17,20,18,20,19,19,20,14,15,15,18,17,16,16,17,18,19,14,16,15,19,17,18,21,18,19,21,17,18,17,19,18,17,17,18,17,20,17,16,18,17,21,18,19,19,19,19,18,17,19,17,20,20,21,20,21,20,17,17,17,19,19,19,18,18,20,21,16,18,16,19,18,20,20,21,21,20,18,19,16,0,17,12,14,14,17,17,15,15,18,17,19,15,18,15,20,16,20,19,21,18,22,20,20,20,22,19,14,16,14,20,17,14,15,17,17,20,18,18,17,20,18,18,17,19,17,21,20,21,20,0,21,14,15,16,17,19,18,17,19,18,21,14,18,15,21,17,21,20,21,20,0,18,21,17,21,17,18,19,17,20,18,16,17,17,19,19,19,21,20,0,20,18,17,21,17,0,22,0,21,0,22,17,17,19,18,20,20,20,21,19,22,16,17,18,20,18,22,22,0,22,0,17,21,17,22,17,11,14,13,16,16,14,15,15,17,18,14,15,14,18,17,17,18,18,19,20,16,17,17,21,19,13,14,15,17,17,15,16,16,18,18,15,16,16,19,18,18,18,18,19,20,17,18,18,20,19,13,15,14,17,17,15,16,16,17,18,14,16,15,19,17,17,18,19,21,21,17,18,17,20,18,16,17,17,19,19,17,18,19,19,20,18,19,18,21,21,21,20,19,21,22,20,20,19,21,20,15,17,16,19,19,17,18,18,20,21,16,18,17,20,18,19,19,21,21,21,19,19,19,20,18,11,14,13,17,16,14,14,16,16,19,14,16,15,19,16,18,18,18,19,22,17,18,17,20,19,13,15,14,17,17,15,15,16,17,19,16,17,16,20,18,18,17,19,18,21,19,19,18,22,0,13,14,15,17,18,16,16,17,17,19,14,16,15,19,18,18,19,19,20,21,18,18,17,20,18,17,18,17,20,18,16,17,17,18,20,18,19,18,20,20,18,18,21,17,21,20,21,21,0,19,16,16,18,18,19,19,18,20,19,20,16,17,17,20,18,21,20,21,22,22,18,20,17,21,17,12,14,14,17,16,14,15,16,18,18,13,15,14,18,17,17,18,18,19,19,15,17,16,19,19,14,15,15,17,17,15,15,16,18,19,15,16,16,19,18,17,17,18,18,20,18,18,18,21,20,13,15,14,17,16,15,16,15,18,18,14,16,14,18,17,18,18,18,19,21,16,18,16,20,17,17,18,17,18,19,17,17,18,18,19,18,19,19,21,19,19,18,20,18,21,21,20,20,21,20,16,17,15,20,17,17,19,17,19,19,17,18,15,20,17,19,20,19,21,22,17,20,16,0,17,12,14,14,17,18,16,15,18,16,20,16,18,15,21,17,20,18,21,19,22,19,21,19,0,19,14,16,15,19,17,14,15,17,16,21,18,19,18,21,17,19,17,21,17,22,20,21,21,0,21,14,15,16,17,19,18,17,19,18,21,14,17,15,20,17,21,22,21,20,22,18,21,17,21,17,17,19,17,21,18,16,17,17,19,20,19,21,20,21,20,17,18,20,17,21,0,22,20,21,22,17,17,20,18,21,21,20,22,20,21,16,17,17,21,19,0,22,0,21,21,18,22,17,21,17,12,14,14,17,16,14,15,16,17,18,14,16,15,18,17,17,17,20,19,20,16,18,17,21,18,14,15,15,17,17,14,15,16,17,19,16,17,16,18,18,17,16,19,18,19,18,19,18,21,20,14,15,15,18,17,16,16,16,19,18,15,16,14,20,16,18,18,19,19,20,16,19,16,21,17,17,17,18,19,19,16,16,18,18,19,19,19,18,20,20,18,16,19,18,20,22,21,20,19,20,16,18,17,20,16,18,19,18,19,18,16,18,16,20,17,21,20,21,20,20,18,19,17,21,16,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,5,7,7,10,10,7,8,9,10,11,7,9,8,11,10,9,10,10,11,11,9,10,10,11,11,7,9,9,10,10,8,9,10,10,11,9,10,10,11,11,10,10,11,11,11,10,11,11,12,12,7,9,9,10,10,9,10,10,11,11,8,10,9,11,10,10,11,11,11,11,10,11,10,11,11,10,10,10,11,11,10,10,11,11,11,11,11,11,11,11,11,11,12,11,12,11,12,11,12,12,10,10,10,11,11,10,11,11,11,11,10,11,10,11,11,11,12,11,12,12,11,12,11,12,11,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,8,9,9,11,11,9,10,10,11,11,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,11,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,13,12,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,11,9,10,10,12,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,11,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,11,11,11,12,12,11,11,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,10,10,11,11,12,11,11,12,12,12,11,11,12,12,12,11,11,12,12,13,12,12,12,12,12,10,11,11,12,12,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,13,12,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,13,12,8,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,12,12,12,10,11,10,12,12,10,10,11,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,11,11,12,12,11,12,12,12,12,10,12,11,12,12,12,12,12,13,13,12,13,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,12,11,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,13,13,13,11,12,12,12,12,12,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,8,9,9,11,11,9,10,10,11,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,9,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,11,12,12,12,11,12,12,12,12,9,10,10,11,11,10,11,11,12,12,10,11,10,12,12,11,12,12,12,12,11,12,11,12,12,11,11,11,12,12,11,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,11,11,11,12,12,11,12,12,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,8,10,10,11,11,10,10,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,10,11,11,12,12,10,11,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,10,10,11,12,12,11,12,12,12,12,10,11,10,12,12,12,12,12,13,13,12,12,12,13,12,11,12,12,12,12,11,12,12,12,13,12,12,12,13,13,12,12,13,12,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,12,9,10,10,11,11,10,11,11,12,12,10,11,11,12,12,11,12,12,12,12,11,12,11,12,12,10,11,11,12,12,11,11,12,12,12,11,11,12,12,12,12,12,12,12,13,12,12,12,13,12,10,11,10,12,11,11,12,11,12,12,11,12,11,12,12,12,12,12,12,12,12,12,11,12,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,11,12,11,12,12,12,12,12,13,12,12,12,12,12,12,12,13,12,13,13,12,12,12,13,12,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,12,13,12,12,13,13,13,12,12,13,13,13,13,13,13,13,13,13,13,13,13,13,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,13,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,13,13,13,12,13,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,12,13,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,13,13,13,13,12,13,12,13,13,11,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,11,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,12,13,12,13,13,13,13,12,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,12,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,13,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,13,13,13,13,13,10,11,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,12,12,13,13,13,12,12,13,13,13,11,12,11,12,12,12,12,12,13,13,11,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,13,12,12,12,13,13,13,12,13,13,13,13,11,12,12,13,13,12,12,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,11,12,12,13,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,13,13,13,13,13,12,12,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,10,12,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,13,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,13,13,13,11,12,12,13,12,12,12,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,13,12,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,13,13,13,13,13,12,12,12,13,12,13,13,13,13,13,12,13,12,13,13,13,13,13,13,13,12,13,13,13,13,10,11,11,12,12,11,12,12,12,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,13,11,12,12,12,12,12,12,13,13,13,12,13,13,13,13,12,12,13,13,13,13,13,13,13,13,11,12,12,12,12,12,13,12,13,13,12,12,12,13,13,12,13,13,13,13,12,13,12,13,13,12,12,12,12,13,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,13,13,12,13,13,13,13,11,12,11,12,12,11,12,12,12,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,12,11,12,12,12,12,12,12,12,12,13,12,12,12,13,13,12,12,13,13,13,12,13,13,13,13,11,12,12,12,12,12,12,12,13,13,12,12,12,13,12,12,13,13,13,13,12,13,12,13,13,12,12,12,12,12,12,12,13,13,13,12,13,13,13,13,13,13,13,12,13,13,13,13,13,13,12,12,12,12,12,12,13,13,13,13,12,13,12,13,12,13,13,13,13,13,13,13,13,13,12,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,5,5,5,7,9,5,9,7,5,7,8,7,7,10,9,10,10,5,8,7,9,10,10,7,10,7,6,8,9,9,10,12,9,11,11,9,10,11,11,11,13,12,13,13,9,11,11,11,12,13,11,13,11,6,9,8,9,11,11,9,12,10,9,11,11,11,11,13,11,13,12,9,11,10,12,13,13,11,13,11,6,9,9,8,10,11,9,12,11,9,10,11,10,10,12,11,13,13,9,11,11,11,13,12,11,13,11,8,10,10,9,10,12,10,12,11,10,10,12,10,10,13,12,13,13,10,12,11,12,13,13,10,13,10,7,10,10,11,11,13,11,14,11,10,12,11,11,11,13,13,14,13,10,12,12,14,14,14,11,14,11,6,9,9,9,11,12,8,11,10,9,11,11,11,11,13,11,12,13,8,11,10,11,13,13,10,12,10,7,10,10,11,11,14,11,13,11,10,12,12,11,11,14,14,14,14,10,11,12,13,13,14,11,13,11,8,10,10,10,11,12,9,12,10,10,11,12,11,10,13,12,13,13,10,12,10,12,13,13,11,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,5,6,6,6,7,7,6,7,7,6,7,7,7,7,8,7,8,8,6,7,7,7,8,8,7,8,7,7,8,8,8,8,8,8,8,8,8,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,9,7,8,7,8,8,8,8,8,8,8,8,8,8,9,9,8,9,9,8,8,8,8,9,9,8,9,8,6,8,8,7,8,8,7,8,8,7,8,8,8,8,9,8,9,9,8,8,8,8,9,9,8,9,8,7,8,8,8,9,9,8,9,9,8,8,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,7,8,8,8,8,9,8,9,8,8,8,8,8,9,9,9,9,9,8,9,8,9,9,9,8,9,9,6,8,8,7,8,8,7,8,8,8,8,8,8,8,9,8,9,9,7,8,8,8,9,9,8,9,8,7,8,8,8,8,9,8,9,8,8,8,9,8,9,9,9,9,9,8,8,8,9,9,9,8,9,9,7,8,8,8,9,9,8,9,9,8,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,6,5,7,8,5,8,7,5,7,8,7,8,10,8,10,10,5,8,7,8,10,10,7,10,8,6,8,9,8,10,11,9,10,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,8,9,10,10,8,11,10,9,10,11,10,11,12,11,12,12,9,11,10,11,12,12,10,12,11,6,9,9,8,10,11,9,11,10,8,10,10,10,10,12,11,12,12,9,11,10,11,12,12,10,12,11,8,10,10,10,11,12,10,12,11,10,10,12,11,11,13,12,13,13,10,12,11,12,13,13,11,13,11,7,10,10,10,11,12,10,12,11,10,12,11,11,11,12,12,14,13,10,12,12,12,14,14,11,13,11,6,9,9,9,10,11,8,11,10,9,10,11,10,11,12,11,12,12,8,11,10,11,12,12,10,12,10,7,10,10,10,11,12,10,12,11,10,12,12,11,11,13,12,13,13,10,11,12,12,13,14,11,12,11,8,10,10,10,11,12,10,12,11,10,11,12,11,11,13,12,13,13,10,12,10,12,13,13,11,13,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,6,6,9,9,6,7,8,10,10,6,8,7,10,10,8,10,10,12,13,8,10,10,13,12,6,7,8,10,10,7,8,9,10,11,8,9,9,11,11,10,10,11,12,14,10,11,11,14,13,6,8,7,10,10,8,9,9,11,11,7,9,8,11,10,10,11,11,13,14,10,11,10,14,12,9,10,10,12,12,10,10,11,12,13,10,11,11,13,13,12,12,13,12,15,13,14,13,15,14,9,10,10,12,12,10,11,11,13,13,10,11,10,13,12,13,13,14,14,15,12,13,12,15,12,6,7,8,10,11,8,9,10,11,12,8,9,9,11,12,10,11,12,13,14,10,11,11,14,13,8,9,10,11,12,9,10,11,12,13,9,10,11,12,13,11,12,13,13,15,12,12,13,15,14,8,9,9,12,12,9,10,11,12,13,9,10,10,13,12,12,12,13,14,15,11,12,12,14,14,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,14,13,15,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,14,13,14,15,15,15,16,13,14,14,16,14,6,8,7,11,10,8,9,9,11,12,8,10,9,12,11,10,11,11,13,14,10,12,11,14,13,8,9,9,12,12,9,10,10,12,13,9,11,10,13,12,11,12,12,13,14,12,13,12,15,14,8,10,9,12,11,9,11,10,13,12,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,16,16,13,15,13,16,14,9,10,11,12,14,11,11,12,13,15,11,12,12,13,14,13,14,15,15,17,13,14,14,15,16,11,11,12,13,15,12,12,13,14,16,12,13,13,14,15,14,14,16,15,17,15,15,15,16,17,11,12,12,14,14,12,13,13,15,16,12,13,13,15,15,15,15,15,16,17,14,15,15,16,16,14,14,15,15,17,14,15,15,15,17,15,15,16,16,17,16,16,17,16,18,17,17,17,18,18,14,15,14,16,16,15,15,16,17,17,14,15,15,17,16,17,17,17,18,18,16,16,16,17,17,9,11,10,14,12,11,12,12,14,13,11,12,11,15,13,13,14,14,16,15,13,15,14,17,15,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,15,15,15,17,16,11,12,11,15,13,12,13,13,15,14,12,13,12,16,14,15,15,15,17,16,14,15,14,17,15,14,14,15,16,16,14,15,15,16,16,15,16,15,17,17,16,16,16,17,17,17,17,17,18,17,14,15,14,16,15,15,15,15,17,16,15,15,15,17,15,17,17,17,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,11,13,14,10,12,11,14,13,7,9,9,11,12,9,10,10,12,13,9,10,10,13,13,11,11,12,13,15,11,12,12,15,14,8,9,9,12,11,9,11,10,13,13,9,11,10,13,12,12,13,12,14,15,11,13,12,15,13,10,11,12,13,14,11,12,12,13,15,12,12,13,14,15,13,13,14,14,16,14,15,15,16,16,11,12,11,14,13,12,13,13,15,14,11,13,12,15,13,14,15,15,15,16,13,14,14,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,12,14,15,11,12,12,15,14,9,9,11,11,13,10,10,12,12,14,10,11,12,13,14,12,12,13,14,16,12,13,13,15,15,9,11,10,13,13,10,12,12,13],"i8",O3,_.GLOBAL_BASE+431057),C3([14,10,12,11,14,13,12,13,13,15,16,12,13,13,15,14,11,11,13,13,15,12,12,14,13,16,13,13,13,14,15,14,14,15,14,17,15,15,15,16,16,12,13,12,15,14,13,14,14,15,15,12,14,13,16,14,15,15,16,16,17,14,15,14,17,15,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,14,11,13,12,15,14,9,10,10,13,12,10,10,11,12,13,10,12,11,14,13,12,12,13,13,15,12,14,13,16,15,9,10,10,13,12,11,11,12,13,13,10,12,10,14,12,13,13,13,15,15,12,13,12,15,13,11,12,12,14,14,12,12,13,14,15,13,14,13,15,15,14,13,15,13,16,15,16,15,17,16,12,13,12,14,14,13,14,14,15,15,12,13,12,15,14,15,15,16,16,17,14,15,13,16,13,10,11,12,13,14,11,12,13,14,15,12,13,13,15,15,14,14,15,15,17,14,15,15,16,16,12,12,13,12,15,12,12,14,13,16,13,13,14,14,16,14,14,16,15,17,15,15,16,16,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,16,17,17,14,15,15,17,16,14,14,15,14,17,15,15,16,15,17,15,15,16,15,17,16,16,17,16,18,17,17,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,12,13,13,15,15,12,13,12,15,14,14,15,15,16,16,14,15,15,17,16,11,13,12,15,14,12,13,13,15,15,13,14,13,16,14,15,15,15,16,16,15,16,15,17,16,12,13,13,15,15,13,14,14,16,16,12,14,13,16,15,15,16,16,17,17,15,16,15,17,16,14,15,15,16,16,14,15,15,16,16,15,16,16,17,16,16,16,16,16,17,17,18,17,18,17,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,18,18,18,16,17,16,18,16,6,8,8,11,11,8,9,9,11,12,8,9,9,12,11,10,11,12,13,14,10,11,11,14,13,8,9,9,11,12,9,10,11,12,13,9,10,11,13,13,11,12,13,13,15,12,12,12,15,14,7,9,9,12,11,9,10,10,13,13,9,10,10,13,12,11,12,12,14,15,11,12,11,15,13,11,11,12,13,14,11,12,13,13,15,12,13,13,14,15,13,14,14,14,16,14,15,15,16,16,10,12,11,14,13,12,13,12,14,14,11,12,12,15,13,14,15,15,16,16,13,14,13,16,14,7,9,9,11,12,9,10,11,12,13,9,10,10,13,12,11,12,13,14,15,11,12,12,14,14,9,10,10,12,13,10,10,12,12,14,11,12,11,13,13,12,12,14,13,15,13,13,13,15,15,9,10,10,12,13,10,11,12,13,14,10,11,10,13,12,13,13,14,15,16,12,13,12,15,13,12,13,13,14,14,12,12,13,14,15,13,14,14,15,15,14,13,15,13,16,15,16,15,17,16,11,12,12,14,14,13,13,14,15,15,12,13,12,15,14,15,15,16,16,17,14,14,13,16,13,7,9,9,12,11,9,10,10,12,13,9,11,10,13,12,11,12,12,14,15,11,12,12,15,14,9,10,11,13,13,10,11,12,13,14,10,12,12,14,13,12,13,13,14,16,12,13,13,16,15,9,11,9,13,11,10,12,11,13,13,10,12,10,14,12,12,13,13,15,15,12,13,12,16,14,12,12,13,14,15,12,13,14,14,15,13,14,14,15,15,14,14,15,15,17,15,16,15,17,16,11,13,11,15,13,13,14,13,15,14,12,14,12,16,13,15,15,15,16,16,14,15,14,17,14,10,11,12,14,14,12,12,13,14,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,12,12,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,16,16,17,17,11,12,13,14,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,15,15,15,16,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,18,18,14,15,15,16,16,15,16,16,16,17,15,15,15,16,16,17,17,17,18,18,16,16,16,17,16,10,12,11,14,13,12,13,13,15,15,11,13,12,15,14,14,15,15,16,16,14,15,14,17,15,12,13,13,15,15,13,13,14,16,16,13,14,14,16,16,15,15,15,16,17,15,16,16,17,17,12,13,12,15,12,13,14,13,16,14,12,14,12,16,13,15,16,15,17,16,14,16,14,17,15,14,15,15,16,17,15,15,16,17,17,15,16,16,17,17,16,16,17,17,18,17,18,17,18,18,14,15,14,17,14,15,16,15,17,15,15,16,15,17,15,17,17,17,18,17,16,17,16,18,16,9,11,11,14,14,11,12,12,14,14,11,12,12,15,14,13,14,14,16,16,13,15,14,16,16,10,11,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,12,15,14,12,13,13,15,15,12,13,13,15,15,14,15,15,16,16,14,15,15,17,16,12,13,14,15,16,13,14,14,15,16,13,14,15,16,16,15,15,16,16,18,16,16,16,18,17,14,14,14,16,15,15,15,15,17,16,14,15,15,17,16,16,17,17,18,17,16,16,16,18,16,10,12,12,14,14,11,12,13,15,15,12,13,13,15,15,13,14,15,16,17,14,15,15,17,16,11,12,13,14,15,12,12,14,15,16,13,13,14,15,16,14,14,15,16,17,15,15,16,17,17,12,13,13,15,15,13,14,14,16,16,13,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,13,15,14,17,14,13,16,15,17,15,14,16,15,17,15,15,17,16,18,16,16,17,17,18,14,15,15,17,16,15,16,16,17,17,15,16,15,17,16,17,17,17,18,18,16,17,16,18,17,10,12,11,14,14,11,12,13,15,15,12,13,12,15,15,14,15,15,16,16,14,15,15,17,16,11,12,12,15,15,12,13,13,15,15,13,14,13,16,15,14,15,15,16,16,15,16,15,17,16,11,13,13,15,15,13,14,14,15,15,12,14,13,16,15,15,16,15,17,17,15,16,15,17,16,13,15,14,16,16,14,15,14,16,16,15,16,15,17,16,15,16,16,16,17,16,17,16,18,17,14,15,15,16,16,15,16,16,17,17,15,15,15,17,16,17,17,17,18,18,16,16,16,18,16,12,13,13,15,16,13,14,14,15,16,13,14,14,16,16,15,15,16,16,18,15,16,16,17,17,13,13,14,15,16,14,14,15,15,17,14,15,15,16,17,15,15,17,16,18,16,16,17,17,17,13,14,14,16,16,14,15,15,17,17,14,15,14,17,16,16,17,16,17,18,16,17,16,18,17,15,15,16,14,17,16,15,17,14,18,16,16,16,15,18,16,16,18,15,19,18,18,18,17,19,15,16,16,18,17,16,17,17,18,17,16,17,16,18,17,18,18,18,19,19,17,18,16,18,17,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,14,17,15,15,15,16,16,17,16,17,16,18,17,12,13,14,15,16,14,15,15,16,16,13,14,13,16,15,16,16,16,17,17,15,16,15,17,15,15,16,15,17,16,15,15,15,16,16,16,17,16,18,16,16,15,16,15,17,17,18,17,18,17,15,15,16,17,17,16,16,17,17,17,15,16,15,17,16,18,18,18,18,18,16,17,16,18,15,9,11,11,14,14,11,12,12,14,15,10,12,12,15,14,13,14,15,16,16,13,14,14,16,16,11,12,12,14,15,12,12,13,15,15,12,13,13,15,15,14,15,15,16,17,14,15,15,16,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,16,16,14,14,14,15,16,14,15,15,16,17,14,15,15,16,17,16,16,17,16,18,16,17,17,17,17,12,14,13,16,15,13,15,14,16,16,13,14,14,16,15,16,16,16,17,17,15,16,15,17,16,10,11,11,14,14,12,12,13,14,15,11,13,12,15,14,14,15,15,16,17,14,15,15,16,16,12,13,13,15,15,12,13,14,15,16,13,14,14,15,15,15,15,16,16,17,15,15,16,17,17,11,12,12,15,15,13,13,14,15,16,12,13,13,15,15,15,15,16,16,17,14,15,15,16,16,14,15,15,16,16,15,15,15,16,17,15,16,16,17,17,16,16,17,16,18,17,17,17,17,18,13,14,15,16,16,15,15,16,16,17,14,14,14,16,16,16,16,17,17,18,16,16,16,17,16,10,12,12,14,14,12,13,13,15,15,11,13,12,15,15,14,15,15,16,17,13,15,14,17,16,12,13,13,15,15,13,13,14,15,16,13,14,14,16,16,15,15,16,16,17,15,15,16,17,17,11,13,12,15,14,13,14,13,16,15,12,14,12,16,15,15,16,15,17,17,14,15,14,17,16,14,15,15,16,17,15,15,16,16,17,15,16,16,17,17,16,16,17,17,18,17,17,17,18,18,13,15,13,17,14,14,16,14,17,16,14,15,13,17,15,16,17,16,18,17,15,17,15,18,16,11,12,12,15,15,13,13,14,15,16,13,14,13,16,15,15,16,16,16,17,15,16,16,17,16,12,14,13,16,15,13,13,14,15,16,14,15,15,16,16,16,15,16,16,17,16,16,16,17,17,12,13,14,15,16,14,14,15,15,17,13,14,13,16,15,16,16,17,17,18,15,16,15,17,15,15,16,15,17,17,15,15,16,16,17,16,17,16,17,17,16,15,17,15,18,17,18,17,18,18,15,15,16,16,17,16,16,17,16,18,15,15,15,16,16,17,17,18,17,18,16,16,15,17,15,12,13,13,15,15,13,14,14,16,16,13,14,14,16,16,15,16,16,17,18,15,16,15,18,16,13,14,14,16,16,14,14,15,16,17,14,15,15,17,17,16,16,17,17,18,16,16,17,18,17,13,14,13,16,14,14,15,15,17,16,14,15,14,17,15,16,17,17,18,17,15,17,15,18,16,15,16,16,17,17,16,16,17,17,18,16,17,17,18,18,17,16,18,17,19,18,18,18,18,18,15,16,15,17,14,16,16,16,18,15,16,17,15,18,14,18,18,18,18,17,17,18,16,19,15,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,5,5,5,7,7,5,7,7,5,7,7,7,8,9,7,9,9,5,7,7,7,9,9,7,9,8,5,7,8,8,9,10,8,9,10,8,9,10,9,10,12,10,11,11,8,10,10,10,11,11,9,11,11,5,8,7,8,9,9,8,10,9,8,10,10,9,11,11,10,11,11,8,10,9,10,11,11,9,12,10,5,8,8,7,9,10,8,10,9,7,9,9,9,10,11,9,11,11,8,10,9,10,11,11,10,11,11,7,9,9,9,10,11,9,11,11,9,9,11,10,10,13,11,11,12,9,11,11,11,12,13,11,13,12,7,9,9,9,11,11,9,11,10,9,11,10,10,11,12,11,13,12,9,11,11,11,12,13,11,13,11,5,8,8,8,9,10,7,10,9,8,9,10,10,11,11,10,11,11,7,9,9,9,11,11,9,11,10,7,9,9,9,10,11,9,11,11,9,11,11,11,11,13,11,13,12,9,10,11,11,12,13,10,12,11,7,9,9,9,11,11,9,11,10,9,11,11,11,12,13,11,13,12,9,11,9,11,12,11,10,13,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,7,12,14,15,18,20,20,5,3,4,6,9,11,15,19,9,4,3,4,7,9,13,18,11,6,3,3,5,8,13,19,14,9,6,5,7,10,16,20,16,11,9,8,10,10,14,16,21,14,13,11,8,7,11,14,21,14,13,9,6,5,10,12,0,0,0,0,255,255,255,255,255,255,255,255,8,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+441297),C3([1,0,0,0,1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,240,5,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,184,214,6,0,0,0,0,0,0,0,0,0,224,214,6,0,0,0,0,0,0,0,0,0,8,215,6,0,48,215,6,0,0,0,0,0,0,0,0,0,88,215,6,0,128,215,6,0,0,0,0,0,0,0,0,0,168,215,6,0,208,215,6,0,0,0,0,0,0,0,0,0,248,215,6,0,32,216,6,0,208,215,6,0,0,0,0,0,72,216,6,0,112,216,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,120,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,112,214,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,211,6,0,128,211,6,0,0,0,0,0,0,0,0,0,168,211,6,0,208,211,6,0,248,211,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,136,213,6,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,56,214,6,0,0,0,0,0,2,0,0,0,25,0,0,0,80,213,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,213,6,0,0,0,0,0,2,0,0,0,9,0,0,0,48,213,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,64,213,6,0,0,0,0,0,1,0,0,0,25,0,0,0,168,212,6,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,200,212,6,0,0,0,0,0,1,0,0,0,25,0,0,0,32,212,6,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,64,212,6,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,9,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,10,10,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,11,10,8,8,9,8,9,9,10,9,11,10,11,10,12,9,10,10,11,10,11,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,12,12,12,12,13,12,12,11,12,11,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,12,13,12,12,12,12,12,12,11,13,12,12,12,13,12,12,12,12,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,5,13,9,9,12,16,18,4,2,20,6,7,10,15,20,10,7,5,5,6,8,10,13,8,5,5,3,5,7,10,11,9,7,6,5,5,7,9,9,11,10,8,7,6,6,8,8,15,15,10,10,9,7,8,9,17,19,13,12,10,8,9,9,5,0,0,0,243,0,0,0,232,4,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,224,5,7,0,0,0,0,0,5,0,0,0,53,12,0,0,152,248,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,208,4,7,0,0,0,0,0,5,0,0,0,243,0,0,0,144,247,6,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,136,248,6,0,0,0,0,0,5,0,0,0,243,0,0,0,136,246,6,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,247,6,0,0,0,0,0,5,0,0,0,243,0,0,0,128,245,6,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,120,246,6,0,0,0,0,0,5,0,0,0,53,12,0,0,48,233,6,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,104,245,6,0,0,0,0,0,5,0,0,0,53,12,0,0,224,220,6,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,24,233,6,0,0,0,0,0,1,0,0,0,7,0,0,0,184,220,6,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,192,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,176,219,6,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,168,220,6,0,0,0,0,0,5,0,0,0,243,0,0,0,168,218,6,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,160,219,6,0,0,0,0,0,5,0,0,0,243,0,0,0,160,217,6,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,152,218,6,0,0,0,0,0,5,0,0,0,243,0,0,0,152,216,6,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,144,217,6,0,0,0,0,0,1,9,9,7,9,9,8,8,9,9,9,9,9,9,9,8,9,9,7,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,6,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,5,10,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,8,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,6,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,8,8,6,7,7,8,8,8,8,8,8,9,8,8,9,8,9,9,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,8,9,7,7,7,7,7,10,8,8,11,9,9,10,9,9,11,9,9,11,8,8,11,9,9,12,9,9,12,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,10,11,10,11,10,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,10,11,10,10,11,9,9,11,10,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,12,9,8,8,6,7,7,10,11,11,10,10,10,11,11,11,14,14,14,12,11,12,11,11,11,15,15,14,13,12,12,5,6,6,8,5,5,8,7,7,8,7,7,12,10,10,10,7,6,9,8,8,12,10,10,10,6,6,7,8,8,12,10,10,12,10,10,11,10,10,16,14,14,13,10,10,12,10,10,15,14,14,14,10,10,7,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,12,11,11,18,15,15,14,12,12,10,9,10,14,11,11,13,11,11,12,11,11,17,14,14,14,11,11,13,11,11,16,15,15,14,11,11,7,8,8,13,11,11,12,10,10,12,10,10,16,14,13,13,10,10,12,10,10,17,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,15,14,12,12,11,10,10,14,11,11,13,11,11,13,11,11,17,14,14,14,11,11,13,11,11,18,14,15,15,11,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,6,15,15,7,8,8,15,15,8,8,8,15,15,0,13,13,16,16,0,14,14,16,16,7,9,9,16,16,10,11,11,17,17,10,8,8,15,16,0,14,14,18,18,0,14,14,16,16,9,9,9,16,16,12,11,11,17,17,10,9,9,15,15,0,14,14,19,19,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,16,0,17,17,22,20,0,15,15,17,17,0,15,15,18,18,0,22,21,20,21,0,13,13,16,16,0,18,18,0,22,0,15,15,17,17,6,7,7,13,13,9,10,10,15,15,11,10,10,15,15,0,21,22,18,18,0,0,0,18,18,10,10,10,15,15,12,13,13,17,17,12,11,11,15,15,0,22,22,18,18,0,0,21,18,18,12,11,11,15,15,15,14,14,18,18,13,11,11,15,15,0,0,21,18,19,0,21,22,18,19,0,22,0,18,19,0,0,0,0,0,0,21,21,18,18,0,22,0,0,21,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,20,20,18,17,0,0,22,0,21,0,0,0,19,19,6,6,6,13,13,8,6,6,11,11,9,7,7,13,13,0,10,10,11,11,0,12,12,14,14,9,8,8,14,14,12,10,10,13,13,10,7,7,13,13,0,11,11,15,15,0,11,11,13,13,9,8,8,14,14,13,10,10,13,14,11,7,7,13,13,0,11,11,15,15,0,11,11,13,13,0,12,12,15,15,0,21,21,17,17,0,10,10,13,13,0,14,14,20,20,0,12,12,13,13,0,12,12,15,15,0,21,22,17,18,0,10,10,13,13,0,16,16,20,21,0,12,12,13,13,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,15,15,0,15,15,18,18,0,12,12,16,16,0,16,16,21,22,0,17,17,22,21,0,12,12,16,16,0,15,15,19,19,0,12,12,16,16,0,16,16,22,22,0,17,16,22,0,0,17,18,0,0,0,0,0,0,0,0,15,15,21,20,0,19,20,0,22,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,21,0,20,20,0,22,0,20,19,0,0,0,11,11,12,12,0,10,10,11,11,0,11,11,12,12,0,12,12,10,10,0,13,13,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,12,12,13,13,0,14,14,13,13,0,10,10,12,12,0,13,13,14,14,0,13,12,12,12,0,14,14,14,14,0,21,21,16,16,0,12,12,12,12,0,16,16,20,21,0,13,13,11,11,0,14,14,14,14,0,20,20,16,15,0,12,12,12,12,0,17,17,20,20,0,13,13,11,11,7,8,8,16,16,11,10,10,15,15,12,10,10,17,17,0,14,14,16,15,0,15,15,17,17,11,9,9,16,16,14,12,12,17,17,13,9,9,16,15,0,14,14,19,18,0,14,14,16,16,12,10,10,17,18,16,13,13,17,18,14,10,10,16,16,0,14,14,19,19,0,14,15,17,17,0,15,15,18,19,0,0,0,20,20,0,13,13,17,17,0,17,18,0,22,0,15,15,16,17,0,15,15,18,18,0,0,0,20,21,0,14,14,17,17,0,19,18,0,0,0,16,16,17,17,8,7,7,14,14,12,11,11,15,15,13,11,11,15,15,0,0,0,18,19,0,21,20,18,18,12,10,11,15,16,14,13,13,18,18,14,11,11,15,15,0,20,20,19,18,0,20,0,18,18,13,11,11,16,16,17,15,15,19,19,14,12,12,15,15,0,21,0,18,20,0,22,22,18,19,0,22,22,19,19,0,0,0,0,0,0,21,22,19,18,0,0,0,0,21,0,0,0,19,19,0,0,22,20,20,0,0,0,0,0,0,22,0,18,18,0,0,0,0,22,0,0,0,19,20,11,10,10,14,14,14,11,11,13,13,14,11,11,15,15,0,14,13,12,12,0,15,15,16,16,13,11,11,15,15,16,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,13,11,11,15,15,18,14,14,15,15,15,10,10,15,14,0,14,14,16,16,0,14,14,15,15,0,15,15,17,16,0,21,22,18,18,0,13,13,14,14,0,18,17,20,21,0,15,15,14,14,0,15,16,16,17,0,0,0,19,18,0,13,13,15,14,0,19,19,0,0,0,15,15,14,14,0,12,12,14,13,0,13,13,16,16,0,12,12,16,16,0,16,16,22,0,0,17,18,0,22,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,16,16,22,22,0,17,17,0,0,0,13,13,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,22,0,0,17,17,22,21,0,18,18,0,0,0,0,0,0,0,0,16,16,21,21,0,19,19,0,0,0,18,18,0,22,0,18,18,0,22,0,0,0,0,0,0,16,16,22,0,0,20,20,0,0,0,19,18,0,0,0,12,12,15,15,0,12,12,15,14,0,13,13,15,15,0,14,14,14,14,0,15,15,16,16,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,14,14,16,16,0,14,14,15,15,0,13,13,15,16,0,15,15,16,16,0,12,12,15,15,0,15,15,17,17,0,14,14,15,15,0,15,15,17,17,0,21,21,19,19,0,13,13,14,14,0,17,17,22,0,0,14,14,15,15,0,15,15,17,17,0,22,0,18,20,0,13,13,15,15,0,18,18,0,22,0,15,15,14,15,8,8,8,17,16,12,10,10,16,16,13,10,10,17,16,0,15,15,17,17,0,15,15,17,17,12,11,11,18,18,15,12,12,18,18,15,10,10,16,17,0,14,14,18,18,0,14,14,17,17,13,10,10,16,16,17,14,14,17,17,15,10,10,16,15,0,15,15,19,20,0,14,14,15,16,0,16,16,19,19,0,0,0,21,22,0,13,13,17,17,0,18,17,0,21,0,15,15,17,17,0,15,15,18,19,0,0,22,0,21,0,13,13,16,17,0,19,19,0,22,0,16,15,16,16,9,8,8,14,14,12,11,11,15,15,13,11,11,15,15,0,21,20,19,18,0,0,0,19,18,12,11,11,16,15,15,13,13,17,18,14,11,11,15,15,0,22,22,19,18,0,22,21,18,18,14,11,11,15,15,17,14,14,18,18,15,12,12,15,15,0,22,22,20,19,0,0,21,18,18,0,0,22,20,20,0,0,0,0,0,0,20,21,18,18,0,0,0,21,21,0,0,0,20,19,0,22,21,19,19,0,0,0,0,0,0,0,22,17,18,0,0,22,0,22,0,22,0,19,19,0,11,11,15,15,0,11,11,14,14,0,12,12,15,15,0,15,15,14,14,0,16,16,16,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,15,15,17,17,0,15,15,15,15,0,12,12,16,16,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,15,15,14,15,0,16,16,17,17,0,0,0,19,19,0,14,14,15,15,0,18,18,21,0,0,15,15,14,15,0,16,16,17,17,0,21,0,19,19,0,14,14,15,15,0,20,20,22,0,0,16,15,14,14,0,12,12,13,13,0,12,12,16,16,0,12,12,16,16,0,16,16,22,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,19,0,12,12,16,16,0,16,17,22,0,0,17,17,0,22,0,13,13,17,16,0,15,15,19,19,0,12,12,16,16,0,16,16,21,20,0,17,16,22,0,0,18,18,22,21,0,0,0,0,0,0,15,16,21,21,0,19,19,0,0,0,18,17,0,0,0,18,18,21,0,0,0,0,0,0,0,16,16,22,22,0,20,21,0,0,0,18,19,0,22,0,13,13,16,16,0,12,12,15,15,0,13,13,16,16,0,14,14,15,15,0,15,15,17,17,0,13,13,17,16,0,15,15,17,17,0,12,12,16,16,0,15,15,17,17,0,14,14,16,16,0,13,13,16,17,0,15,15,17,17,0,12,12,16,16,0,14,14,17,17,0,14,14,16,16,0,16,16,17,17,0,21,0,21,19,0,13,13,16,16,0,17,17,0,0,0,15,15,16,16,0,16,15,18,18,0,22,0,20,20,0,13,13,15,15,0,18,18,0,0,0,15,15,15,15,0,12,12,17,17,0,14,14,17,17,0,14,14,17,17,0,17,17,18,17,0,17,17,19,18,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,17,17,19,19,0,16,16,17,17,0,13,13,18,18,0,17,17,18,18,0,13,13,17,17,0,17,17,19,19,0,16,17,17,17,0,17,17,19,19,0,21,0,21,19,0,14,14,16,16,0,20,19,0,21,0,16,16,16,16,0,17,18,19,19,0,0,0,0,21,0,15,15,16,17,0,21,20,0,0,0,17,18,16,17,0,9,9,14,14,0,14,14,15,16,0,14,14,15,15,0,0,0,18,18,0,21,0,18,19,0,12,12,15,15,0,16,16,17,17,0,14,14,14,14,0,22,0,19,18,0,22,0,17,18,0,14,14,16,15,0,18,18,19,18,0,14,15,15,15,0,0,21,20,20,0,0,0,18,18,0,21,21,19,19,0,0,0,0,0,0,21,21,18,18,0,22,0,20,20,0,22,0,19,19,0,22,0,19,20,0,0,0,0,0,0,0,21,17,18,0,0,0,22,22,0,0,0,19,18,0,18,20,16,16,0,21,20,17,17,0,0,21,18,18,0,22,21,18,18,0,0,22,19,19,0,20,20,17,17,0,0,0,18,18,0,19,20,17,17,0,22,0,19,21,0,22,21,18,18,0,20,19,17,18,0,0,0,19,19,0,20,20,17,17,0,22,22,21,21,0,20,0,18,18,0,22,22,18,18,0,0,0,20,22,0,20,20,16,16,0,0,0,21,0,0,21,20,16,17,0,22,0,19,20,0,0,0,21,20,0,19,21,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,0,0,0,19,18,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,17,18,21,0,0,18,18,21,0,0,13,13,16,16,0,17,17,19,20,0,13,13,16,17,0,18,18,21,0,0,18,18,21,0,0,18,19,0,21,0,0,0,0,0,0,16,16,21,20,0,20,20,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,22,22,0,0,0,19,19,0,0,0,16,16,19,20,0,17,16,22,21,0,17,17,21,20,0,19,18,0,22,0,19,19,22,22,0,16,15,22,22,0,19,19,0,21,0,15,15,20,20,0,18,19,0,21,0,18,18,22,22,0,16,16,21,20,0,20,19,21,22,0,16,15,20,20,0,19,19,0,22,0,18,18,21,0,0,19,18,21,22,0,0,0,0,0,0,16,16,19,21,0,20,22,0,22,0,18,18,20,21,0,19,18,0,22,0,0,0,22,0,0,16,16,20,20,0,21,21,0,0,0,18,18,21,0,0,12,12,17,17,0,15,14,17,17,0,14,14,18,18,0,17,17,17,18,0,18,18,18,18,0,13,13,18,18,0,16,17,19,18,0,13,13,16,17,0,17,17,18,19,0,17,17,17,17,0,13,13,17,17,0,17,18,18,18,0,13,13,16,16,0,18,18,19,20,0,16,17,17,16,0,17,18,19,18,0,0,0,22,21,0,15,15,16,16,0,20,20,21,22,0,17,17,16,16,0,16,17,18,18,0,0,0,21,21,0,15,15,16,16,0,21,20,0,0,0,17,17,16,16,0,10,10,14,14,0,14,14,15,15,0,14,14,15,15,0,22,0,18,18,0,0,0,19,19,0,13,13,15,16,0,17,16,18,18,0,14,14,15,15,0,21,21,19,18,0,22,21,18,17,0,14,14,15,15,0,18,18,19,18,0,15,15,14,14,0,22,21,19,19,0,22,21,17,18,0,0,0,19,19,0,0,0,0,0,0,20,22,17,17,0,0,22,22,20,0,0,0,19,18,0,21,22,19,18,0,0,0,0,0,0,22,22,17,18,0,0,0,21,22,0,0,0,19,18,0,20,20,17,17,0,21,21,17,18,0,21,22,18,18,0,21,0,18,18,0,22,0,19,19,0,19,21,18,18,0,0,22,18,18,0,22,21,17,17,0,22,0,20,20,0,0,0,18,18,0,22,21,18,18,0,21,0,19,19,0,20,21,17,17,0,0,22,22,20,0,21,22,17,17,0,0,21,19,18,0,0,0,21,21,0,21,20,16,17,0,0,0,0,0,0,21,0,17,17,0,21,0,19,20,0,0,0,20,22,0,20,20,17,17,0,0,0,0,0,0,21,21,17,17,0,12,12,13,13,0,14,14,16,16,0,14,14,16,16,0,18,18,21,0,0,19,19,22,0,0,13,13,16,16,0,16,16,18,18,0,13,13,16,16,0,18,18,21,22,0,18,18,0,22,0,13,13,16,16,0,17,17,20,18,0,13,13,16,16,0,19,18,0,22,0,18,18,22,21,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,21,21,0,0,0,18,19,0,0,0,19,19,21,0,0,0,0,0,0,0,16,16,0,21,0,20,20,0,0,0,20,20,0,0,0,16,16,21,20,0,18,17,21,22,0,17,18,0,21,0,18,19,22,22,0,19,19,0,22,0,16,17,21,22,0,20,19,0,0,0,16,16,20,21,0,19,19,0,0,0,19,19,0,22,0,17,17,21,21,0,19,20,0,0,0,16,16,0,20,0,19,20,0,21,0,18,18,0,22,0,19,20,22,22,0,0,0,0,22,0,17,17,0,21,0,21,21,0,0,0,18,19,23,21,0,20,19,0,0,0,0,0,0,0,0,17,17,0,20,0,0,0,0,0,0,19,19,23,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,4,5,5,9,9,12,9,9,12,12,12,10,10,13,13,13,11,11,12,12,13,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,12,13,11,11,13,13,13,14,14,13,12,13,10,10,13,13,12,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,14,14,12,12,13,12,12,13,13,13,13,13,13,13,13,11,11,12,12,13,11,11,13,13,13,14,14,12,12,13,14,14,13,13,14,13,13,14,14,14,14,14,12,12,13,14,14,13,13,14,14,14,12,12,12,8,8,12,12,13,12,12,11,11,13,11,11,11,11,14,12,12,11,11,14,12,12,10,11,14,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,12,14,13,13,11,11,14,12,12,11,11,14,13,13,11,11,15,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,15,13,13,11,11,12,9,9,11,11,13,7,7,11,11,13,8,8,12,12,14,10,10,10,10,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,8,8,12,12,14,14,14,12,12,14,7,7,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,11,15,14,14,11,11,14,15,15,12,12,15,14,14,14,14,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,11,11,10,10,15,10,10,10,10,15,10,10,10,10,15,11,11,9,9,15,12,13,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,10,11,15,12,12,11,11,15,13,13,11,10,15,11,11,10,10,15,11,12,10,9,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,10,15,13,13,10,10,15,14,14,10,10,14,13,13,10,10,15,13,13,10,10,15,13,13,10,10,14,14,14,8,9,15,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,11,11,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,15,10,10,15,14,15,10,10,15,15,15,9,9,15,10,10,13,13,17,8,8,12,12,17,10,9,13,13,18,11,11,12,12,18,14,14,12,12,17,9,9,13,13,17,13,13,12,12,18,8,8,12,12,18,10,10,12,12,18,14,14,12,12,18,10,10,13,13,18,13,13,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,18,14,14,12,12,18,14,14,13,13,18,14,14,13,13,19,14,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,16,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,12,14,15,15,12,12,13,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,16,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,14,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,14,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,15,11,11,14,14,14,12,12,14,15,15,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,15,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,11,11,15,15,15,11,11,14,10,10,10,10,15,9,9,12,11,15,10,10,12,12,15,11,11,11,11,15,13,13,12,12,16,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,13,12,15,13,13,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,13,14,11,11,15,14,14,13,13,16,14,14,20,19,15,14,14,11,11,15,13,14,12,12,15,14,14,11,11,14,13,13,10,10,14,14,13,11,11,15,13,14,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,15,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,14,10,10,13,13,17,9,9,12,12,17,9,9,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,13,12,12,18,9,9,12,12,18,10,10,12,13,18,14,14,12,12,17,9,9,12,12,17,13,14,12,12,17,9,9,12,12,17,10,10,12,12,17,14,14,11,11,18,11,11,12,12,18,14,14,12,13,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,14,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,16,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,12,12,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,11,11,15,14,14,10,10,14,15,15,12,12,14,14,14,12,12,14,15,15,10,10,14,15,15,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,13,13,15,15,15,10,10,15,14,14,11,11,15,15,15,10,10,14,10,10,10,10,14,9,9,12,12,15,10,10,12,12,14,11,11,11,11,15,13,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,10,10,13,13,15,13,14,11,11,15,10,10,12,12,15,13,13,12,12,15,9,9,11,11,15,10,10,12,12,15,13,13,11,11,15,11,11,12,12,15,13,13,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,19,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,11,11,15,13,13,11,11,15,14,13,12,12,15,14,14,11,12,15,14,14,11,11,15,14,14,12,12,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,14,14,12,12,15,15,15,13,13,16,14,14,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,15,11,11,13,13,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,12,12,18,11,11,12,13,18,14,14,12,12,18,10,10,12,12,18,11,11,12,12,18,14,14,11,11,18,11,11,12,12,18,14,14,12,12,17,10,10,11,11,17,12,12,11,11,17,14,14,11,11,18,15,15,12,12,18,14,14,13,13,18,15,15,11,11,18,15,14,12,12,18,15,15,11,11,14,8,8,11,11,14,15,15,10,10,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,12,12,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,10,10,15,15,15,11,11,15,15,15,12,12,15,15,15,12,12,15,16,16,12,12,15,14,14,11,11,15,15,15,11,11,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,12,12,15,15,15,12,12,14,13,13,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,15,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,15,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,11,11,15,14,14,11,11,15,15,14,12,12,15,14,14,12,12,15,15,15,10,11,15,14,14,11,11,15,15,15,10,10,15,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,14,14,11,11,15,15,15,11,11,14,11,11,9,9,14,10,10,12,12,15,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,12,12,14,14,14,13,13,14,10,10,11,11,15,11,11,12,12,15,14,14,12,12,15,12,12,13,13,15,14,14,14,14,15,11,11,11,11,15,12,11,12,12,15,14,14,11,11,15,15,15,13,14,15,14,14,20,19,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,11,14,14,14,13,13,15,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,11,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,14,13,13,18,15,15,12,12,18,15,15,12,12,18,16,16,11,11,18,17,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,18,15,16,12,12,18,17,17,12,12,18,15,15,13,12,17,16,17,12,12,17,15,15,11,12,18,15,15,12,12,18,17,17,11,11,18,16,16,12,12,18,17,16,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,18,17,17,12,12,18,16,16,13,13,18,17,17,11,11,17,16,16,11,11,18,17,17,11,11,15,15,15,11,11,16,15,15,11,11,16,15,15,11,11,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,18,15,15,14,14,18,15,15,13,13,15,13,13,12,12,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,17,14,15,12,12,16,14,14,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,11,11,16,14,14,12,12,17,14,14,12,12,16,15,15,12,12,17,14,14,13,12,16,15,15,11,11,16,14,14,12,12,17,15,15,11,11,17,15,15,13,13,17,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,14,15,15,12,12,15,16,15,13,13,15,15,15,14,14,15,15,15,21,19,15,15,15,13,13,15,15,15,19,19,15,15,15,12,12,15,16,16,14,14,15,15,15,19,19,15,16,15,13,13,15,16,16,19,20,15,15,15,12,13,15,16,16,14,14,15,15,15,20,19,15,15,15,14,14,15,16,16,19,19,15,15,15,14,13,15,15,15,14,14,15,15,15,19,19,15,16,16,20,19,15,17,16,21,20,15,15,15,20,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,15,14,20,20,15,14,14,12,12,14,14,14,19,19,15,14,14,11,11,15,14,14,12,12,15,14,14,20,19,15,14,14,12,12,14,14,14,20,20,14,14,14,11,11,15,14,14,12,12,15,14,14,20,21,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,14,15,15,20,20,15,15,15,20,19,15,14,14,20,19,15,15,15,20,20,15,14,14,21,20,15,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,8,8,8,11,11,12,9,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,14,14,11,12,12,10,12,12,13,14,14,12,12,12,5,6,6,7,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,8,8,12,11,11,10,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,13,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,7,8,8,12,11,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,13,13,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,5,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,8,8,0,10,10,0,8,8,0,7,7,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,5,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,8,8,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8],"i8",O3,_.GLOBAL_BASE+446300),C3([7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,5,7,8,0,8,8,6,9,9,7,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,8,12,12,0,12,12,0,13,12,0,15,15,0,12,12,0,7,7,0,7,7,0,7,7,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,8,9,9,0,10,10,8,9,9,11,11,11,0,10,9,0,11,11,0,13,13,0,10,10,6,7,7,8,10,10,0,12,12,9,10,10,10,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,13,13,0,11,11,0,11,11,0,15,15,0,10,10,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,12,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,9,9,0,0,0,8,8,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,5,16,9,9,13,18,21,4,2,21,6,6,10,15,21,16,19,6,5,7,10,13,16,8,6,5,4,4,8,13,16,8,5,6,4,4,7,12,15,13,10,9,7,7,9,13,16,18,15,13,12,9,7,10,14,21,18,13,13,7,5,8,12,2,0,0,0,64,0,0,0,192,58,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,136,11,7,0,0,0,0,0,0,0,0,0,176,11,7,0,0,0,0,0,0,0,0,0,216,11,7,0,0,12,7,0,0,0,0,0,0,0,0,0,40,12,7,0,80,12,7,0,0,0,0,0,0,0,0,0,120,12,7,0,160,12,7,0,0,0,0,0,0,0,0,0,200,12,7,0,240,12,7,0,160,12,7,0,0,0,0,0,24,13,7,0,64,13,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,72,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,64,11,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,40,8,7,0,80,8,7,0,0,0,0,0,0,0,0,0,120,8,7,0,160,8,7,0,200,8,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,88,10,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,8,11,7,0,0,0,0,0,2,0,0,0,25,0,0,0,32,10,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,64,10,7,0,0,0,0,0,2,0,0,0,9,0,0,0,0,10,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,16,10,7,0,0,0,0,0,1,0,0,0,25,0,0,0,120,9,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,152,9,7,0,0,0,0,0,1,0,0,0,25,0,0,0,240,8,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,16,9,7,0,0,0,0,0,4,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,5,5,4,4,5,5,5,4,5,4,5,5,5,5,6,5,6,5,6,5,6,5,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,8,8,8,8,9,9,10,10,10,10,4,6,5,8,7,9,9,9,9,10,9,11,9,4,5,6,7,8,9,9,9,9,9,10,9,10,8,9,8,9,8,10,9,11,9,12,10,12,10,8,8,9,8,9,9,10,9,11,10,12,10,12,9,10,10,11,10,12,11,12,11,12,12,12,12,9,10,10,11,11,11,11,11,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,10,11,11,12,12,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,13,12,12,11,12,12,12,12,12,12,13,12,12,12,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,13,12,13,12,13,12,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,13,9,9,12,15,17,4,2,18,5,7,10,14,18,11,8,6,5,6,8,11,14,8,5,5,3,5,8,11,13,9,6,7,5,5,7,9,10,11,10,9,8,6,6,8,10,14,14,11,11,9,8,9,10,17,17,14,13,10,9,10,10,5,0,0,0,243,0,0,0,184,57,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,176,58,7,0,0,0,0,0,5,0,0,0,53,12,0,0,104,45,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,160,57,7,0,0,0,0,0,5,0,0,0,243,0,0,0,96,44,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,88,45,7,0,0,0,0,0,5,0,0,0,243,0,0,0,88,43,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,80,44,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,42,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,72,43,7,0,0,0,0,0,5,0,0,0,53,12,0,0,0,30,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,56,42,7,0,0,0,0,0,5,0,0,0,53,12,0,0,176,17,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,232,29,7,0,0,0,0,0,1,0,0,0,7,0,0,0,136,17,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,144,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,128,16,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,120,17,7,0,0,0,0,0,5,0,0,0,243,0,0,0,120,15,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,112,16,7,0,0,0,0,0,5,0,0,0,243,0,0,0,112,14,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,104,15,7,0,0,0,0,0,5,0,0,0,243,0,0,0,104,13,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,96,14,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,9,7,7,8,8,8,9,9,9,9,7,8,6,7,7,8,8,8,8,8,8,9,8,8,10,9,9,10,8,8,10,8,8,10,9,9,10,8,8,6,6,6,8,6,6,8,7,7,8,7,7,10,8,8,9,7,7,9,7,7,10,8,9,9,7,7,7,7,7,10,8,8,11,8,8,10,8,8,12,9,9,12,8,8,11,9,9,12,9,9,11,8,8,7,7,7,10,9,9,10,9,9,10,9,9,11,10,10,10,9,9,11,9,9,11,10,10,11,9,9,9,8,8,10,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,8,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,9,10,11,10,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,7,7,7,8,8,7,9,9,11,11,11,9,8,8,8,9,9,12,11,11,9,8,8,6,7,7,10,11,10,10,10,10,11,11,10,14,13,14,12,11,11,11,11,11,15,14,14,13,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,9,7,7,9,7,8,12,10,10,10,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,16,13,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,15,15,14,12,12,12,11,11,16,15,16,14,12,12,10,9,9,14,11,11,13,11,11,12,11,11,16,14,14,14,11,11,12,11,11,17,15,15,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,14,10,10,12,10,10,17,14,14,14,10,10,8,7,7,13,11,11,12,11,11,12,11,11,16,15,14,14,12,12,12,11,11,16,15,14,15,12,12,11,10,10,13,11,11,13,12,11,13,11,11,17,14,14,14,11,11,13,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,12,12,15,15,0,13,13,15,15,7,8,8,15,15,10,10,10,16,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,15,15,0,13,13,18,18,0,13,13,16,16,0,14,14,17,17,0,20,0,19,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,14,14,17,17,0,20,22,20,19,0,13,13,15,16,0,17,18,0,21,0,15,15,16,16,5,7,7,13,13,8,9,9,14,14,10,10,10,14,14,0,20,22,18,18,0,22,21,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,0,20,17,17,0,22,21,17,18,11,10,10,14,14,14,13,13,18,18,12,11,11,14,14,0,22,21,18,19,0,20,0,17,17,0,22,0,18,18,0,0,0,0,0,0,20,20,17,17,0,22,0,22,21,0,21,0,19,18,0,22,22,18,18,0,0,0,0,0,0,21,0,17,17,0,22,0,20,20,0,0,0,19,18,6,6,6,12,12,8,6,6,10,10,8,6,6,13,12,0,10,10,11,11,0,11,11,13,13,8,7,7,13,13,11,9,9,13,13,10,6,6,12,12,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,12,10,10,13,13,10,6,6,12,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,14,0,19,20,16,17,0,9,9,13,13,0,14,14,20,21,0,12,11,13,12,0,12,12,15,14,0,20,19,17,17,0,10,10,12,13,0,15,15,22,21,0,12,12,12,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,22,22,0,16,17,0,0,0,11,11,15,15,0,14,14,18,18,0,11,11,16,16,0,16,15,0,21,0,16,16,0,0,0,12,12,15,15,0,14,14,19,19,0,11,11,15,15,0,15,15,22,0,0,16,16,22,0,0,16,16,0,21,0,0,0,0,0,0,15,15,19,20,0,18,18,0,0,0,17,17,0,0,0,17,17,0,0,0,0,0,0,0,0,16,15,22,21,0,20,20,0,0,0,18,18,0,0,0,10,10,12,12,0,10,10,11,11,0,11,11,12,12,0,11,11,9,9,0,13,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,13,13,0,13,13,12,12,0,10,10,12,12,0,13,13,14,13,0,12,12,12,12,0,14,13,13,14,0,20,21,15,15,0,11,11,12,12,0,15,16,20,20,0,12,13,10,10,0,13,13,14,13,0,20,20,15,15,0,11,11,12,12,0,16,17,21,21,0,13,13,11,11,6,7,7,16,15,11,9,9,14,15,12,9,9,16,16,0,13,13,15,15,0,14,14,17,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,17,18,0,13,13,15,15,12,10,10,17,17,15,12,12,17,17,13,9,9,16,16,0,13,13,18,19,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,12,12,17,16,0,16,17,0,21,0,14,15,16,16,0,15,15,18,18,0,0,22,19,21,0,13,13,16,16,0,18,17,22,22,0,15,15,16,16,7,7,7,13,13,11,10,10,15,15,12,10,10,14,14,0,21,0,18,17,0,21,22,18,18,11,10,10,15,15,14,12,12,17,17,14,11,11,14,14,0,21,20,18,18,0,22,21,18,17,12,11,10,16,16,16,14,14,17,19,14,11,11,15,15,0,0,22,19,19,0,21,22,18,18,0,21,0,18,19,0,0,0,22,0,0,22,21,17,17,0,0,0,20,22,0,0,21,18,18,0,0,0,19,20,0,0,0,0,0,0,0,21,17,17,0,0,0,22,21,0,0,0,19,19,10,9,9,14,13,13,10,10,12,12,13,10,10,14,14,0,13,13,12,12,0,15,14,16,15,13,10,10,14,14,15,12,12,14,14,15,10,10,14,14,0,14,14,15,15,0,14,13,14,14,13,10,10,15,15,17,13,13,15,15,14,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,15,15,16,16,0,21,22,17,18,0,12,12,14,14,0,17,17,20,21,0,14,14,14,14,0,15,15,16,16,0,21,22,18,18,0,13,13,14,14,0,18,18,22,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,15,0,12,12,16,16,0,16,16,0,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,0,21,0,16,16,21,22,0,12,12,16,16,0,15,15,19,19,0,12,12,17,16,0,16,16,21,22,0,16,16,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,19,20,0,17,19,0,0,0,17,17,22,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,0,0,19,20,0,0,0,19,18,22,0,0,11,12,14,14,0,11,11,14,14,0,12,12,15,15,0,13,13,13,13,0,14,14,16,16,0,12,12,15,15,0,14,14,16,15,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,16,16,0,0,0,18,18,0,12,12,14,14,0,16,16,22,0,0,14,14,15,15,0,15,15,16,17,0,21,22,18,18,0,13,13,15,14,0,18,17,22,0,0,14,14,15,15,8,8,8,16,15,12,10,10,16,15,12,10,10,16,16,0,14,14,16,17,0,14,14,17,16,12,10,10,17,18,14,12,12,18,18,14,10,10,16,16,0,14,14,18,18,0,14,14,16,16,12,9,9,16,16,17,13,13,16,17,14,9,9,15,15,0,14,14,18,19,0,13,13,15,15,0,15,15,18,19,0,0,0,22,21,0,13,13,16,16,0,16,16,22,0,0,15,15,16,16,0,14,14,18,17,0,0,0,20,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,13,13,12,10,10,15,15,12,10,10,14,14,0,22,22,19,18,0,0,0,18,18,12,10,10,15,15,14,13,13,17,17,14,11,11,15,15,0,19,20,18,18,0,22,21,17,18,13,11,11,15,15,16,13,13,18,18,14,11,11,14,15,0,22,21,20,19,0,22,21,17,17,0,0,22,19,18,0,0,0,0,0,0,22,20,17,17,0,0,0,21,20,0,0,0,19,17,0,0,22,19,19,0,0,0,0,0,0,22,20,18,17,0,0,0,0,0,0,0,0,18,18,0,10,10,14,14,0,11,11,14,14,0,11,11,15,15,0,14,14,14,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,10,10,15,15,0,15,15,17,17,0,14,14,14,14,0,16,16,16,16,0,0,22,19,19,0,13,13,14,14,0,17,17,0,0,0,15,15,14,14,0,16,16,17,17,0,0,22,18,18,0,13,13,14,14,0,21,18,0,0,0,15,15,14,14,0,11,11,13,13,0,12,12,15,15,0,12,12,16,15,0,16,16,0,0,0,17,17,22,22,0,12,12,16,16,0,14,14,18,18,0,11,12,16,16,0,15,16,0,21,0,16,16,22,21,0,12,12,16,16,0,15,15,19,20,0,11,12,16,16,0,15,15,20,22,0,16,16,0,22,0,17,17,22,0,0,0,0,0,0,0,15,15,21,22,0,19,18,0,0,0,17,17,0,0,0,17,17,0,22,0,0,0,0,0,0,16,15,22,0,0,19,19,0,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,15,15,16,17,0,12,12,16,16,0,14,14,16,16,0,12,11,15,16,0,14,14,16,17,0,14,14,16,16,0,13,12,16,16,0,15,15,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,15,15,18,17,0,0,22,0,20,0,13,13,15,15,0,16,17,22,22,0,14,14,15,15,0,15,15,17,18,0,20,0,19,19,0,13,13,15,15,0,18,18,22,0,0,14,14,15,15,0,11,11,16,16,0,14,14,17,16,0,13,13,17,17,0,16,16,17,17,0,17,17,18,19,0,12,12,16,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,18,0,16,16,17,16,0,12,13,17,17,0,17,16,18,17,0,13,12,16,16,0,16,16,18,19,0,16,16,16,17,0,16,16,18,18,0,22,0,22,22,0,13,13,16,16,0,19,18,22,20,0,16,15,16,16,0,16,17,18,18,0,0,0,22,20,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,9,9,13,13,0,13,13,15,15,0,14,14,15,15,0,0,22,17,18,0,22,0,18,19,0,12,12,15,15,0,15,16,17,17,0,14,14,14,14,0,22,0,18,18,0,21,22,17,17,0,13,13,15,15,0,17,17,17,18,0,14,14,15,15,0,22,21,21,19,0,20,21,17,17,0,21,21,19,18,0,0,0,0,0,0,21,21,17,17,0,0,0,22,22,0,0,22,19,18,0,0,21,19,18,0,0,0,0,22,0,19,20,17,17,0,0,0,0,22,0,0,0,19,18,0,19,19,15,16,0,21,19,16,17,0,0,21,17,17,0,0,22,17,17,0,22,22,18,19,0,20,20,16,16,0,0,22,18,18,0,20,19,16,17,0,22,21,20,19,0,0,21,17,17,0,21,20,17,17,0,0,0,18,18,0,19,19,17,16,0,22,0,19,19,0,21,22,17,18,0,0,22,19,18,0,0,0,19,20,0,19,19,16,16,0,22,22,22,0,0,20,22,16,16,0,22,20,18,19,0,0,0,20,19,0,20,20,16,16,0,0,0,0,0,0,22,20,17,16,0,11,11,13,13,0,14,13,15,15,0,13,13,16,15,0,18,17,21,0,0,18,18,21,0,0,12,12,15,15,0,15,16,17,18,0,12,12,15,15,0,17,17,22,20,0,17,18,22,0,0,12,12,17,16,0,16,17,19,19,0,13,13,16,16,0,17,17,0,22,0,17,17,0,21,0,18,18,20,22,0,0,0,0,0,0,15,15,21,20,0,20,19,0,0,0,18,18,22,0,0,17,17,22,0,0,0,0,0,0,0,15,16,20,22,0,20,21,0,0,0,19,18,0,0,0,15,15,19,19,0,17,16,20,20,0,16,17,20,21,0,18,17,0,0,0,19,19,0,0,0,15,15,21,19,0,19,19,0,0,0,15,15,22,22,0,18,18,0,22,0,17,18,22,21,0,15,15,20,19,0,19,19,0,0,0,15,15,20,22,0,18,19,20,0,0,18,17,21,21,0,18,18,19,22,0,0,0,0,0,0,15,15,20,19,0,19,19,0,0,0,18,18,21,22,0,18,18,22,0,0,0,0,0,0,0,15,15,19,20,0,21,21,0,0,0,17,17,20,20,0,12,12,17,17,0,14,14,16,17,0,13,14,17,17,0,16,16,17,17,0,17,17,17,19,0,13,13,17,17,0,16,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,17,0,13,13,17,17,0,17,17,18,17,0,12,12,15,16,0,17,18,19,20,0,16,16,16,16,0,17,16,18,19,0,0,22,21,22,0,14,14,16,16,0,19,19,0,0,0,16,16,16,16,0,16,16,18,17,0,0,22,21,21,0,14,14,16,16,0,22,20,22,0,0,16,16,15,15,0,9,9,13,13,0,14,14,15,15,0,14,14,14,14,0,22,22,18,18,0,0,22,18,18,0,12,12,15,15,0,16,16,18,17,0,14,14,14,14,0,20,21,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,18,18,0,14,14,14,14,0,0,21,18,19,0,0,22,17,17,0,22,22,19,18,0,0,0,0,0,0,19,21,17,17,0,0,0,22,20,0,0,21,18,19,0,0,22,18,18,0,0,0,0,22,0,20,22,17,17,0,0,0,20,22,0,0,0,18,18,0,19,21,16,16,0,20,22,16,17,0,20,0,17,17,0,22,0,18,17,0,21,0,18,19,0,20,20,17,17,0,22,0,18,18,0,21,20,17,17,0,0,20,20,19,0,0,21,18,17,0,21,21,17,17,0,22,0,18,17,0,19,19,17,17,0,0,22,20,21,0,0,21,17,17,0,22,0,18,18,0,0,0,20,22,0,20,19,16,16,0,0,0,0,0,0,22,22,17,17,0,22,0,18,19,0,0,0,21,20,0,19,21,16,17,0,0,0,0,0,0,22,22,17,16,0,11,11,13,13,0,13,13,15,15,0,13,13,15,15,0,17,17,22,21,0,18,18,22,0,0,12,13,16,15,0,15,16,18,18,0,13,13,16,16,0,17,17,0,22,0,17,17,22,22,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,18,17,0,20,0,18,17,20,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,0,0,0,18,18,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,22,22,0,20,20,0,0,0,21,19,0,0,0,15,15,20,19,0,16,16,22,20,0,17,17,0,22,0,18,18,0,22,0,19,17,0,0,0,15,16,22,20,0,18,19,0,0,0,16,16,22,20,0,18,18,0,22,0,18,18,22,0,0,16,16,21,20,0,19,20,0,22,0,16,16,0,22,0,18,18,0,22,0,18,18,0,21,0,19,18,0,22,0,0,0,0,0,0,16,16,21,20,0,20,0,0,0,0,18,18,21,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,19,0,0,0,0,0,0,18,18,0,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,5,8,8,12,10,10,12,12,12,10,10,12,12,13,11,11,12,12,13,12,12,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,13,13,13,11,11,13,13,14,13,13,12,12,13,10,10,13,13,13,13,13,13,13,13,10,10,12,12,13,11,11,13,13,13,13,13,12,12,13,12,12,13,13,13,13,13,13,13,14,11,11,12,12,14,12,12,13,12,14,14,14,12,12,13,14,14,13,13,14,13,13,13,13,14,14,14,12,12,14,13,13,13,13,14,14,14,12,12,12,8,8,11,11,12,12,12,11,11,12,11,11,10,10,13,12,12,10,10,13,12,12,10,10,13,12,12,12,12,14,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,12,12,12,12,13,12,12,12,12,13,13,13,11,11,14,12,12,11,11,14,12,12,12,12,14,13,13,12,12,14,12,12,12,11,14,13,13,11,11,14,13,12,11,11,14,13,13,11,11,14,13,13,12,12,14,12,12,12,12,15,13,13,12,12,14,12,12,11,11,14,13,13,11,11,12,9,9,10,10,12,7,7,11,11,12,9,9,12,12,13,10,10,10,10,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,13,8,8,11,11,14,9,9,12,12,14,14,14,11,11,13,9,9,12,12,14,14,14,12,12,14,8,8,11,11,14,9,9,12,12,14,14,14,11,11,14,10,10,12,12,14,14,14,13,13,14,9,9,11,11,14,10,10,12,12,14,14,14,11,11,14,14,15,12,12,15],"i8",O3,_.GLOBAL_BASE+456540),C3([14,14,14,14,15,14,14,11,11,14,14,14,12,12,14,14,14,11,11,14,11,11,10,10,14,10,10,10,10,14,10,10,10,10,15,11,11,9,9,14,12,12,9,9,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,11,11,11,11,15,13,13,11,11,15,10,10,10,10,15,11,11,10,10,15,13,13,11,11,15,12,12,11,11,15,13,13,11,11,15,11,11,10,10,15,12,12,10,10,15,13,13,10,10,15,14,14,11,11,15,13,13,11,11,15,14,14,10,11,15,13,13,10,10,15,13,14,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,10,10,14,13,13,9,9,14,14,14,9,9,15,14,14,11,11,15,14,14,10,10,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,15,14,14,11,11,15,14,14,10,10,14,14,14,10,10,15,14,14,10,10,14,14,14,10,10,15,14,14,11,11,15,14,14,11,11,14,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,15,15,11,11,15,14,14,12,12,15,15,14,10,10,15,14,14,10,10,14,15,15,9,9,14,10,10,12,12,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,17,10,10,13,13,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,10,10,13,13,18,14,14,13,13,18,9,9,12,12,18,10,10,13,13,18,14,14,12,12,18,11,11,13,13,18,14,14,13,13,18,10,10,12,12,17,11,11,12,12,17,14,14,12,12,18,15,15,13,13,18,14,14,14,14,18,15,15,12,12,18,14,14,12,12,18,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,12,12,14,15,15,11,11,15,15,15,11,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,12,12,15,15,15,12,12,14,15,15,12,12,14,15,14,12,12,14,15,15,11,11,15,14,14,12,12,15,15,15,12,12,15,16,16,12,12,15,15,15,12,12,15,15,15,12,12,15,15,15,12,12,13,13,13,11,10,14,14,15,11,11,14,14,14,12,12,15,14,14,10,10,15,15,15,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,15,12,12,15,15,15,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,10,10,15,15,16,12,12,15,15,15,14,14,15,15,15,11,11,15,15,15,12,12,15,15,15,11,11,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,14,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,12,11,15,10,10,12,12,15,14,14,12,12,15,9,9,11,11,15,11,11,12,12,15,13,13,11,11,15,11,11,13,13,15,13,14,13,14,15,11,11,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,20,20,15,14,14,12,12,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,12,12,14,14,13,12,12,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,15,14,14,12,11,15,14,14,12,12,15,14,14,13,13,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,15,15,13,13,15,15,15,13,13,15,14,14,13,13,15,15,15,13,13,15,14,15,12,12,15,15,15,13,13,14,10,10,12,13,17,9,9,12,12,17,10,10,13,13,17,11,11,12,12,18,14,14,12,12,18,10,10,13,13,18,14,14,12,12,17,9,9,12,12,18,10,11,13,13,18,14,14,12,12,17,10,10,12,12,17,14,14,12,12,17,9,9,12,12,17,11,11,12,12,17,14,14,12,12,18,11,11,12,12,18,14,14,13,13,18,11,11,12,12,18,11,11,12,12,18,14,14,12,12,18,15,15,12,12,18,14,14,13,13,18,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,7,7,11,11,14,15,15,11,11,14,15,15,11,11,14,15,14,12,12,15,15,15,12,11,14,15,15,12,12,14,15,15,12,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,11,11,14,15,15,13,12,14,15,15,11,11,14,15,15,11,11,15,15,15,13,13,14,15,15,12,12,15,15,15,12,12,15,15,15,11,11,15,15,15,11,11,15,15,15,12,12,15,15,15,13,13,15,16,16,12,12,15,15,15,12,13,15,15,15,12,12,15,15,15,12,12,13,13,13,11,11,14,14,14,11,11,14,14,14,12,12,14,14,14,10,10,15,14,14,11,11,14,15,15,12,12,14,14,14,12,12,14,15,15,11,11,14,15,14,12,12,15,14,14,11,11,14,15,15,12,12,14,14,14,11,11,14,15,15,11,11,14,14,14,12,12,15,15,14,11,11,15,15,15,12,12,15,14,14,12,12,14,15,15,11,11,14,15,14,11,11,15,15,15,10,10,15,15,15,12,12,15,14,14,14,13,15,15,15,11,11,15,15,15,11,11,15,15,15,10,10,14,11,11,10,10,15,9,9,12,12,15,10,10,12,12,15,11,11,11,11,15,14,14,12,12,15,10,10,13,13,15,13,13,12,12,15,9,9,12,12,15,11,11,13,13,15,14,14,12,12,15,10,10,13,13,15,13,14,12,12,15,9,9,12,12,15,10,10,13,13,15,13,13,11,11,15,11,11,13,13,15,14,14,13,13,15,10,10,11,11,15,11,11,12,12,15,14,14,11,11,15,14,14,13,13,15,14,14,21,20,15,14,14,11,11,15,14,14,12,12,15,14,14,11,11,14,13,13,10,10,14,13,13,11,11,15,14,14,12,12,15,14,14,12,12,14,14,14,12,12,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,15,14,14,13,13,15,14,14,12,12,15,14,14,13,13,14,14,14,11,11,15,14,14,11,11,14,14,14,13,13,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,14,14,13,13,15,15,15,13,13,16,14,14,12,13,15,15,15,13,13,15,14,14,12,12,15,15,15,13,13,15,11,11,13,12,18,10,10,12,12,17,11,11,12,12,18,12,12,11,11,18,14,14,12,12,18,11,11,13,13,17,14,14,12,12,18,10,10,12,12,18,12,12,12,12,18,14,15,12,12,18,11,11,13,13,18,14,14,12,12,17,10,10,12,12,18,11,11,12,12,18,15,14,12,12,17,12,12,12,12,17,14,14,12,12,17,11,11,11,11,17,12,12,12,11,17,15,15,11,11,18,15,15,12,12,18,14,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,14,9,9,11,11,14,15,15,11,11,15,15,15,11,11,15,15,15,12,11,15,15,15,12,12,15,15,15,11,11,15,15,15,13,13,14,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,13,13,15,15,15,11,11,15,15,15,11,11,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,14,11,11,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,16,16,13,13,16,15,15,12,12,15,15,15,13,12,15,15,15,12,12,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,12,12,15,14,14,12,12,14,15,15,11,11,15,14,14,12,12,15,14,14,11,11,15,15,15,12,12,15,14,14,12,12,15,15,15,11,11,15,14,14,11,11,15,14,15,11,11,15,15,15,12,12,15,14,14,13,13,16,15,15,11,11,15,14,14,12,12,15,15,15,11,11,14,11,11,9,9,15,10,10,12,12,14,11,11,12,12,15,12,12,12,12,15,14,14,13,13,15,11,11,13,13,15,14,14,13,13,15,10,10,12,12,15,12,12,13,13,15,14,14,13,13,15,11,11,12,12,15,14,14,13,13,14,10,10,12,12,15,12,12,13,13,15,14,14,12,12,15,12,12,13,13,15,14,14,15,15,15,11,11,12,12,15,12,12,12,13,15,14,14,12,12,15,15,15,14,14,15,14,14,20,20,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,13,13,10,10,14,13,13,11,11,14,13,13,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,15,14,14,14,14,15,14,14,12,12,14,14,14,14,14,14,14,14,11,11,15,14,14,12,12,14,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,14,14,12,12,15,14,14,12,12,14,14,14,14,13,15,15,15,14,14,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,15,15,13,13,14,13,13,13,13,18,15,15,12,12,18,15,15,13,12,18,15,16,11,11,18,16,17,12,12,18,15,15,13,13,18,17,17,12,12,18,15,15,12,12,17,15,15,12,12,18,17,17,12,12,18,15,15,13,13,18,16,17,12,12,17,15,15,12,12,18,15,15,12,12,18,16,17,11,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,18,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,11,11,18,16,16,12,12,18,17,17,11,11,15,14,14,11,11,16,15,15,11,11,16,15,15,12,12,16,15,15,12,12,17,15,15,14,13,16,15,15,12,12,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,18,15,15,13,13,16,15,15,11,11,17,15,15,14,14,16,15,15,11,11,16,15,15,12,12,17,15,15,13,13,16,15,15,12,12,17,16,15,14,14,16,14,15,12,12,16,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,15,12,13,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,12,12,16,14,14,13,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,14,14,12,12,16,14,14,12,12,17,14,14,13,13,15,15,15,12,12,16,14,14,12,12,17,14,14,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,15,15,9,9,15,15,15,12,12,15,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,16,13,13,15,15,16,19,20,15,15,15,13,12,15,16,16,14,14,15,15,15,19,19,15,15,15,13,13,15,16,15,20,19,14,15,15,13,13,15,15,15,14,14,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,14,14,15,15,15,19,19,15,15,15,20,19,15,16,16,20,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,14,13,13,10,10,14,14,14,11,11,14,14,14,12,12,15,14,14,13,13,15,14,14,19,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,20,20,15,14,14,12,12,14,14,14,20,19,14,14,14,11,11,15,14,14,12,12,15,14,14,19,20,15,14,14,13,13,15,14,14,22,19,15,15,14,12,12,15,14,14,13,13,14,15,15,22,20,15,15,15,20,20,15,14,14,21,20,15,15,15,20,21,15,14,14,20,20,14,15,15,20,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,7,7,7,7,7,7,8,8,10,11,11,9,8,8,8,8,8,11,11,11,10,8,8,5,7,7,9,11,11,10,11,11,10,11,11,12,13,14,11,12,12,10,11,11,13,14,14,12,12,12,5,6,6,8,6,6,8,7,7,8,7,7,11,10,10,10,7,7,9,7,7,12,11,11,11,7,7,7,7,7,11,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,7,7,7,11,11,11,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,11,11,0,11,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,12,10,10,12,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,13,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,4,4,0,8,8,0,8,8,0,9,9,0,10,10,0,8,8,0,9,9,0,10,10,0,8,8,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,7,7,0,6,6,0,7,7,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,6,5,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,6,6,0,9,10,0,10,10,0,10,10,0,11,11,0,9,9,0,10,10,0,11,11,0,9,9,0,8,8,0,8,8,0,8,8,0,9,9,0,9,9,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,7,7,0,7,7,0,8,8,0,9,9,0,7,7,0,7,7,0,9,9,0,6,6,0,6,6,0,10,10,0,10,10,0,10,10,0,12,12,0,9,9,0,10,10,0,12,12,0,9,9,0,8,8,0,7,7,0,8,8,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,7,7,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,5,8,8,0,8,8,6,9,9,8,10,10,0,8,8,0,9,9,0,12,12,0,8,8,4,7,7,6,10,10,0,12,12,7,11,11,9,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,7,7,0,7,7,0,8,8,0,8,8,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,5,7,7,9,9,9,0,11,10,9,9,9,11,12,12,0,10,10,0,11,11,0,13,13,0,11,11,6,7,7,9,10,10,0,12,12,10,11,11,11,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,10,10,0,11,11,0,11,11,0,12,12,0,13,13,0,11,11,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,7,7,0,10,10,0,12,12,0,10,10,0,12,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,7,7,0,0,0,8,8,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,11,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,5,5,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,5,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,5,6,0,0,0,7,7,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,11,11,0,0,0,9,9,0,0,0,10,10,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,12,0,0,0,0,0,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,8,8,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,7,7,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,11,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,8,8,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,9,9,0,0,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,10,0,0,0,9,9,0,0,0,10,10,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,16,9,9,12,17,18,4,2,18,6,5,9,13,15,10,7,7,6,7,9,13,13,8,5,6,5,5,7,11,12,8,4,7,4,3,6,10,12,11,8,9,7,6,8,11,12,15,13,13,11,9,7,10,12,16,12,16,12,6,5,8,11,2,0,0,0,64,0,0,0,144,111,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,88,64,7,0,0,0,0,0,0,0,0,0,128,64,7,0,0,0,0,0,0,0,0,0,168,64,7,0,208,64,7,0,0,0,0,0,0,0,0,0,248,64,7,0,32,65,7,0,0,0,0,0,0,0,0,0,72,65,7,0,112,65,7,0,0,0,0,0,0,0,0,0,152,65,7,0,192,65,7,0,112,65,7,0,0,0,0,0,232,65,7,0,16,66,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,64,0,0,0,24,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,64,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,60,7,0,32,61,7,0,0,0,0,0,0,0,0,0,72,61,7,0,112,61,7,0,152,61,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,63,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,63,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,62,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,63,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,62,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,62,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,62,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,61,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,61,7,0,0,0,0,0,3,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,4,4,5,5,4,5,5,6,5,4,5,5,5,6,5,5,6,6,6,5,6,5,6,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,7,9,8,10,9,11,10,11,11,4,5,6,7,8,8,9,9,10,10,10,10,11,8,9,8,10,8,10,9,11,10,11,11,11,11,8,8,9,8,10,9,10,10,11,11,11,11,11,9,10,10,11,11,11,11,11,11,12,11,12,11,9,10,10,10,11,11,11,11,11,11,12,11,12,10,11,11,12,11,12,12,12,12,12,12,12,12,10,11,11,11,11,12,12,12,13,12,12,12,12,11,12,12,12,12,13,13,12,12,12,12,12,12,11,12,12,12,12,13,13,12,13,12,12,12,12,12,13,13,13,13,13,13,12,13,12,13,12,12,12,13,13,13,13,13,13,13,12,13,12,12,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,4,9,8,8,10,13,16,4,2,9,5,7,10,14,18,9,7,6,5,7,9,12,16,7,5,5,3,5,8,11,13,8,7,7,5,5,7,9,11,10,10,9,8,6,6,8,10,13,14,13,11,9,8,9,10,17,18,16,14,11,10,10,10,5,0,0,0,243,0,0,0,136,110,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,128,111,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,98,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,112,110,7,0,0,0,0,0,5,0,0,0,243,0,0,0,48,97,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,40,98,7,0,0,0,0,0,5,0,0,0,243,0,0,0,40,96,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,32,97,7,0,0,0,0,0,5,0,0,0,243,0,0,0,32,95,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,24,96,7,0,0,0,0,0,5,0,0,0,53,12,0,0,208,82,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,8,95,7,0,0,0,0,0,5,0,0,0,53,12,0,0,128,70,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,184,82,7,0,0,0,0,0,1,0,0,0,7,0,0,0,88,70,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,96,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,80,69,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,72,70,7,0,0,0,0,0,5,0,0,0,243,0,0,0,72,68,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,64,69,7,0,0,0,0,0,5,0,0,0,243,0,0,0,64,67,7,0,1,0,0,0,0,76,93,225,0,76,93,97,2,0,0,0,0,0,0,0,56,68,7,0,0,0,0,0,5,0,0,0,243,0,0,0,56,66,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,48,67,7,0,0,0,0,0,1,9,9,6,9,9,5,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,10,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,6,7,7,7,7,7,7,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,7,7,9,8,8,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,9,10,8,8,7,6,6,8,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,9,8,9,7,7,7,7,7,11,8,8,11,9,9,10,9,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,9,9,10,9,9,11,10,11,11,9,9,11,9,9,11,11,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,12,10,10,11,9,9,8,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,10,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,12,11,11,11,9,10,10,9,9,11,9,9,11,10,10,11,10,10,11,11,11,11,9,9,11,9,10,11,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,7,8,8,7,8,8,7,9,9,10,11,11,9,8,8,7,8,9,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,14,14,12,11,11,10,11,11,15,14,14,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,6,8,7,12,10,10,12,10,10,11,10,10,15,14,13,13,10,10,11,10,10,16,14,14,14,10,10,7,7,7,12,11,11,12,11,11,11,11,11,16,14,14,13,12,12,11,11,11,17,15,15,14,12,12,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,17,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,13,14,13,10,10,11,10,10,17,14,14,14,10,10,7,7,7,12,11,11,12,11,11,12,11,11,15,14,15,14,12,12,12,11,11,17,15,15,14,12,12,10,10,9,13,11,11,13,11,11,13,11,11,16,14,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,15,15,0,13,13,16,16,0,13,13,15,15,7,8,8,15,15,9,10,10,17,16,9,8,8,15,15,0,13,13,18,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,17,9,8,8,14,14,0,13,13,18,17,0,13,13,16,15,0,14,14,18,17,0,20,22,18,20,0,12,12,16,16,0,16,16,22,20,0,14,14,16,16,0,14,14,17,17,0,22,22,22,19,0,12,13,16,16,0,17,17,0,0,0,15,15,16,16,5,7,7,13,13,9,9,9,15,14,10,10,10,14,14,0,21,21,18,17,0,21,22,18,17,9,10,10,14,14,12,12,12,17,17,12,10,10,14,14,0,19,21,18,17,0,20,22,18,18,11,10,10,14,14,14,13,13,18,17,12,11,11,14,14,0,22,19,17,18,0,20,0,18,17,0,22,21,17,17,0,0,0,0,0,0,20,22,17,17,0,22,0,21,19,0,22,0,18,18,0,0,22],"i8",O3,_.GLOBAL_BASE+466780),C3([18,19,0,0,0,0,0,0,19,21,17,17,0,0,0,20,20,0,0,0,18,18,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,11,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,14,13,9,9,13,13,10,6,6,13,12,0,11,11,15,15,0,10,10,13,13,0,12,12,15,15,0,19,0,17,17,0,9,9,13,13,0,13,14,19,20,0,11,11,13,13,0,11,11,14,14,0,19,20,17,18,0,10,10,13,13,0,15,15,21,19,0,12,12,13,13,0,10,10,12,13,0,11,11,15,15,0,11,11,15,15,0,15,15,22,0,0,16,17,22,0,0,11,11,15,15,0,14,14,18,17,0,11,11,15,16,0,15,15,22,21,0,16,16,0,20,0,12,12,16,15,0,15,14,19,19,0,11,11,16,16,0,15,15,21,0,0,16,15,0,0,0,16,16,22,21,0,0,0,0,0,0,15,15,20,20,0,18,18,0,0,0,16,17,0,0,0,17,17,0,22,0,0,0,0,0,0,15,15,21,22,0,20,18,0,0,0,18,17,22,0,0,10,10,12,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,14,0,12,12,12,12,0,13,14,14,14,0,20,21,15,15,0,12,11,12,12,0,15,16,20,22,0,13,12,11,11,0,13,13,14,13,0,20,0,16,15,0,12,12,12,12,0,16,16,22,21,0,13,13,12,12,6,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,14,14,0,14,14,16,17,10,9,9,16,16,14,12,12,16,16,12,9,9,15,15,0,13,13,18,18,0,13,13,15,16,12,10,10,17,18,15,12,12,17,17,13,9,9,16,16,0,13,13,17,18,0,14,14,16,16,0,15,15,18,18,0,22,0,20,20,0,12,12,16,16,0,16,16,20,22,0,14,14,16,16,0,15,14,18,18,0,0,22,19,21,0,13,13,16,17,0,17,17,22,22,0,15,15,16,16,7,7,7,14,14,11,10,10,15,15,12,10,10,15,14,0,22,0,18,18,0,0,21,17,18,11,10,10,15,15,14,12,12,17,17,14,11,11,15,15,0,22,20,18,18,0,0,20,18,17,12,10,10,16,16,17,14,14,19,18,14,11,11,15,15,0,21,22,19,19,0,21,22,18,18,0,22,0,19,21,0,0,0,0,0,0,22,22,18,17,0,0,0,21,20,0,22,22,20,19,0,0,22,20,20,0,0,0,0,0,0,20,21,17,17,0,0,22,21,21,0,0,0,18,18,10,9,9,14,14,13,10,10,13,13,13,10,11,14,14,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,15,12,12,14,14,15,10,10,14,15,0,14,14,16,15,0,14,14,15,15,13,10,10,15,15,18,13,13,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,15,15,0,15,15,16,16,0,22,0,18,18,0,12,13,14,14,0,17,17,22,0,0,14,14,14,14,0,15,15,16,16,0,22,0,18,17,0,13,13,14,14,0,19,18,21,22,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,21,0,0,16,17,0,22,0,12,12,16,16,0,14,14,17,18,0,11,11,16,16,0,15,15,21,22,0,16,16,0,0,0,12,12,16,16,0,15,15,0,19,0,12,12,16,17,0,16,16,22,0,0,16,16,0,22,0,17,17,0,22,0,0,0,0,0,0,15,15,20,19,0,18,18,0,0,0,17,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,22,0,20,18,0,0,0,18,18,22,22,0,11,11,14,14,0,12,12,14,14,0,12,12,15,15,0,13,13,14,14,0,14,14,17,16,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,16,0,13,13,15,15,0,12,12,15,15,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,15,15,0,15,15,17,17,0,0,0,19,18,0,13,12,15,15,0,16,16,0,0,0,14,14,15,15,0,14,14,16,17,0,22,0,18,18,0,13,13,15,15,0,17,17,0,0,0,14,14,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,17,17,0,14,14,17,16,12,10,10,18,17,14,11,11,18,18,14,9,10,16,16,0,13,13,18,19,0,14,13,16,16,12,9,9,16,16,17,13,13,17,17,14,9,9,15,15,0,14,14,19,20,0,13,13,15,15,0,15,15,18,19,0,0,22,22,22,0,13,13,17,17,0,16,16,19,21,0,14,14,16,16,0,14,14,18,18,0,0,0,0,0,0,13,13,16,16,0,18,18,0,0,0,15,15,16,16,8,7,7,14,14,12,10,10,15,15,13,10,10,15,14,0,22,0,18,18,0,22,0,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,20,21,19,18,0,0,0,17,18,13,11,11,15,15,16,13,13,18,18,15,11,11,14,14,0,22,21,19,19,0,21,22,18,18,0,22,22,20,18,0,0,0,0,0,0,22,19,17,17,0,0,0,22,21,0,0,22,19,17,0,0,22,19,19,0,0,0,0,0,0,22,21,18,17,0,0,0,22,0,0,0,0,19,19,0,10,10,14,14,0,11,11,15,14,0,11,11,15,15,0,14,14,15,14,0,15,15,16,16,0,11,11,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,16,0,14,14,15,15,0,11,11,16,16,0,14,13,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,14,0,16,16,17,17,0,0,22,18,18,0,13,13,15,15,0,17,17,22,0,0,15,15,15,14,0,15,16,16,17,0,0,22,18,19,0,13,13,15,15,0,20,18,21,0,0,15,15,14,14,0,11,11,13,13,0,12,12,16,16,0,12,12,16,15,0,15,16,22,22,0,17,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,16,22,20,0,16,16,0,22,0,12,12,16,16,0,15,15,18,20,0,11,11,16,16,0,15,15,0,0,0,16,16,0,0,0,17,17,22,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,22,22,0,0,0,0,0,0,15,15,21,0,0,20,22,0,0,0,18,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,16,16,0,14,14,16,16,0,12,11,16,16,0,14,14,17,17,0,14,14,16,16,0,12,12,16,16,0,15,15,17,16,0,11,11,15,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,18,0,0,0,22,19,0,13,13,15,16,0,16,17,0,0,0,14,14,16,16,0,15,15,18,17,0,0,0,20,20,0,13,13,16,15,0,17,17,22,22,0,14,14,15,15,0,11,11,16,16,0,13,13,16,17,0,13,13,17,18,0,16,16,17,17,0,17,17,18,18,0,12,12,17,17,0,16,15,18,18,0,12,12,16,16,0,16,16,18,18,0,15,15,17,17,0,12,12,17,17,0,16,16,19,18,0,12,12,16,17,0,16,16,19,19,0,15,16,16,17,0,16,16,19,17,0,0,0,20,22,0,13,13,16,16,0,19,18,21,0,0,15,15,16,16,0,16,16,18,18,0,0,0,22,21,0,14,14,16,16,0,21,19,21,22,0,16,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,20,18,19,0,0,22,18,18,0,12,12,15,15,0,15,15,17,18,0,14,13,14,14,0,20,0,18,18,0,21,0,18,17,0,13,13,15,16,0,17,17,18,18,0,14,14,15,15,0,22,22,20,19,0,20,21,18,18,0,20,22,19,19,0,0,0,0,0,0,20,20,17,17,0,0,22,22,21,0,22,0,18,18,0,20,22,19,19,0,0,0,0,0,0,21,21,17,18,0,0,0,21,20,0,0,22,19,18,0,18,18,15,15,0,22,21,17,16,0,0,22,17,17,0,20,22,18,18,0,0,22,20,20,0,21,19,16,16,0,21,21,18,18,0,19,19,17,17,0,0,22,19,19,0,22,20,17,17,0,21,19,16,16,0,22,22,19,18,0,19,20,16,16,0,22,21,19,21,0,21,22,17,18,0,21,20,18,18,0,0,0,19,20,0,20,19,16,16,0,22,22,0,0,0,21,21,17,16,0,22,20,19,18,0,0,0,20,20,0,20,19,16,16,0,0,0,0,0,0,21,22,17,17,0,11,11,13,13,0,13,13,15,16,0,13,13,16,16,0,17,18,21,0,0,17,18,0,0,0,12,12,15,16,0,15,15,19,18,0,12,12,16,16,0,17,17,22,0,0,17,17,0,22,0,12,12,17,16,0,16,16,19,20,0,12,12,16,16,0,17,17,0,0,0,17,17,0,21,0,17,16,22,0,0,0,0,0,0,0,15,15,20,22,0,20,18,0,0,0,18,18,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,21,22,0,19,20,22,0,0,19,18,0,0,0,14,14,18,18,0,16,16,22,20,0,16,16,22,19,0,17,17,20,22,0,19,19,0,0,0,15,15,20,0,0,18,21,0,20,0,15,15,21,20,0,18,17,0,0,0,17,17,0,22,0,15,15,19,19,0,19,18,0,0,0,15,15,20,0,0,18,18,22,22,0,17,17,0,20,0,18,18,0,0,0,0,22,0,0,0,15,15,19,20,0,20,19,0,0,0,17,17,20,21,0,17,18,20,22,0,0,0,0,22,0,15,15,20,20,0,22,20,0,0,0,17,18,20,0,0,12,12,17,16,0,14,14,17,17,0,13,13,17,17,0,16,16,18,18,0,17,16,17,17,0,13,13,17,17,0,15,16,18,18,0,13,13,16,16,0,16,16,18,18,0,16,16,17,16,0,13,13,16,16,0,17,17,18,17,0,12,12,15,16,0,17,17,19,19,0,16,16,16,16,0,16,17,19,18,0,0,0,21,22,0,14,14,16,16,0,18,18,0,22,0,16,16,16,16,0,16,16,18,17,0,0,0,21,20,0,14,14,16,16,0,21,22,22,0,0,16,16,16,16,0,9,9,14,13,0,13,14,15,16,0,14,13,15,14,0,22,0,18,18,0,21,0,17,18,0,13,13,15,15,0,15,16,18,17,0,14,14,15,14,0,20,22,18,18,0,22,21,17,17,0,13,13,15,15,0,17,17,19,19,0,14,14,14,14,0,0,22,18,18,0,0,22,17,17,0,0,22,19,20,0,0,0,0,0,0,21,20,17,16,0,0,0,21,22,0,0,0,18,19,0,0,0,18,18,0,0,0,0,0,0,22,0,17,17,0,0,0,20,22,0,0,0,18,19,0,18,19,16,16,0,22,20,17,17,0,22,22,17,18,0,22,22,18,17,0,0,22,18,19,0,20,20,17,18,0,0,22,19,18,0,22,22,17,17,0,22,0,19,19,0,0,22,18,18,0,20,22,17,17,0,0,22,18,18,0,19,20,17,17,0,22,0,20,19,0,22,21,17,17,0,0,0,18,18,0,0,0,22,19,0,20,0,17,17,0,22,0,0,22,0,0,20,17,18,0,22,0,19,19,0,0,0,0,19,0,19,21,17,17,0,0,0,0,0,0,20,21,17,16,0,11,11,13,13,0,13,13,16,16,0,13,13,15,16,0,17,17,21,22,0,17,18,0,0,0,12,12,16,16,0,15,15,18,18,0,13,13,16,16,0,17,16,21,21,0,17,17,0,0,0,13,13,16,16,0,16,16,19,18,0,13,13,16,16,0,17,17,0,22,0,17,18,20,22,0,17,18,0,0,0,0,0,0,0,0,15,15,20,0,0,18,19,0,0,0,17,17,0,0,0,18,17,22,0,0,0,0,0,0,0,15,16,21,20,0,20,20,0,0,0,18,19,0,0,0,15,15,22,22,0,17,16,20,22,0,17,17,20,22,0,18,18,0,21,0,19,18,0,0,0,16,16,20,20,0,19,19,22,0,0,15,16,21,22,0,18,19,22,0,0,17,18,0,0,0,16,16,22,0,0,19,19,0,21,0,15,16,20,0,0,18,18,0,22,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,22,21,0,20,21,0,0,0,17,18,22,0,0,18,18,0,0,0,0,0,0,0,0,16,16,20,19,0,22,21,0,0,0,18,18,22,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,3,4,4,8,8,11,9,9,12,12,11,10,10,12,12,12,10,10,11,11,12,12,12,12,12,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,13,13,12,12,12,13,13,12,10,10,12,12,12,11,11,13,13,12,13,13,12,12,12,11,11,13,13,12,13,13,13,13,12,11,11,12,12,12,11,11,12,12,12,13,13,12,12,12,13,13,13,13,12,13,13,13,13,13,13,13,12,12,12,13,13,13,13,12,13,13,12,12,11,8,8,10,10,12,11,11,11,11,12,10,10,10,10,13,11,11,10,10,13,11,11,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,12,12,12,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,11,12,11,11,13,12,12,11,11,14,12,12,11,11,13,11,11,11,11,14,12,12,11,11,13,11,12,10,10,14,12,12,11,11,14,12,12,11,11,14,11,11,11,11,14,12,12,11,11,13,12,12,11,11,14,12,12,11,11,11,8,8,10,10,12,7,7,10,10,12,9,9,11,11,13,9,9,9,9,13,13,13,10,10,13,9,9,12,12,13,13,13,12,12,13,9,8,11,11,13,10,10,12,12,14,13,13,11,11,13,9,9,11,11,13,13,13,12,12,13,9,9,10,10,13,10,10,11,11,13,13,13,10,10,14,10,10,11,11,14,14,14,12,12,13,9,9,10,10,13,10,10,11,11,14,13,14,10,10,14,14,14,11,12,14,14,14,14,14,14,13,13,10,10,13,14,14,11,11,14,14,14,10,10,14,9,9,9,9,14,9,9,9,9,14,10,10,9,9,14,10,10,8,8,14,11,11,8,8,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,10,10,10,10,15,11,11,10,10,15,13,13,10,10,15,11,11,10,10,15,12,12,10,10,15,11,11,9,9,15,11,11,9,9,15,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,14,13,13,7,7,14,13,13,8,8,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,10,10,15,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,14,10,10,15,14,14,10,10,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,15,14,14,9,9,15,14,14,9,9,14,14,14,8,8,13,9,9,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,18,15,15,12,12,17,12,12,12,12,17,14,15,13,13,17,12,12,12,12,17,13,13,12,13,17,15,15,12,12,18,13,13,13,13,18,15,15,13,13,18,12,12,12,12,18,13,13,13,13,18,15,15,12,12,18,13,13,12,12,18,15,15,13,13,18,13,13,12,12,17,13,13,12,12,17,15,15,12,12,18,15,15,13,13,18,15,15,13,14,18,15,16,12,12,18,15,15,12,12,18,16,16,12,12,13,8,8,10,10,14,15,14,11,11,14,15,15,12,12,15,14,14,12,11,15,15,15,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,16,13,13,15,15,15,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,15,15,12,12,15,15,15,13,13,15,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,15,14,14,11,11,15,15,15,13,13,15,14,14,13,13,15,15,15,12,12,15,14,15,13,13,16,15,15,12,12,15,15,15,13,13,16,14,14,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,15,12,12,16,15,15,11,11,16,15,15,13,13,16,14,15,14,14,16,15,15,12,12,16,15,14,12,12,16,15,15,12,12,14,10,10,9,9,14,11,11,12,12,14,12,12,13,13,14,12,12,12,12,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,13,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,13,13,12,12,15,13,13,13,13,15,14,14,13,12,15,15,15,14,15,15,15,14,20,20,15,14,14,13,13,15,14,14,13,13,15,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,13,13,12,13,14,14,14,12,12,15,14,14,12,12,15,14,14,14,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,14,14,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,14,15,15,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,14,14,15,14,14,13,14,15,15,15,14,14,13,10,10,12,12,17,11,11,12,12,17,12,12,12,12,17,12,12,11,11,17,15,15,12,11,18,13,13,13,13,18,15,15,13,13,17,12,12,12,12,18,13,13,13,13,17,15,15,12,12,17,12,12,12,12,17,15,15,13,13,17,12,12,12,12,17,13,13,12,12,17,15,15,12,12,18,14,13,12,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,16,16,12,12,18,16,16,12,12,18,15,15,13,13,18,16,16,12,12,17,15,15,12,12,17,16,16,12,12,13,8,8,10,10,14,14,15,12,12,14,15,15,12,12,15,14,14,12,12,15,15,14,12,12,15,15,15,13,13,15,15,15,13,13,15,15,15,12,12,16,15,15,13,13,16,15,15,13,13,15,15,15,12,12,15,15,15,14,14,15,15,15,12,12,15,15,15,13,13,16,15,15,13,13,15,15,15,13,13,16,15,15,13,13,15,15,14,12,12,15,15,15,12,12,16,14,15,13,13,16,15,15,13,13,15,16,15,13,13,16,15,14,13,13,16,15,15,13,13,16,15,15,13,13,13,12,12,11,11,14,14,14,11,11,14,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,15,15,12,13,16,14,14,13,13,15,15,15,12,12,15,14,14,13,13,16,15,15,12,12,15,15,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,16,15,15,12,12,16,15,15,12,12,16,14,14,13,13,15,15,15,11,11,15,15,14,12,12,16,15,15,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,14,10,10,9,9,14,11,11,12,12,14,12,12,13,14,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,14,14,15,15,15,14,14,15,13,13,14,14,15,15,15,15,15,15,12,12,13,13,15,13,13,14,14,15,14,14,13,13,15,13,13,14,14,15,14,14,15,15,15,12,12,13,13,15,13,13,13,13,14,14,14,13,13,15,15,15,14,15,15,15,15,21,19,15,14,14,13,13,15,14,14,14,14,14,14,14,13,13,14,12,12,9,9,14,14,14,12,12,14,14,13,13,13,14,14,14,12,12,14,14,14,12,12,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,15,15,15,15,15,15,14,14,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,15,15,15,14,15,13,13,15,14,14,14,14,15,14,14,13,13,15,14,14,13,13,14,15,15,14,14,15,15,15,14,14,15,14,14,14,14,15,15,15,15,15,15,14,14,14,13,14,15,15,14,14,13,10,10,12,12,18,12,12,12,12,17,12,12,12,12,18,13,13,11,11,18,15,14,11,11,17,13,13,13,13,18,15,15,12,12,18,12,12,12,12,17,13,13,12,12,18,15,15,12,12,18,13,13,13,12,18,15,15,13,13,18,13,13,12,12,18,13,13,12,12,18,15,15,12,12,17,13,13,12,12,17,15,15,12,12,17,12,12,11,11,17,13,13,11,11,17,15,15,11,11,18,16,16,12,12,18,15,15,13,13,18,15,15,11,11,17,15,15,12,12,18,15,15,11,11,13,8,8,10,10,14,14,14,11,11,15,15,15,12,12,15,14,14,11,11,16,14,14,12,12,15,15,15,12,12,15,15,15,13,13,15,15,15,12,12,15,15,15,12,12,16,15,15,13,13,15,15,15,12,12,15,15,15,13,13,16,15,15,12,12,15,15,15,12,12,16,15,15,13,13,16,15,15,12,12,15,15,15,13,13,15,14,14,12,12,15,15,15,12,12,16,15,14,12,12,16,15,15,13,13,16,16,16,13,13,16,14,15,13,13,15,15,15,13,13,16,15,15,12,12,13,12,12,10,10,14,14,14,11,11,15,14,14,12,12,15,14,14,11,11,16,14,14,11,11,15,14,15,12,12,15,14,14,13,13,15,15,15,12,12,15,14,14,12,12,15,14,15,12,12,15,15,15,12,12,16,14,14,13,13,15,15,15,11,12,16,14,14,12,12,16,15,15,12,12,15,15,15,12,12,16,14,14,12,12,15,15,15,11,11,15,14,14,11,12,15,15,14,11,11,16,15,15,12,12,16,14,14,13,13,16,15,15,11,11,16,14,14,12,12,16,15,15,11,11,13,10,10,8,8,14,12,12,12,12,14,12,12,13,13,14,12,12,12,12,14,14,14,13,13,15,13,13,14,14,15,15,14,15,15,15,13,13,13,13,15,13,13,14,14,15,14,15,14,14,15,13,13,13,13,15,15,15,15,15,15,12,12,13,12,15,13,13,14,14,15,14,14,13,13,15,13,13,14,13,15,15,15,16,16,15,13,13,12,12,15,13,13,13,13,14,14,14,12,12,15,15,15,14,14,15,15,15,20,20,15,14,14,13,13,15,15,14,14,14,15,14,14,13,13,13,12,12,9,9,14,13,13,12,12,14,13,13,12,12,14,14,14,12,12,14,14,14,13,13,15,14,14,13,13,15,14,14,14,14,15,15,14,12,12,15,14,14,13,13,15,14,15,14,15,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,14,15,14,15,14,15,14,14,13,13,15,14,14,14,14,15,14,14,12,12,15,14,14,13,13,15,15,15,14,14,15,15,15,14,14,16,14,14,14,14,15,15,15,14,14,15,14,14,14,14,14,15,15,14,14,13,13,13,12,13,17,15,15,12,12,17,15,15,12,12,18,15,15,11,11,17,16,16,11,11,18,16,16,13,13,18,17,16,13,13,18,16,16,12,12,18,16,16,12,12,18,17,17,12,12,17,16,16,12,13,17,16,16,12,13,17,16,16,12,12,17,16,16,12,12,18,17,16,12,12,18,16,16,12,12,17,16,17,12,12,18,15,15,11,11,18,15,15,12,12,17,17,17,11,11,17,17,17,12,12,17,16,16,13,13,18,16,16,11,11,18,16,16,12,12,18,17,16,11,11,14,14,14,10,10,16,15,14,11,11,16,15,15,12,12,16,14,14,12,12,17,14,14,13,13,17,15,15,13,13,17,15,15,14,14,16,15,15,12,12,16,15,15,13,13,18,15,15,14,14,16,15,15,12,12,16,15,15,14,14,16,15,15,12,12,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,16,14,14,12,12,17,15,15,12,12,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,14,12,12,11,11,15,14,14,12,12,16,14,14,12,12,16,14,14,11,11,17,14,14,12,12,16,15,14,13,13,16,14,14,13,13,16,15,15,12,12,16,14,14,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,12,12,17,14,14,13,13,16,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,14,14,14,8,8,14,14,14,13,13,14,15,15,14,14,14,14,14,14,14,15,15,15,19,19,15,15,15,14,14,15,15,16,20,19,15,15,15,14,14,15,16,16,15,15,15,15,15,19,19,15,15,15,14,14,15,16,16,19,20,15,15,15,14,14,15,15,15,15,15,15,15,15,19,19,15,15,15,15,15,15,15,16,19,20,15,14,15,14,14,15,15,15,15,15,15,15,15,20,19,15,15,15,21,19,15,16,16,20,20,15,15,14,19,19,15,15,16,20,21,15,15,15,20,19,13,12,12,9,9,14,14,14,12,12,14,13,13,13,13,14,14,14,13,13,15,14,14,20,19,15,14,14,14,13,15,14,14,19,19,15,15,14,13,13,15,14,14,14,14,15,15,15,19,20,15,14,14,13,13,15,14,14,20,19,14,15,14,13,13,15,14,14,14,13,15,15,15,19,20,15,15,14,14,14,15,14,14,21,19,15,15,15,13,13,15,14,14,14,14,14,15,15,20,20,15,15,15,21,20,15,14,14,19,20,15,15,15,20,20,15,14,14,19,20,15,15,15,21,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,9,11,11,9,11,11,10,11,11,12,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,7,7,9,7,7,11,10,10,10,6,6,9,7,7,12,10,10,11,6,7,7,7,7,11,10,10,12,10,10,11,10,10,14,13,13,13,10,10,12,11,11,15,13,13,14,10,10,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,15,15,15,13,12,12,0,10,10,0,11,11,0,11,11,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,12,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,14,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,0,8,8,0,8,8,0,9,9,0,9,9,0,9,9,0,9,9,0,9,9,0,8,8,0,6,6,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,8,8,0,6,6,0,6,6,0,6,6,0,8,8,0,9,9,0,7,7,0,8,8,0,9,9,0,6,6,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,11,11,0,9,9,0,7,7,0,10,10,0,10,10,0,12,11,0,12,12,0,11,11,0,11,11,0,12,12,0,10,10,0,7,7,0,10,10,0,10,10,0,12,12,0,11,12,0,11,11,0,11,11,0,11,11,0,10,10,0,8,8,0,9,9,0,9,9,0,10,10,0,10,10,0,10,9,0,10,10,0,10,10,0,9,9,0,6,6,0,10,10,0,10,10,0,11,11,0,12,12,0,11,11,0,11,11,0,12,12,0,11,11,0,7,7,0,9,9,0,9,9,0,11,11,0,11,11,0,10,10,0,10,10,0,11,11,0,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,6,7,7,0,8,8,6,9,9,8,11,11,0,8,8,0,9,9,0,12,12,0,8,8,5,7,7,7,10,10,0,12,12,8,11,11,9,12,12,0,11,12,0,12,12,0,15,15,0,12,12,0,6,6,0,6,6,0,7,7,0,7,7,0,10,10,0,7,7,0,8,8,0,11,11,0,7,7,6,7,7,10,9,9,0,11,10,10,9,9,12,12,12,0,10,10,0,11,11,0,13,13,0,11,11,7,6,6,10,10,10,0,11,11,11,11,11,12,12,12,0,11,11,0,12,12,0,15,15,0,11,11,0,11,11,0,11,11,0,12,12,0,12,12,0,14,14,0,12,12,0,12,12,0,15,15,0,11,11,0,8,8,0,10,10,0,11,11,0,11,11,0,12,12,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,10,10,0,12,12,0,10,10,0,13,13,0,12,12,0,13,13,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,0,0,8,8,0,0,0,9,9,0,0,0,10,10,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,6,6,0,0,0,7,7,0,0,0,8,8,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,0,0,0,0,0,7,7,0,0,0,9,9,0,0,0,0,0,0,0,0,9,9,0,0,0,0,0,0,0,0,8,8,0,0,0,9,9,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,8,8,0,0,0,10,10,0,0,0,9,9,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,0,0,0,0,0,9,9,0,0,0,11,10,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,0,0,10,10,0,0,0,11,11,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,11,11,0,0,0,0,0,0,0,0,10,10,0,0,0,13,13,0,0,0,0,0,0,0,0,14,13,0,0,0,0,0,0,0,0,13,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,14,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,12,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,11,11,0,0,0,14,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,0,0,11,11,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,12,12,0,0,0,0,0,0,0,0,12,12,0,0,0,14,14,0,0,0,0,0,0,0,0,14,14,0,0,0,0,0,0,0,0,12,12,0,0,0,13,13,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+477020),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,4,12,9,8,12,15,17,4,2,11,6,5,9,13,15,11,7,8,7,7,10,14,13,8,5,7,5,5,8,12,12,8,4,7,4,3,6,11,12,11,8,9,7,6,8,11,12,15,13,14,12,9,7,10,13,16,12,17,12,7,5,8,11,0,0,0,0,255,255,255,255,255,255,255,255,7,0,0,0,255,255,255,255,255,255,255,255,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,255,255,255,255],"i8",O3,_.GLOBAL_BASE+487288),C3([1,0,0,0,2,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,99,0,0,0,7,0,0,0,17,0,0,0,31,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,200,161,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,56,128,7,0,0,0,0,0,0,0,0,0,96,128,7,0,136,128,7,0,0,0,0,0,0,0,0,0,176,128,7,0,216,128,7,0,0,0,0,0,0,0,0,0,0,129,7,0,40,129,7,0,0,0,0,0,0,0,0,0,80,129,7,0,120,129,7,0,40,129,7,0,0,0,0,0,160,129,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,0,128,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,248,127,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,224,124,7,0,8,125,7,0,0,0,0,0,0,0,0,0,48,125,7,0,88,125,7,0,128,125,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,16,127,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,192,127,7,0,0,0,0,0,2,0,0,0,25,0,0,0,216,126,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,248,126,7,0,0,0,0,0,2,0,0,0,9,0,0,0,184,126,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,200,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,48,126,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,80,126,7,0,0,0,0,0,1,0,0,0,25,0,0,0,168,125,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,200,125,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,13,14,16,16,16,16,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,6,6,5,6,5,6,6,6,6,7,7,7,6,7,6,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,4,4,7,7,8,8,9,9,10,10,11,11,4,6,5,8,6,9,8,10,9,10,10,11,10,5,5,6,6,8,8,9,9,10,10,10,10,11,7,8,8,9,8,10,9,10,9,11,10,11,10,7,8,8,8,10,9,10,10,10,10,11,10,11,9,10,10,11,11,11,11,12,11,12,11,12,11,9,10,10,11,11,11,11,11,11,11,12,11,12,11,11,11,12,12,12,12,12,12,12,12,12,11,11,12,11,12,12,12,12,12,12,12,12,11,12,12,12,12,12,13,12,13,12,12,12,12,12,12,12,12,12,13,13,13,13,12,13,12,12,12,12,12,13,13,12,13,12,13,12,13,12,12,12,12,13,13,13,13,13,13,12,12,12,12,12,11,12,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,3,3,7,7,9,13,16,3,2,4,6,10,13,17,7,4,4,6,9,12,14,7,6,6,5,7,9,12,10,10,9,6,6,9,12,14,14,13,9,8,10,11,18,18,15,13,11,10,11,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,192,160,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,184,161,7,0,0,0,0,0,5,0,0,0,243,0,0,0,184,159,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,176,160,7,0,0,0,0,0,5,0,0,0,243,0,0,0,176,158,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,168,159,7,0,0,0,0,0,5,0,0,0,243,0,0,0,168,157,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,160,158,7,0,0,0,0,0,5,0,0,0,53,12,0,0,88,145,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,144,157,7,0,0,0,0,0,5,0,0,0,53,12,0,0,8,133,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,64,145,7,0,0,0,0,0,1,0,0,0,7,0,0,0,224,132,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,232,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,131,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,208,132,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,130,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,200,131,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,129,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,192,130,7,0,0,0,0,0,1,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,7,7,7,7,7,7,8,8,9,8,8,8,7,7,8,8,8,9,8,8,9,7,7,6,6,6,9,8,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,7,7,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,8,9,12,9,9,12,8,8,11,9,9,12,9,9,12,8,8,8,7,7,10,9,9,10,10,9,10,9,9,11,10,10,11,9,9,11,9,9,11,10,11,11,9,9,10,8,8,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,11,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,9,11,10,10,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,9,9,11,10,10,11,9,9,11,9,10,11,10,10,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,12,11,11,6,6,6,8,5,5,8,7,7,9,7,7,11,10,10,9,7,7,9,7,7,12,10,10,10,7,7,7,8,8,12,11,10,12,10,10,11,10,10,15,13,13,13,10,10,11,10,10,17,14,13,13,10,10,7,7,7,12,11,12,12,11,11,12,11,11,16,14,14,13,12,12,12,11,11,17,15,14,14,12,12,10,9,9,13,11,11,13,11,11,13,11,11,17,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,15,13,13,14,11,10,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,12,11,11,12,11,11,17,14,14,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,13,11,12,16,14,14,14,11,11,13,12,11,16,15,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,7,7,14,14,7,7,7,14,14,0,13,13,16,16,0,13,13,15,14,7,8,8,15,15,9,10,10,16,16,9,8,8,15,15,0,13,13,17,16,0,13,13,15,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,18,0,13,13,15,15,0,14,14,16,16,0,0,0,19,18,0,12,12,16,15,0,15,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,18,0,12,12,15,15,0,17,17,0,20,0,14,14,16,16,5,6,7,12,12,9,9,9,14,14,10,10,10,14,14,0,21,21,18,17,0,20,20,18,17,9,10,10,14,14,12,12,12,16,16,12,10,10,14,14,0,20,19,18,17,0,0,20,17,18,11,10,10,14,14,14,13,13,18,18,13,11,11,14,14,0,20,20,17,18,0,21,21,17,17,0,21,0,18,18,0,0,0,0,0,0,20,19,16,17,0,0,0,19,19,0,0,0,18,18,0,21,21,18,18,0,0,0,0,0,0,20,20,16,17,0,0,0,21,21,0,0,0,18,19,6,6,6,13,12,8,6,6,11,11,8,6,6,13,13,0,9,9,11,11,0,11,10,14,14,9,7,7,13,13,11,9,9,13,13,10,6,6,13,13,0,10,10,14,15,0,10,10,13,13,9,7,7,13,13,13,10,9,13,13,10,6,6,13,13,0,10,10,15,14,0,10,10,13,13,0,11,11,15,15,0,19,20,17,17,0,9,9,13,13,0,13,13,20,20,0,11,11,13,13,0,11,11,15,15,0,19,19,17,17,0,10,10,13,13,0,15,15,20,20,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,0,0,16,16,0,21,0,11,11,15,15,0,14,14,18,17,0,11,11,15,15,0,15,16,19,20,0,16,16,21,21,0,12,12,15,15,0,15,14,18,18,0,11,11,16,16,0,15,15,21,21,0,16,15,0,0,0,16,16,21,0,0,0,0,0,0,0,14,14,20,20,0,18,18,0,0,0,16,17,21,0,0,16,16,21,21,0,0,0,0,0,0,15,15,21,21,0,20,19,0,21,0,17,17,0,0,0,10,10,12,11,0,10,10,10,11,0,11,11,12,12,0,11,11,9,9,0,13,13,11,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,14,14,0,12,12,12,12,0,14,14,14,13,0,19,20,15,15,0,12,11,12,12,0,15,15,21,20,0,13,13,11,11,0,13,13,13,13,0,19,0,15,15,0,12,12,12,12,0,17,16,19,0,0,13,13,12,12,7,7,7,16,16,11,9,9,15,15,12,9,9,16,16,0,13,13,15,14,0,14,14,17,16,10,9,9,16,16,14,11,11,17,16,12,9,8,15,15,0,13,13,18,18,0,13,13,15,15,12,10,10,18,17,15,12,12,17,17,14,9,9,16,16,0,13,13,18,19,0,14,13,17,16,0,14,14,18,18,0,0,0,20,21,0,12,12,16,16,0,16,16,20,21,0,14,14,17,16,0,14,14,18,19,0,0,0,19,21,0,13,13,17,17,0,17,17,0,21,0,15,15,16,16,8,7,7,14,14,11,10,10,15,15,12,10,10,15,15,0,20,20,18,18,0,0,0,17,17,11,10,10,16,16,14,12,12,18,17,14,11,11,15,15,0,20,21,18,18,0,0,19,18,17,12,10,10,16,16,17,14,14,19,19,14,11,11,15,15,0,21,21,19,19,0,21,20,19,18,0,21,0,18,19,0,0,0,0,0,0,20,20,18,17,0,21,0,0,0,0,0,0,19,18,0,0,0,18,19,0,0,0,0,0,0,0,21,17,18,0,0,0,0,21,0,0,21,18,19,11,9,9,14,14,13,10,10,13,13,13,11,11,15,15,0,13,13,12,12,0,15,15,16,16,13,10,10,15,15,16,12,12,15,15,15,10,10,15,15,0,14,13,16,15,0,14,13,15,15,13,10,10,15,15,18,14,14,15,15,15,10,10,14,15,0,14,14,16,16,0,14,14,16,15,0,15,15,17,16,0,21,0,18,18,0,12,13,15,15,0,16,16,0,0,0,14,14,15,15,0,15,15,16,16,0,21,20,18,18,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,16,20,0,0,16,17,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,17,0,15,15,20,0,0,16,16,0,0,0,12,12,16,16,0,15,15,19,19,0,11,11,17,17,0,16,16,21,0,0,16,16,0,0,0,17,17,20,20,0,0,0,0,0,0,15,15,20,0,0,17,18,0,0,0,17,17,0,0,0,16,16,0,21,0,0,0,0,0,0,15,15,21,0,0,19,18,0,0,0,18,17,0,0,0,11,11,14,14,0,11,11,15,15,0,12,12,16,16,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,16,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,16,0,15,14,16,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,14,18,18,0,21,0,19,19,0,13,13,15,15,0,16,16,20,20,0,14,14,16,15,0,14,14,17,17,0,21,0,20,18,0,13,13,15,15,0,17,17,0,0,0,14,14,16,15,8,8,8,16,16,12,9,9,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,11,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,16,16,14,9,9,15,15,0,14,14,20,20,0,13,13,15,15,0,15,14,18,18,0,0,0,20,21,0,12,13,16,17,0,16,16,20,21,0,14,14,16,17,0,14,14,18,17,0,0,0,20,21,0,13,13,16,16,0,19,17,0,21,0,14,15,16,16,8,7,7,14,13,12,10,10,15,15,13,10,10,15,15,0,21,21,18,19,0,20,21,18,18,12,10,10,16,15,15,12,12,17,17,14,11,11,15,15,0,21,21,19,18,0,0,21,17,18,13,11,11,15,15,16,13,13,18,19,15,11,11,15,14,0,21,0,19,19,0,0,21,18,18,0,0,21,19,19,0,0,0,0,0,0,20,19,17,17,0,0,0,21,0,0,21,0,18,19,0,0,20,20,19,0,0,0,0,0,0,21,20,18,17,0,0,0,0,20,0,0,0,18,19,0,10,10,15,14,0,11,11,14,14,0,11,11,15,16,0,14,14,15,15,0,15,15,16,16,0,11,11,16,16,0,14,13,16,16,0,11,11,15,15,0,14,14,16,16,0,14,14,15,15,0,11,11,15,15,0,13,13,15,15,0,11,11,15,15,0,15,15,18,17,0,14,14,15,15,0,15,16,18,18,0,0,0,20,20,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,17,0,0,0,19,19,0,13,13,15,15,0,20,19,0,0,0,15,15,15,15,0,11,11,13,13,0,12,12,16,16,0,12,12,16,16,0,15,15,21,21,0,17,16,0,0,0,12,12,16,16,0,14,14,17,17,0,11,11,16,16,0,15,15,0,0,0,16,16,21,0,0,12,12,17,16,0,14,15,20,20,0,11,11,16,16,0,15,15,0,20,0,16,16,0,21,0,16,17,21,0,0,0,0,0,0,0,15,15,0,21,0,18,18,0,0,0,17,16,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,20,21,0,0,17,18,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,12,17,16,0,14,14,17,16,0,11,11,16,16,0,14,14,17,17,0,14,14,17,17,0,12,12,16,16,0,15,15,17,17,0,11,11,16,16,0,14,14,17,17,0,14,14,16,16,0,15,15,18,17,0,0,0,19,0,0,13,13,16,16,0,16,16,0,21,0,14,14,16,16,0,15,15,18,17,0,0,0,19,19,0,13,13,16,16,0,18,17,0,21,0,14,15,16,16,0,11,11,16,16,0,13,13,17,17,0,13,13,17,17,0,16,16,16,17,0,16,16,18,18,0,12,12,17,17,0,16,15,18,17,0,12,12,16,16,0,16,15,19,19,0,16,15,17,17,0,12,12,17,18,0,16,16,18,18,0,12,12,16,16,0,16,16,19,19,0,15,16,17,17,0,15,16,18,18,0,0,0,20,20,0,13,13,16,16,0,18,18,21,20,0,15,15,16,16,0,16,16,19,18,0,0,0,19,20,0,14,14,17,17,0,19,19,0,21,0,15,16,16,16,0,9,9,14,14,0,13,13,15,15,0,14,14,15,15,0,0,21,19,19,0,0,21,18,18,0,12,12,15,15,0,15,15,18,18,0,14,13,15,15,0,21,21,18,19,0,21,20,18,18,0,13,13,16,16,0,17,17,18,19,0,14,14,15,15,0,0,21,19,19,0,21,20,18,19,0,20,20,19,19,0,0,0,0,0,0,19,20,17,17,0,0,0,21,21,0,21,0,18,20,0,21,0,18,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,19,19,0,18,18,15,15,0,18,20,17,16,0,20,0,17,17,0,21,0,17,17,0,21,20,19,20,0,19,19,16,16,0,21,21,17,18,0,19,19,17,17,0,20,21,21,21,0,20,20,18,18,0,19,19,16,16,0,0,21,18,19,0,18,19,16,17,0,21,21,19,20,0,21,19,18,18,0,21,20,19,21,0,0,0,20,21,0,19,19,17,16,0,0,0,0,0,0,21,20,17,17,0,20,21,19,18,0,0,0,0,21,0,19,18,16,17,0,0,0,0,0,0,20,20,17,17,0,11,11,14,14,0,13,13,16,16,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,12,12,16,16,0,15,15,17,18,0,12,12,16,16,0,16,16,0,20,0,17,17,0,21,0,12,12,17,17,0,16,16,19,20,0,12,12,17,17,0,17,17,0,20,0,17,17,0,0,0,17,17,21,0,0,0,0,0,0,0,15,15,0,20,0,19,19,0,0,0,18,18,0,0,0,17,17,0,0,0,0,0,0,0,0,15,15,0,0,0,20,19,0,0,0,19,18,0,0,0,14,14,21,19,0,16,16,20,21,0,16,16,20,20,0,17,17,20,0,0,17,17,20,20,0,15,15,20,20,0,19,18,20,0,0,15,15,20,20,0,17,18,21,20,0,17,17,20,21,0,15,15,19,19,0,19,18,21,21,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,17,18,20,21,0,0,0,0,0,0,15,15,20,20,0,19,19,0,0,0,17,17,19,21,0,17,17,0,21,0,0,0,0,21,0,15,15,20,19,0,0,20,0,0,0,17,17,21,20,0,12,12,16,16,0,14,14,17,17,0,13,13,17,17,0,16,16,17,18,0,17,16,18,18,0,13,13,18,17,0,15,16,19,18,0,13,13,16,16,0,16,16,19,19,0,16,16,17,17,0,13,12,17,17,0,16,16,18,17,0,12,12,16,16,0,17,17,19,18,0,16,15,16,16,0,16,17,18,19,0,0,0,20,20,0,14,14,17,16,0,18,18,21,0,0,16,16,16,16,0,16,16,18,17,0,0,21,21,21,0,14,14,16,16,0,21,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,17,0,14,14,15,15,0,20,0,18,18,0,21,0,18,17,0,13,13,16,15,0,17,17,19,19,0,14,14,15,15,0,20,20,18,19,0,0,0,18,17,0,0,21,18,18,0,0,0,0,0,0,20,21,18,17,0,0,0,0,0,0,0,0,19,19,0,0,21,18,18,0,0,0,0,0,0,21,0,18,17,0,0,0,0,21,0,0,0,19,20,0,19,19,16,16,0,0,21,18,17,0,21,0,18,18,0,20,0,19,18,0,21,20,19,19,0,21,19,17,18,0,0,21,19,19,0,21,19,18,18,0,21,0,20,18,0,0,21,18,18,0,20,21,17,17,0,21,0,18,18,0,21,19,17,17,0,21,0,0,20,0,0,20,17,18,0,0,0,19,20,0,0,0,20,19,0,19,21,17,18,0,21,0,0,0,0,21,21,18,17,0,0,21,18,18,0,0,0,0,21,0,20,19,16,17,0,0,0,0,0,0,21,20,17,17,0,11,11,13,13,0,13,13,16,16,0,13,13,16,16,0,17,17,0,21,0,18,19,21,0,0,12,12,16,16,0,15,15,19,18,0,13,13,16,16,0,16,17,21,19,0,17,17,21,21,0,13,13,16,16,0,16,16,20,18,0,13,13,16,16,0,17,17,0,0,0,18,18,0,0,0,18,17,0,20,0,0,0,0,0,0,15,15,21,21,0,19,18,0,0,0,17,17,21,21,0,17,17,0,0,0,0,0,0,0,0,15,15,20,21,0,20,20,0,0,0,19,19,0,0,0,14,15,21,19,0,16,16,0,21,0,17,16,21,21,0,17,18,21,20,0,18,18,0,21,0,16,16,0,20,0,19,19,0,0,0,16,15,0,20,0,18,18,0,0,0,17,17,0,21,0,16,16,20,20,0,20,19,0,0,0,15,16,21,22,0,18,18,0,0,0,18,17,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,21,20,0,19,20,0,0,0,18,17,21,0,0,17,18,0,0,0,0,0,0,0,0,16,16,0,20,0,0,20,0,0,0,18,18,22,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,7,7,10,12,12,12,12,10,11,11,13,13,11,12,12,11,11,12,12,12,12,12,11,13,13,13,13,12,12,12,13,14,12,13,13,13,13,12,13,13,13,13,12,13,13,13,13,11,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,12,13,13,13,12,13,13,13,13,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,12,13,13,13,13,12,12,12,14,14,12,13,13,12,12,12,13,13,13,13,12,13,13,12,12,10,10,11,10,10,11,11,11,11,11,11,9,9,10,10,12,11,11,10,10,12,10,10,10,10,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,12,12,12,12,13,11,11,11,11,13,12,12,12,12,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,11,11,11,9,9,11,12,12,11,11,12,12,12,9,9,13,13,13,10,10,13,13,13,11,11,13,13,13,14,14,13,13,13,11,10,13,13,14,12,12,13,13,13,11,11,13,13,13,11,11,13,13,13,14,14,13,13,13,10,10,13,13,13,11,11,13,13,13,10,10,13,14,13,11,11,13,14,14,14,14,13,13,13,10,10,13,14,14,11,11,13,13,13,10,10,13,14,14,11,11,13,13,13,14,14,14,13,13,10,10,13,14,14,11,11,13,13,13,10,10,14,12,12,9,9,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,12,12,9,9,15,13,13,9,9,13,12,12,9,9,13,13,13,8,8,13,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,10,10,15,14,14,9,9,14,14,14,10,10,15,14,14,11,11,15,14,14,9,9,14,14,14,10,10,14,14,14,9,9,15,14,15,10,10,15,14,14,11,11,14,14,14,9,9,14,14,14,9,9,14,14,14,8,8,15,14,14,10,10,15,14,14,11,11,14,14,14,9,9,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,16,11,11,17,16,16,12,12,17,16,16,11,11,17,16,16,11,11,17,17,16,13,13,17,16,16,13,13,18,17,16,12,12,17,16,16,13,13,17,16,17,12,12,18,17,17,13,13,17,16,16,14,14,18,17,17,12,12,18,16,16,13,13,17,17,17,13,12,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,18,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,12,13,16,14,14,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,16,16,14,15,17,15,15,14,14,17,15,16,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,14,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,13,12,16,14,14,13,13,16,15,14,12,12,16,14,14,12,12,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,17,15,14,14,14,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,15,15,14,14,17,15,15,14,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,15,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,19,18,14,14,14,19,19,15,15,15,19,18,15,16,16,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,16,16,16,20,19,15,15,15,19,18,15,16,16,20,19,15,15,15,18,18,15,15,15,19,20,15,16,16,19,19,15,15,15,20,19,15,15,15,20,19,15,15,15,19,18,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,14,12,12,9,9,14,14,14,19,19,14,14,14,19,19,14,14,15,20,19,15,14,14,18,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,14,14,20,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,20,15,15,15,20,20,15,15,15,19,19,15,15,15,20,19,16,14,14,19,19,15,15,15,20,19,15,14,15,20,19,14,15,15,20,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,16,11,11,17,17,17,13,13,18,16,17,13,13,18,17,17,13,12,17,16,17,13,13,17,17,17,13,13,16,16,16,12,12,17,16,16,13,13,17,16,16,12,12,17,16,16,12,13,17,17,17,12,12,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,17,17,12,12,17,17,17,12,12,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,17,16,16,12,12,17,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,15,15,16,16,16,15,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,14,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,15,15,14,13,17,15,15,14,14,17,15,15,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,15,14,12,12,17,14,14,12,12,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,14,13,17,15,15,13,13,16,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,13,14,17,15,15,12,12,17,14,14,13,13,17,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,14,18,19,15,15,15,18,19,15,16,16,20,20,15,15,15,19,20,15,16,16,19,20,15,15,15,19,20,15,15,16,19,19,15,16,16,20,20,15,15,15,20,19,15,16,16,20,19,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,19,15,15,15,19,19,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,15,15,15,20,20,15,15,15,19,19,14,12,12,9,9,14,14,14,18,18,14,14,14,19,20,14,14,14,18,18,14,14,14,18,19,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,14,15,19,19,15,15,15,18,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,15,15,14,20,20,15,15,15,19,19,15,15,15,19,19,15,14,14,19,19,15,15,15,19,19,15,14,14,19,20,14,15,15,19,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,15,14,14,20,19,15,15,15,19,19,13,12,12,13,13,17,17,16,11,11,16,16,16,12,12,17,17,16,11,11,17,16,16,11,11,17,17,17,13,13,17,16,16,13,13,18,17,17,12,12,17,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,17,13,13,17,17,17,12,12,18,17,17,13,13,18,17,17,12,12,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,17,17,17,12,12,18,16,16,13,13,18,17,17,12,11,17,16,16,12,12,18,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,16,16,15,16,18,15,15,14,14,17,15,15,14,14,17,15,15,14,14,18,15,15,14,14,16,16,16,15,16,18,15,15,14,14,17,16,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,18,14,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,15,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,12,12,17,14,15,11,11,17,14,14,11,11,17,15,15,13,13,17,14,14,14,13,17,15,15,13,13,16,15,15,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,15,13,13,16,15,15,13,13,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,12,12,13,15,14,8,8,14,14,14,19,19,14,15,15,18,19,14,14,14,18,19,14,15,14,19,19,15,16,15,19,19,15,16,16,19,20,15,15,15,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,15,15,19,19,15,15,15,19,19,15,16,15,19,19,15,16,16,21,19,15,15,15,20,20,15,15,15,20,21,15,15,15,19,20,14,12,12,8,8,14,14,14,19,19,14,13,13,19,19,14,14,14,19,19,14,13,14,19,19,15,15,15,20,20,15,14,14,20,19,15,15,15,19,20,15,14,14,19,20,15,15,15,20,19,15,15,15,19,20,15,14,14,20,20,15,15,15,20,19,15,14,14,19,19,15,15,15,19,19,15,15,15,20,19,15,14,14,21,19,15,15,15,20,21,15,14,14,21,19,15,15,15,19,19,15,15,15,20,20,15,14,14,19,21,15,15,15,19,19,15,14,14,19,20,15,15,15,19,19,13,12,12,13,13,17,16,16,11,11,17,16,15,12,12,18,16,16,11,11,17,16,16,11,11,18,17,17,13,13,18,16,16,13,13,17,17,17,12,13,18,17,16,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,13,13,18,16,17,12,12,17,16,16,13,12,17,17,17,12,12,18,17,17,13,12,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,16,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,17,17,11,11,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,17,14,14,12,12,16,14,14,13,13,17,15,15,14,14,17,15,16,15,15,17,15,15,14,14,17,15,16,14,15,18,15,15,14,14,17,15,15,14,14,16,16,16,15,15,18,15,15,13,14,17,15,15,14,14,18,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,17,16,16,15,15,17,15,15,13,13,17,15,15,14,14,18,15,15,13,13,13,11,11,10,10,16,14,14,12,12,16,14,14,13,13,17,14,14,11,11,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,17,15,15,13,13,17,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,14,14,18,19,15,16,15,19,19,15,17,16,20,20,15,15,15,19,19,15,16,16,19,19,15,15,15,19,19,15,16,15,18,19,15,16,16,20,20,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,16,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,20,15,16,16,20,20,15,15,15,19,19,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,14,14,18,19,14,14,14,19,20,15,15,15,19,20,15,14,14,21,20,15,15,15,20,20,15,15,14,19,19,15,15,15,19,19,15,15,15,19,19,15,14,14,19,20,15,15,15,19,20,15,14,14,19,19,15,15,15,19,19,15,15,15,19,19,16,14,14,19,19,15,15,15,20,20,15,14,14,21,19,15,15,15,19,19,15,15,15,19,20,16,14,14,19,20,15,15,15,19,19,15,14,14,19,19,15,15,15,20,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,7,7,7,8,8,7,8,8,10,11,11,9,8,8,7,9,9,11,12,12,9,8,8,6,7,7,9,11,11,10,11,11,10,11,11,13,13,13,11,12,12,10,11,11,13,14,14,12,12,12,6,6,6,8,6,6,8,6,6,9,7,7,12,10,10,10,6,6,9,7,7,12,10,10,11,7,6,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,10,10,12,11,11,15,13,13,14,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,14,14,13,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,11,11,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,10,10,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,8,7,7,12,11,11,13,11,11,12,11,11,15,14,14,14,12,12,13,12,12,15,14,14,15,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,12,12,0,15,14,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,8,8,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,7,7,0,8,8,0,8,8,0,8,8,0,9,9,0,8,8,0,8,8,0,7,7,0,8,8,0,8,8,0,10,10,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,8,8,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,12,12,0,12,12,0,12,12,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,13,12,0,13,13,0,12,12,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,13,12,0,12,12,0,12,12,0,12,12,0,11,11,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,14,14,0,11,11,0,6,6,0,6,5,0,7,6,0,7,7,0,10,10,0,6,6,0,7,7,0,10,10,0,7,7,0,7,7,0,10,10,0,11,11,0,11,11,0,14,14,0,10,10,0,12,12,0,14,14,0,12,12,0,6,6,0,11,11,0,11,11,0,12,12,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,11,11,0,11,11,0,12,12,0,15,15,0,12,12,0,11,11,0,15,15,0,11,11,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,14,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2],"i8",O3,_.GLOBAL_BASE+489700),C3([1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,5,7,8,10,13,14,4,2,4,6,8,11,12,7,4,3,5,8,12,14,8,5,4,4,8,12,12,9,7,7,7,9,10,11,13,11,11,9,7,8,10,13,11,10,6,5,7,9,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,224,200,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,80,167,7,0,0,0,0,0,0,0,0,0,120,167,7,0,160,167,7,0,0,0,0,0,0,0,0,0,200,167,7,0,240,167,7,0,0,0,0,0,0,0,0,0,24,168,7,0,64,168,7,0,0,0,0,0,0,0,0,0,104,168,7,0,144,168,7,0,64,168,7,0,0,0,0,0,184,168,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,24,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,16,167,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,248,163,7,0,32,164,7,0,0,0,0,0,0,0,0,0,72,164,7,0,112,164,7,0,152,164,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,40,166,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,216,166,7,0,0,0,0,0,2,0,0,0,25,0,0,0,240,165,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,16,166,7,0,0,0,0,0,2,0,0,0,9,0,0,0,208,165,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,224,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,72,165,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,104,165,7,0,0,0,0,0,1,0,0,0,25,0,0,0,192,164,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,224,164,7,0,0,0,0,0,3,4,4,5,4,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,5,6,6,7,7,8,8,9,9,10,10,11,11,12,12,12,14,14,14,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,6,6,5,5,5,7,5,5,5,5,6,7,7,6,7,7,7,6,7,7,7,7,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,4,7,7,8,8,9,9,9,10,10,10,5,6,5,8,7,9,8,9,9,10,9,11,10,5,5,7,7,8,8,9,9,9,9,10,10,11,8,9,8,10,9,10,9,10,9,11,10,11,10,8,8,9,9,10,9,10,9,11,10,11,10,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,11,11,11,12,11,11,11,11,11,11,10,12,12,12,12,12,12,12,11,12,12,12,11,11,11,12,12,12,12,12,12,12,11,12,11,12,11,11,13,12,12,12,13,12,12,12,12,11,12,11,11,13,13,13,12,12,12,12,12,12,11,11,11,10,13,13,13,12,13,12,13,11,13,10,12,11,11,13,13,12,13,12,12,12,12,11,12,11,11,11,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,10,14,16,3,2,5,7,11,14,17,6,5,5,7,10,12,14,7,7,6,6,7,9,13,10,11,9,6,6,9,11,15,15,13,10,9,10,12,18,18,16,14,12,13,16,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,216,199,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,208,200,7,0,0,0,0,0,5,0,0,0,243,0,0,0,208,198,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,200,199,7,0,0,0,0,0,5,0,0,0,243,0,0,0,200,197,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,192,198,7,0,0,0,0,0,5,0,0,0,243,0,0,0,192,196,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,184,197,7,0,0,0,0,0,5,0,0,0,53,12,0,0,112,184,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,168,196,7,0,0,0,0,0,5,0,0,0,53,12,0,0,32,172,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,88,184,7,0,0,0,0,0,1,0,0,0,7,0,0,0,248,171,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,0,172,7,0,0,0,0,0,5,0,0,0,243,0,0,0,240,170,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,232,171,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,169,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,224,170,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,168,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,216,169,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,7,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,7,7,7,8,8,7,7,7,7,8,8,8,8,9,8,7,7,8,8,8,9,9,9,9,7,7,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,8,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,9,6,6,9,7,7,10,8,8,9,7,7,7,8,8,11,9,9,11,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,10,9,12,8,8,8,7,7,10,9,9,11,9,9,11,9,9,11,11,10,11,9,9,11,10,9,11,10,11,11,9,9,10,8,8,11,9,9,11,9,9,11,9,9,11,10,10,11,9,9,11,9,9,11,10,10,11,9,9,9,8,8,12,9,9,12,9,9,11,9,9,12,9,9,12,8,8,12,9,9,12,9,9,12,8,8,9,7,7,11,9,10,11,10,9,11,9,9,11,11,11,11,9,9,11,10,10,11,11,11,11,9,9,10,9,9,11,9,9,11,10,10,11,10,9,11,10,10,11,9,9,11,10,10,11,10,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,6,6,6,8,8,7,8,8,7,9,8,10,11,11,9,8,8,7,8,8,11,11,11,9,8,8,6,7,7,10,10,10,10,10,10,10,10,10,14,13,13,12,11,11,10,10,10,14,14,13,13,11,11,6,6,6,8,5,5,8,7,7,8,7,7,11,9,9,9,7,7,8,7,7,12,10,10,10,7,7,7,8,8,12,11,11,12,10,10,11,10,10,14,13,13,13,10,10,11,10,11,16,14,14,13,10,10,7,8,7,12,12,12,12,11,11,12,11,11,16,14,15,13,12,12,11,11,11,17,15,14,14,13,13,10,9,9,13,11,11,13,11,11,12,11,11,16,14,13,14,11,11,12,11,11,16,15,14,14,11,11,7,8,8,12,11,11,12,10,10,12,10,10,16,14,13,13,11,11,12,10,10,16,14,14,13,10,10,8,8,8,12,12,12,12,11,11,12,11,11,16,14,15,14,12,12,12,11,11,16,15,15,14,12,12,10,10,10,13,11,11,13,11,11,12,12,12,16,14,14,14,11,11,12,11,11,17,14,15,14,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,2,6,6,14,14,6,8,8,14,14,7,7,7,14,14,0,13,13,15,16,0,13,13,15,15,7,8,8,15,15,9,10,10,16,16,9,8,8,14,15,0,13,13,17,17,0,13,13,16,16,8,8,8,15,15,12,11,11,16,16,9,8,8,14,14,0,13,13,17,17,0,13,13,15,15,0,14,14,16,16,0,0,0,18,19,0,12,12,16,15,0,16,16,0,20,0,14,14,16,16,0,14,14,17,17,0,0,0,19,19,0,12,12,15,15,0,18,17,21,21,0,14,14,16,16,5,7,7,12,13,9,10,9,14,14,11,10,10,14,14,0,0,0,18,17,0,20,21,18,18,9,10,10,14,14,12,12,12,17,16,12,10,10,14,14,0,20,20,18,17,0,21,21,17,17,11,10,10,14,14,15,13,13,18,18,13,11,11,14,14,0,20,0,18,18,0,20,21,18,17,0,21,0,18,19,0,0,0,0,21,0,21,20,16,17,0,0,0,21,21,0,0,0,20,18,0,20,0,17,18,0,0,0,0,0,0,0,20,16,17,0,0,0,20,0,0,0,0,18,18,6,6,6,13,13,8,5,5,11,11,9,6,6,13,13,0,9,9,12,12,0,10,10,14,14,9,7,7,13,13,12,9,9,13,13,10,6,6,13,13,0,10,10,14,14,0,10,10,13,13,9,7,7,13,13,13,10,10,13,13,11,6,6,13,13,0,10,10,15,15,0,10,10,13,13,0,12,11,15,15,0,20,19,17,16,0,9,9,13,13,0,13,13,20,19,0,11,11,13,13,0,11,11,15,15,0,20,19,17,17,0,10,10,13,13,0,14,15,0,21,0,12,12,13,13,0,10,10,12,12,0,11,11,15,15,0,11,11,15,15,0,15,15,20,20,0,16,16,0,0,0,11,11,15,15,0,14,14,17,17,0,11,11,15,15,0,15,15,20,21,0,16,16,21,21,0,12,12,15,15,0,15,15,18,20,0,11,11,16,15,0,15,15,21,21,0,16,16,0,21,0,16,16,0,0,0,0,0,0,0,0,14,14,21,21,0,17,18,0,0,0,16,17,20,0,0,16,16,0,0,0,0,0,0,0,0,15,15,20,20,0,19,18,0,21,0,18,17,0,0,0,10,10,11,11,0,10,10,10,10,0,11,11,12,12,0,11,11,9,9,0,13,13,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,12,12,13,13,0,12,12,12,12,0,11,11,12,12,0,13,13,12,12,0,10,10,12,12,0,13,13,13,13,0,12,12,12,12,0,14,13,13,13,0,19,21,15,15,0,12,11,12,12,0,16,15,19,19,0,13,13,11,11,0,13,13,13,13,0,0,21,15,16,0,12,12,12,12,0,16,16,19,21,0,13,13,12,12,7,7,7,16,16,11,9,9,16,16,12,9,9,16,16,0,13,13,16,16,0,14,14,17,16,11,9,9,16,16,14,12,11,17,17,13,8,9,15,15,0,13,13,19,19,0,13,13,16,15,12,10,10,17,17,15,12,12,19,18,14,9,9,17,16,0,14,14,18,0,0,14,13,16,16,0,14,15,18,17,0,21,0,19,21,0,12,12,16,16,0,16,16,0,0,0,14,14,16,16,0,14,14,18,18,0,0,21,20,0,0,13,13,16,17,0,18,18,0,0,0,15,14,17,16,8,7,7,14,14,11,10,10,15,15,13,10,10,15,15,0,21,20,19,19,0,21,0,17,18,11,10,10,15,16,14,12,12,18,18,14,11,11,15,14,0,21,20,18,19,0,0,21,18,18,12,11,11,16,16,16,14,14,18,20,14,11,11,16,15,0,20,20,19,19,0,0,20,18,18,0,21,0,18,19,0,0,0,0,0,0,20,20,17,18,0,0,0,20,20,0,0,0,19,19,0,0,0,20,18,0,0,0,0,0,0,0,21,18,18,0,21,21,0,21,0,0,0,19,20,11,9,9,14,14,13,10,10,14,14,13,11,11,15,15,0,13,13,13,13,0,14,14,16,16,13,11,11,15,15,16,12,12,15,15,14,10,10,14,14,0,14,14,16,16,0,14,14,15,15,13,10,10,15,15,17,13,14,15,16,15,10,10,15,15,0,14,14,17,16,0,14,14,15,15,0,15,15,17,17,0,0,21,18,18,0,13,13,15,15,0,16,16,21,20,0,14,14,15,14,0,15,14,16,17,0,0,20,20,19,0,13,13,15,15,0,19,18,0,0,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,15,16,21,21,0,16,17,21,0,0,12,12,17,16,0,14,14,18,19,0,11,11,16,16,0,15,15,20,21,0,16,16,21,0,0,12,12,17,16,0,15,15,19,19,0,12,12,16,17,0,16,15,0,0,0,16,16,0,0,0,17,17,0,21,0,0,0,0,0,0,14,15,20,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,0,0,18,18,0,0,0,18,17,0,0,0,11,11,14,14,0,12,12,15,15,0,12,12,15,15,0,13,13,14,14,0,14,14,17,17,0,12,12,16,16,0,14,14,16,16,0,11,11,15,15,0,13,13,16,17,0,13,13,16,16,0,12,12,15,15,0,14,14,17,16,0,11,11,15,15,0,14,14,17,17,0,13,13,16,16,0,15,15,17,18,0,21,20,20,21,0,12,12,15,15,0,16,16,20,21,0,14,14,15,15,0,14,14,17,17,0,0,0,18,19,0,12,13,15,15,0,18,17,21,0,0,14,15,15,15,8,8,8,16,16,12,10,10,16,16,13,9,9,16,16,0,14,14,18,17,0,14,14,16,17,12,10,10,18,17,14,12,11,18,18,14,9,9,16,16,0,13,13,18,18,0,13,13,17,16,12,9,9,16,17,17,13,13,17,17,14,9,9,15,15,0,14,14,20,19,0,13,13,16,16,0,15,15,19,18,0,0,0,20,19,0,12,13,17,17,0,16,16,20,0,0,14,14,16,17,0,14,14,19,18,0,0,0,20,20,0,13,13,16,16,0,18,17,0,0,0,15,15,16,16,9,7,7,14,14,12,10,10,15,15,13,10,10,15,15,0,21,0,18,19,0,20,21,19,18,12,10,10,16,15,15,13,13,18,18,14,11,11,15,15,0,0,0,19,18,0,0,21,18,18,13,11,11,15,15,16,14,14,17,19,15,11,11,15,15,0,21,21,20,18,0,0,21,18,18,0,0,21,21,19,0,0,0,0,0,0,19,20,18,17,0,0,0,21,21,0,21,0,20,18,0,0,21,19,19,0,0,0,0,0,0,20,21,17,17,0,0,0,0,0,0,21,0,18,20,0,10,10,14,14,0,11,11,15,15,0,11,11,15,15,0,14,14,15,15,0,15,15,16,16,0,11,12,16,16,0,13,13,16,16,0,11,11,15,15,0,14,14,17,17,0,14,14,15,15,0,11,11,16,15,0,14,14,15,15,0,11,11,15,15,0,15,15,17,17,0,14,14,15,15,0,16,16,18,18,0,0,0,20,19,0,14,13,16,15,0,17,17,21,0,0,15,15,15,15,0,16,15,17,16,0,20,0,20,18,0,13,14,15,15,0,19,18,0,21,0,15,15,15,15,0,11,11,14,14,0,12,12,16,16,0,12,12,16,16,0,16,15,20,21,0,17,16,0,0,0,12,12,16,16,0,14,14,18,18,0,11,11,16,16,0,15,15,21,20,0,16,16,0,0,0,12,12,16,17,0,15,14,19,19,0,11,12,16,16,0,15,15,21,0,0,16,16,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,21,0,0,17,17,0,0,0,17,17,0,0,0,17,16,0,0,0,0,0,0,0,0,15,15,0,20,0,19,20,0,0,0,17,17,0,0,0,12,12,15,15,0,12,12,15,15,0,12,12,16,16,0,13,13,15,15,0,15,15,17,17,0,13,13,17,16,0,14,14,17,17,0,11,11,16,16,0,14,14,17,17,0,13,13,16,16,0,12,12,16,16,0,15,15,16,17,0,11,11,15,16,0,14,14,17,17,0,13,14,16,16,0,15,15,18,18,0,21,20,20,19,0,13,13,16,17,0,16,16,0,0,0,14,14,16,16,0,15,15,18,18,0,0,0,20,19,0,13,13,16,16,0,17,17,0,0,0,14,14,16,16,0,11,11,16,16,0,13,13,18,17,0,13,13,17,17,0,16,16,17,17,0,16,16,17,18,0,12,12,17,17,0,15,15,18,18,0,12,12,16,16,0,16,16,19,19,0,15,15,16,17,0,12,12,17,17,0,17,17,18,18,0,12,12,17,17,0,16,16,19,19,0,15,16,17,17,0,16,16,18,17,0,0,0,21,21,0,13,13,16,16,0,17,17,0,20,0,15,15,16,17,0,16,16,19,18,0,0,21,20,21,0,14,14,17,16,0,20,0,0,0,0,15,16,16,17,0,9,9,14,14,0,13,13,16,16,0,14,14,15,15,0,0,20,19,19,0,0,0,19,19,0,12,12,15,15,0,15,16,19,18,0,14,14,15,15,0,21,0,18,18,0,20,0,17,18,0,13,13,16,16,0,17,17,17,19,0,14,14,16,15,0,21,20,20,19,0,0,0,19,19,0,0,0,19,18,0,0,0,0,0,0,20,20,17,18,0,0,0,21,21,0,0,0,18,18,0,21,0,18,19,0,0,0,0,0,0,20,21,18,18,0,0,0,20,21,0,0,0,19,19,0,18,18,15,15,0,20,21,17,17,0,19,21,17,17,0,0,0,17,18,0,0,0,20,19,0,19,19,17,17,0,0,0,18,18,0,19,20,16,17,0,0,21,20,20,0,19,20,19,18,0,19,20,16,16,0,0,0,18,19,0,19,20,17,17,0,0,21,0,20,0,21,21,17,19,0,20,0,19,20,0,0,0,20,0,0,19,18,17,16,0,0,0,0,0,0,0,20,17,17,0,20,21,18,20,0,0,0,0,21,0,19,20,17,17,0,0,0,0,0,0,20,21,17,17,0,11,11,14,14,0,13,13,16,17,0,13,13,16,16,0,17,17,0,21,0,18,17,21,0,0,13,13,16,16,0,15,15,18,18,0,12,12,16,16,0,17,16,21,0,0,17,17,0,0,0,12,12,17,17,0,17,17,19,21,0,13,12,16,16,0,17,17,0,0,0,17,17,0,0,0,18,17,0,21,0,0,0,0,0,0,15,15,20,0,0,20,18,0,0,0,17,18,0,0,0,16,17,0,0,0,0,0,0,0,0,15,15,0,0,0,19,19,0,0,0,18,18,0,0,0,14,14,18,18,0,16,16,0,21,0,16,16,21,21,0,17,17,0,20,0,17,17,20,0,0,16,15,0,0,0,20,20,0,0,0,15,15,20,20,0,17,17,21,0,0,17,18,20,20,0,15,15,20,20,0,18,18,0,0,0,15,15,19,20,0,17,18,0,0,0,17,17,20,20,0,18,17,21,0,0,0,0,0,21,0,15,15,20,20,0,19,19,0,0,0,17,17,21,0,0,17,17,0,0,0,0,0,21,0,0,15,15,19,19,0,20,21,0,0,0,18,17,21,21,0,12,12,16,16,0,14,14,17,17,0,13,13,17,18,0,16,16,18,17,0,16,16,18,18,0,13,13,18,18,0,15,16,19,18,0,13,13,16,16,0,16,16,20,18,0,16,16,17,17,0,12,13,17,17,0,17,16,18,18,0,12,12,16,16,0,17,16,20,19,0,16,16,16,16,0,16,17,18,20,0,0,0,21,20,0,14,14,17,16,0,19,18,0,20,0,16,16,17,16,0,16,16,17,18,0,0,21,21,21,0,14,14,16,16,0,20,20,21,0,0,16,16,16,16,0,10,10,14,14,0,14,14,15,16,0,14,14,15,15,0,0,21,18,18,0,0,21,18,19,0,13,13,16,16,0,16,16,18,18,0,14,14,15,15,0,21,0,18,18,0,21,0,18,18,0,13,13,16,16,0,17,17,19,20,0,14,14,15,15,0,0,0,18,20,0,0,21,18,18,0,0,21,19,18,0,0,0,0,0,0,20,21,18,17,0,0,0,21,21,0,0,0,19,19,0,21,0,18,19,0,0,0,0,0,0,21,20,17,17,0,0,21,20,0,0,0,0,19,19,0,19,20,15,16,0,0,20,18,17,0,20,21,17,18,0,21,0,18,18,0,0,0,19,19,0,20,20,17,18,0,0,0,18,19,0,20,20,18,17,0,0,0,0,20,0,0,21,17,18,0,20,21,17,17,0,0,0,18,18,0,19,19,17,17,0,0,0,21,21,0,20,20,17,17,0,0,0,21,19,0,0,0,20,19,0,21,20,17,18,0,0,0,0,0,0,0,20,18,17,0,21,20,18,18,0,0,0,20,21,0,20,20,17,17,0,0,0,0,0,0,20,0,17,17,0,11,11,13,14,0,13,13,16,16,0,13,13,16,16,0,17,17,0,0,0,17,18,0,0,0,13,13,16,16,0,15,16,18,18,0,13,13,16,17,0,16,17,20,0,0,17,18,20,0,0,13,13,17,17,0,16,16,20,21,0,13,13,16,16,0,17,17,21,0,0,17,18,0,0,0,17,18,0,21,0,0,0,0,0,0,15,15,20,0,0,19,19,0,0,0,17,17,0,0,0,18,17,21,20,0,0,0,0,0,0,16,16,20,21,0,21,20,0,21,0,19,21,0,0,0,15,15,0,0,0,16,17,0,19,0,16,16,0,0,0,17,17,0,0,0,19,18,0,0,0,16,16,20,20,0,20,18,21,0,0,15,15,21,21,0,18,18,0,0,0,18,19,0,0,0,16,15,0,21,0,20,19,0,0,0,16,16,0,0,0,20,18,0,21,0,17,18,21,0,0,18,19,0,0,0,0,0,0,0,0,16,16,20,20,0,19,20,0,0,0,17,17,0,0,0,18,17,20,21,0,0,0,0,0,0,16,16,0,20,0,20,22,0,0,0,18,18,0,22,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,4,4,8,8,10,12,12,11,11,9,11,11,12,13,11,12,12,11,11,11,12,12,12,12,10,13,12,13,13,11,12,12,13,13,11,12,12,13,13,11,12,13,13,13,11,13,13,13,13,10,13,13,12,13,11,12,12,14,14,11,13,12,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,13,13,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,13,13,13,13,11,12,12,14,14,11,13,13,12,12,11,12,12,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,11,8,8,11,11,13,10,10,10,10,12,10,10,10,10,13,11,11,11,11,13,10,10,11,11,13,11,11,12,12,13,11,11,11,11,13,11,11,12,12,13,11,11,12,12,13,10,10,11,11,13,11,11,11,11,13,11,10,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,12,10,11,11,11,13,11,11,11,11,13,11,11,11,11,13,10,10,11,11,13,11,11,11,11,13,11,11,11,11,13,11,11,11,11,11,10,10,10,10,12,10,10,9,9,12,12,12,11,11,13,12,12,9,9,13,12,12,10,10,12,12,12,12,12,13,13,13,14,14,13,12,12,11,11,13,13,13,12,12,13,12,12,11,11,13,12,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,12,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,12,13,10,10,13,13,13,11,11,13,13,13,14,14,13,12,12,10,10,13,13,13,11,11,13,13,12,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,11,11,7,7,14,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,12,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,15,13,13,9,9,14,12,12,9,9,14,13,13,9,9,14,13,13,9,9,15,12,12,9,9,14,13,13,9,9,14,12,12,9,9,14,13,13,9,9,13,12,12,8,8,13,13,13,8,8,14,13,13,9,9,13,13,13,7,7,14,13,13,8,8,14,14,14,10,10,14,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,11,11,14,14,14,9,9,14,14,14,10,10,14,14,14,9,9,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,14,14,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,15,15,11,11,16,15,16,12,12,17,16,16,11,11,17,15,15,12,11,16,16,16,12,13,16,15,15,13,13,16,16,16,12,12,16,16,15,13,13,16,16,16,12,12,16,16,16,13,13,17,16,16,14,14,17,17,16,12,12,17,16,16,13,13,17,17,16,12,13,16,16,17,13,12,17,16,16,14,13,17,16,16,12,12,17,16,16,12,12,17,16,17,12,12,17,17,17,13,13,16,16,16,13,14,17,17,16,12,12,16,16,16,13,13,17,17,17,12,12,13,14,14,10,10,16,14,14,12,12,16,15,15,14,14,16,14,14,12,12,15,14,14,13,13,17,15,15,14,13,16,16,15,15,15,16,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,16,15,15,15,17,15,15,13,13,16,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,15,15,15,15,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,13,13,15,14,14,13,13,16,14,14,12,12,16,14,14,12,12,15,15,15,14,14,16,14,14,14,14,16,15,14,14,14,16,14,14,14,14,16,15,15,14,13,16,15,15,14,14,16,14,14,14,14,17,15,15,14,14,16,14,14,14,14,16,15,15,13,14,16,15,15,14,14,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,14,14,16,14,14,14,14,17,15,15,13,13,16,15,14,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,17,17,14,15,15,18,18,14,14,14,18,19,14,14,14,18,18,15,15,15,19,18,15,16,15,18,20,15,15,15,18,19,15,15,15,19,19,15,15,15,18,20,15,15,15,18,19,15,15,16,20,18,15,15,15,18,18,15,15,15,19,19,15,15,15,18,19,15,15,15,18,19,15,15,15,19,19,14,15,14,19,19,15,15,15,20,19,15,14,14,19,18,14,15,15,18,19,15,15,16,20,20,14,14,14,18,19,15,15,15,19,18,14,14,14,18,18,14,12,12,9,9,13,14,14,18,18,14,13,13,18,19,14,14,14,18,18,14,14,14,18,18,15,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,18,18,15,15,15,19,18,14,15,15,19,19,15,14,14,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,19,18,15,15,15,21,18,15,14,14,19,18,14,15,15,18,19,14,15,14,20,19,14,15,15,18,19,14,15,15,19,19,15,14,14,19,20,14,15,15,18,18,14,14,14,19,19,14,15,15,19,18,12,12,12,13,13,16,15,15,11,11,16,15,15,12,12,16,16,16,11,11,16,15,15,11,11,16,16,16,13,13,17,16,16,13,13,17,17,17,12,12,16,16,16,13,13,17,16,17,13,12,15,16,16,12,12,16,15,15,13,13,17,16,16,12,12,16,16,15,12,12,16,16,16,12,12,17,17,16,13,12,16,16,16,13,13,17,16,16,12,12,17,16,16,12,12,17,17,16,12,12,16,17,16,12,12,17,15,15,13,13,17,16,16,12,12,16,16,16,12,12,16,16,16,12,12,13,13,13,9,9,15,14,14,13,13,16,15,14,14,14,16,14,14,13,13,15,14,14,13,13,17,15,15,14,14,16,15,15,15,15,16,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,15,14,14,16,15,15,14,14,17,15,15,13,14,17,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,14,13,13,13,11,11,11,11,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,14,15,13,13,15,15,15,13,13,16,14,14,14,13,16,14,14,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,12,12,16,14,14,13,13,16,15,15,12,12,16,15,15,13,13,16,14,14,14,14,17,15,14,12,12,16,14,14,13,13,16,15,15,12,12,14,14,14,8,8,14,14,14,17,18,14,15,15,17,18,14,14,14,17,18,14,14,14,18,18,14,15,15,18,18,14,16,15,19,19,15,15,15,18,19,15,16,15,20,19,15,15,15,18,18,14,15,15,18,19,15,16,16,20,19,15,15,15,19,17,14,15,15,20,18,14,15,15,18,18,14,15,15,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,19,14,14,14,18,19,14,15,15,19,18,15,16,16,20,21,14,14,15,19,19,14,15,15,19,19,14,14,14,19,18,13,12,12,9,9,13,14,14,18,19,14,14,14,18,19,14,14,14,18,18,14,14,14,18,18,14,15,15,19,19,15,14,14,19,18,15,15,15,19,19,15,14,14,19,20,14,15,15,18,19,14,15,15,20,18,15,14,14,18,18,14,15,15,18,18,14,14,14,19,19,14,15,15,18,18,14,15,15,19,18,15,14,14,19,19,14,15,15,19,18,15,14,14,19,18,14,14,15,18,19,14,15,15,19,18,15,14,14,18,19,14,15,14,19,20,14,14,14,19,19,14,15,15,19,19,12,12,12,13,13,16,16,16,11,11,16,16,16,12,12,17,16,16,11,11,17,15,15,11,11,16,16,16,13,13,17,15,16,13,13,16,16,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,17,12,12,16,16,16,12,12,17,15,15,13,13,17,16,16,11,11,17,16,16,12,12,16,16,16,11,11,16,17,16,12,12,17,16,16,13,13,17,17,16,12,12,17,17,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,16,17,14,15,14,14,16,15,15,14,14,17,15,15,14,14,16,15,15,14,14,16,15,15,15,15,17,14,14,13,13,16,15,15,14,14,16,14,14,13,13,17,15,15,14,14,16,16,15,15,15,17,14,14,13,13,16,15,15,14,14,17,14,14,13,13,13,11,11,10,10,16,14,14,12,12,15,13,13,13,12,16,14,14,11,11,16,14,14,11,11,16,14,15,13,14,16,14,14,13,13,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,14,15,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,16,15,15,12,12,13,14,14,8,8,13,14,14,18,18,13,15,15,17,18,14,14,14,18,19,14,14,14,19,18,14,15,15,19,18,15,15,16,21,18,15,15,15,19,19,14,16,16,19,19,14,15,15,18,19,14,15,15,19,20,14,16,16,19,18,15,15,15,18,19,14,15,15,19,18,15,15,15,18,18,15,15,15,20,18,15,16,16,20,19,14,15,14,18,19,14,15,16,19,20,14,15,15,19,18,15,15,15,19,18,15,16,16,20,19,15,14,14,18,18,14,15,15,19,19,14,15,15,18,18,13,12,12,8,8,13,14,14,19,18,14,13,13,20,18,14,14,14,19,18,14,13,13,18,19,14,15,15,20,19,15,14,14,19,19,14,15,15,19,18,15,14,14,20,20,15,15,15,19,18,14,15,15,19,18,15,14,14,19,18,14,15,15,20,19,14,14,14,20,19,14,15,15,19,18,15,15,15,18,18,15,14,14,18,18,14,15,15,19,19,14,14,14,19,19,14,15,15,19,19,15,15,15,19,18,15,14,14,20,19,15,15,15,19,19,14,14,14,20,19,14,15,15,20,20,12,12,12,13,13,17,16,16,11,11,16,16,15,12,12,17,16,16,11,11,17,15,15,11,11,17,17,17,13,13,17,16,16,13,13,17,17,17,12,12,17,16,16,13,13,17,17,16,12,13,16,17,16,13,13,17,16,15,13,13,17,16,16,12,12,17,16,16,12,13,17,16,17,12,12,17,17,17,12,12,17,16,15,13,13,17,16,16,12,12,17,16,16,12,12,17,16,16,11,11,16,16,16,12,12,17,15,15,13,13,17,16,15,11,11,16,16,16,12,12,17,16,16,11,11,13,14,14,9,9,16,14,14,13,13,16,14,15,14,14,16,14,14,12,12,16,14,14,13,13,17,15,15,14,15,16,15,15,15,15,17,15,15,14,14,16,15,15,15,14,16,15,15,14,14,16,15,15,14,14,16,15,16,15,15,17,15,14,14,14,16,15,15,14,14,17,15,15,13,13,16,15,15,14,14,16,16,16,15,15,17,14,14,13,13,16,15,15,14,14,18,14,15,13,13,16,15,15,14,14,16,16,15,15,15,16,14,14,13,13,16,15,15,14,14,17,14,15,13,13,13,11,11,10,10,15,14,14,12,12,15,14,14,13,13,16,14,14,12,12,16,13,14,12,12,16,14,15,14,13,16,14,14,14,14,16,15,15,13,13,16,14,14,13,13,16,15,15,13,13,15,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,14,15,12,12,16,15,15,13,13,16,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,14,14,14,8,8,14,14,14,17,17,14,15,15,18,18,14,14,14,18,17,14,14,14,18,18,14,15,15,18,20,15,16,15,19,18,15,15,15,19,18,15,15,16,19,18,15,15,15,18,18,14,15,15,18,18,15,16,16,18,19,15,15,15,18,18,15,15,15,19,20,15,15,15,18,18,15,15,15,18,18,15,16,16,19,19,15,14,15,19,19,15,15,15,19,20,14,14,15,18,18,15,15,15,19,19,15,16,16,19,19,15,15,14,18,19,15,15,15,20,20,15,15,14,18,18,13,12,12,8,8,13,14,14,18,18,14,14,14,18,18,14,14,14,18,20,14,14,14,18,18,14,15,15,19,18,15,14,14,18,19,15,15,15,18,19,15,14,14,18,19,15,15,15,18,18,14,15,14,18,19,15,14,14,21,19,15,15,15,19,18,14,14,14,19,18,14,15,15,19,18,15,15,15,20,19,15,14,14,20,18,14,15,15,18,19,14,14,14,19,18,14,15,15,18,19,15,15,15,18,19,15,14,14,19,19,15,15,15,19,19,14,14,14,19,20,14,15,15,18,19,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,7,8,8,7,8,8,7,9,9,10,12,11,9,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,14,12,12,12,11,11,11,14,14,14,12,12,12,6,5,5,9,6,5,9,6,6,9,7,7,12,10,10,11,6,6,10,7,7,13,10,10,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,16,13,13,15,11,11,8,7,7,12,12,12,12,11,11,12,11,11,14,14,14,14,12,12,12,12,12,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,12,12,0,15,15,0,11,11,8,8,8,13,11,11,13,10,10,13,11,11,15,13,13,14,11,11,12,10,10,16,14,14,14,10,10,9,7,7,13,11,11,13,11,11,12,11,11,16,14,14,14,12,12,13,12,12,15,14,14,15,13,12,0,11,11,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,13,12,0,14,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,9,0,8,8,0,8,8,0,7,7,0,9,9,0,8,8,0,10,10,0,9,9,0,10,10,0,10,10,0,9,9,0,10,10,0,9,9,0,11,11,0,11,11,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,12,0,8,8,0,12,12,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,14,0,14,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,12,12,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,10,11,0,6,6,0,7,7,0,11,11,0,12,12,0,11,11,0,15,15,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,15,15,0,11,11,0,12,12,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,12,0,15,16,0,11,11,0,6,6,0,11,12,0,12,12,0,12,12,0,16,15,0,12,12,0,13,12,0,15,14,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,3,3,7,8,10,13,16,3,2,5,7,9,13,16,6,4,4,6,10,14,15,7,5,5,7,10,13,14,9,8,9,9,9,11,13,12,11,12,9,7,8,11,14,12,10,6,5,7,10,0,0,0,0,0,0,0,2,0,0,0,49,0,0,0,248,239,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,104,206,7,0,0,0,0,0,0,0,0,0,144,206,7,0,184,206,7,0,0,0,0,0,0,0,0,0,224,206,7,0,8,207,7,0,0,0,0,0,0,0,0,0,48,207,7,0,88,207,7,0,0,0,0,0,0,0,0,0,128,207,7,0,168,207,7,0,88,207,7,0,0,0,0,0,208,207,7,0,136,203,7,0,176,203,7],"i8",O3,_.GLOBAL_BASE+500144),C3([2,0,0,0,49,0,0,0,48,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,4,0,0,0,40,206,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,16,203,7,0,56,203,7,0,0,0,0,0,0,0,0,0,96,203,7,0,136,203,7,0,176,203,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,0,0,0,169,0,0,0,64,205,7,0,1,0,0,0,0,0,158,224,0,0,84,96,4,0,0,0,0,0,0,0,240,205,7,0,0,0,0,0,2,0,0,0,25,0,0,0,8,205,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,40,205,7,0,0,0,0,0,2,0,0,0,9,0,0,0,232,204,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,248,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,96,204,7,0,1,0,0,0,0,192,18,225,0,0,153,96,5,0,0,0,0,0,0,0,128,204,7,0,0,0,0,0,1,0,0,0,25,0,0,0,216,203,7,0,1,0,0,0,0,0,120,224,0,0,16,96,5,0,0,0,0,0,0,0,248,203,7,0,0,0,0,0,3,5,4,5,4,5,4,5,5,5,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,3,2,5,4,7,7,8,8,9,9,10,10,11,11,12,12,13,13,14,14,15,15,15,15,0,0,0,0,0,0,0,12,0,0,0,11,0,0,0,13,0,0,0,10,0,0,0,14,0,0,0,9,0,0,0,15,0,0,0,8,0,0,0,16,0,0,0,7,0,0,0,17,0,0,0,6,0,0,0,18,0,0,0,5,0,0,0,19,0,0,0,4,0,0,0,20,0,0,0,3,0,0,0,21,0,0,0,2,0,0,0,22,0,0,0,1,0,0,0,23,0,0,0,0,0,0,0,24,0,0,0,0,0,0,0,1,4,4,4,4,4,4,4,4,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,4,4,7,7,4,5,6,7,7,4,6,5,7,7,7,6,7,6,7,7,7,6,7,6,0,0,0,0,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,3,3,8,8,10,10,10,10,10,10,10,10,5,7,5,9,8,10,10,10,10,11,10,11,10,5,5,7,8,9,10,10,11,10,10,11,10,11,10,10,10,11,11,11,11,11,11,11,10,11,11,10,10,10,10,11,11,11,11,11,10,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,11,11,11,11,11,10,10,11,11,12,11,11,11,11,11,11,12,11,11,11,10,11,11,11,11,11,11,11,11,10,11,11,10,11,10,11,11,11,11,11,11,11,11,11,11,12,11,11,12,12,11,11,11,11,11,11,11,11,11,11,11,11,12,11,10,11,11,11,11,11,11,11,12,11,13,11,11,11,11,11,11,11,11,11,11,11,12,11,13,0,0,0,0,0,0,0,6,0,0,0,5,0,0,0,7,0,0,0,4,0,0,0,8,0,0,0,3,0,0,0,9,0,0,0,2,0,0,0,10,0,0,0,1,0,0,0,11,0,0,0,0,0,0,0,12,0,0,0,0,0,0,0,1,3,2,3,0,0,0,0,2,3,6,7,9,13,17,3,2,5,7,9,13,17,6,5,5,6,9,12,16,7,7,6,6,7,10,13,10,10,9,7,6,10,13,13,13,12,10,10,11,15,17,17,17,14,14,15,17,0,0,0,0,0,0,0,5,0,0,0,243,0,0,0,240,238,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,232,239,7,0,0,0,0,0,5,0,0,0,243,0,0,0,232,237,7,0,1,0,0,0,0,0,56,224,0,0,56,96,2,0,0,0,0,0,0,0,224,238,7,0,0,0,0,0,5,0,0,0,243,0,0,0,224,236,7,0,1,0,0,0,0,0,16,224,0,0,16,96,2,0,0,0,0,0,0,0,216,237,7,0,0,0,0,0,5,0,0,0,243,0,0,0,216,235,7,0,1,0,0,0,0,0,84,224,0,0,84,96,2,0,0,0,0,0,0,0,208,236,7,0,0,0,0,0,5,0,0,0,53,12,0,0,136,223,7,0,1,0,0,0,0,0,48,224,0,0,16,96,3,0,0,0,0,0,0,0,192,235,7,0,0,0,0,0,5,0,0,0,53,12,0,0,56,211,7,0,1,0,0,0,0,0,124,224,0,0,92,96,3,0,0,0,0,0,0,0,112,223,7,0,0,0,0,0,1,0,0,0,7,0,0,0,16,211,7,0,1,0,0,0,0,0,56,224,0,0,16,96,3,0,0,0,0,0,0,0,24,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,8,210,7,0,1,0,0,0,0,0,149,224,0,0,149,96,2,0,0,0,0,0,0,0,0,211,7,0,0,0,0,0,5,0,0,0,243,0,0,0,0,209,7,0,1,0,0,0,0,0,92,224,0,0,92,96,2,0,0,0,0,0,0,0,248,209,7,0,0,0,0,0,5,0,0,0,243,0,0,0,248,207,7,0,1,0,0,0,0,136,51,225,0,136,51,97,2,0,0,0,0,0,0,0,240,208,7,0,0,0,0,0,1,8,8,8,8,8,8,8,8,8,8,8,8,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,8,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,6,7,6,8,8,7,7,8,7,8,8,9,9,9,8,7,7,8,8,8,9,9,9,9,8,8,6,6,6,9,7,7,9,7,7,9,8,8,10,8,8,10,8,8,10,8,8,10,9,8,10,8,8,7,6,6,9,6,6,9,6,6,9,7,7,10,8,8,10,6,6,9,7,7,10,8,8,10,6,6,7,7,7,11,9,9,11,9,9,10,9,9,12,10,10,12,8,8,11,9,9,13,9,10,12,8,8,8,7,7,11,9,10,11,10,10,10,9,9,11,11,11,11,9,9,11,10,9,12,11,11,11,9,10,10,8,8,11,9,10,11,9,9,11,9,9,12,10,10,11,9,9,11,9,9,12,10,11,11,9,9,8,8,8,12,9,9,12,9,9,11,9,9,13,9,9,13,8,8,12,9,9,13,10,10,12,8,8,9,7,7,11,10,10,11,10,10,11,10,10,12,11,11,11,10,9,11,10,10,11,11,11,11,9,9,11,9,9,12,10,10,11,10,10,12,10,10,11,11,11,11,9,9,11,10,10,12,11,11,11,9,9,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,7,7,6,8,8,7,8,8,7,9,9,11,11,11,9,8,8,7,9,9,11,12,11,9,9,9,6,7,7,10,11,11,10,10,10,10,11,11,15,14,14,12,12,12,11,11,11,14,14,14,12,12,12,5,6,6,8,5,5,8,7,7,8,8,8,12,10,10,10,7,7,8,7,7,12,10,10,10,7,7,6,7,7,12,11,11,12,10,10,11,10,10,14,14,13,13,10,10,11,10,10,16,14,14,14,11,10,7,7,7,13,12,12,12,12,11,11,11,11,15,14,17,13,12,12,12,11,11,15,15,15,14,13,13,10,9,9,14,12,11,13,11,11,12,11,11,16,15,14,14,11,11,12,11,11,17,14,14,15,11,11,7,8,8,12,11,11,13,10,10,11,10,10,17,14,13,14,10,10,12,10,10,18,15,15,14,10,10,8,7,7,13,12,12,13,11,11,12,11,11,16,14,15,14,12,12,12,11,11,18,16,16,14,12,12,11,10,10,13,12,11,13,11,11,13,12,12,0,15,14,14,11,11,13,11,11,16,15,15,15,11,11,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,2,3,3,3,3,3,3,0,3,0,0,0,2,0,0,0,4,0,0,0,1,0,0,0,5,0,0,0,0,0,0,0,6,0,0,0,0,0,0,0,1,7,7,14,14,6,8,8,15,16,7,8,8,16,15,0,14,14,17,17,0,14,14,16,16,7,9,9,16,16,10,11,11,17,18,9,8,8,16,16,0,14,14,19,19,0,14,14,17,16,8,9,9,16,16,12,12,12,17,17,10,9,9,16,16,0,15,14,18,20,0,14,14,17,17,0,15,15,18,17,0,21,0,0,21,0,13,13,17,17,0,17,17,0,0,0,15,15,17,17,0,15,15,17,18,0,0,0,0,21,0,13,13,17,17,0,18,18,0,21,0,16,15,17,18,6,7,7,14,14,9,10,10,16,16,11,10,10,15,15,0,21,0,20,21,0,0,0,18,20,10,10,10,15,16,12,13,13,18,18,12,11,11,15,15,0,0,0,20,20,0,0,21,19,19,12,11,11,15,15,15,14,14,18,18,13,11,11,15,16,0,0,0,20,19,0,0,0,20,21,0,0,20,19,19,0,0,0,0,0,0,20,0,17,18,0,0,21,0,0,0,0,0,21,0,0,21,0,20,19,0,0,0,0,0,0,21,0,18,18,0,0,0,21,0,0,0,0,0,20,7,6,6,13,13,9,6,6,12,12,9,7,7,14,14,0,10,10,12,12,0,11,11,15,15,9,7,7,14,14,12,9,9,14,14,10,7,7,14,13,0,11,11,16,15,0,11,11,14,14,9,7,7,14,14,13,10,10,14,14,11,7,7,14,13,0,11,11,16,16,0,11,11,14,14,0,12,12,16,16,0,19,0,17,18,0,10,10,14,14,0,15,14,0,0,0,12,12,14,14,0,12,12,15,15,0,20,0,18,19,0,10,10,14,14,0,16,15,0,20,0,13,13,14,14,0,11,11,13,13,0,12,13,16,16,0,12,12,16,16,0,16,16,0,21,0,17,18,0,0,0,12,12,16,16,0,15,15,18,0,0,12,12,16,16,0,17,16,21,21,0,16,17,0,0,0,13,13,17,16,0,16,16,20,21,0,12,12,17,16,0,17,17,0,21,0,17,17,21,21,0,17,18,0,0,0,0,0,0,0,0,15,15,0,0,0,18,21,0,0,0,18,19,0,0,0,18,17,21,21,0,0,0,0,0,0,16,16,0,0,0,0,0,0,0,0,19,19,0,0,0,11,11,12,12,0,11,11,10,10,0,12,12,13,13,0,12,12,9,9,0,14,14,13,13,0,12,12,13,13,0,14,14,12,13,0,11,11,12,12,0,13,13,13,13,0,13,13,13,13,0,12,12,13,13,0,14,14,12,12,0,11,11,12,12,0,14,13,14,14,0,13,13,13,13,0,15,15,14,15,0,0,0,16,16,0,12,12,13,13,0,16,17,20,21,0,14,13,12,12,0,14,14,14,14,0,21,0,16,16,0,12,12,13,13,0,18,17,21,0,0,14,14,13,13,7,8,8,17,17,11,10,10,18,18,12,10,10,17,17,0,15,15,20,18,0,15,15,17,17,11,9,9,17,17,14,12,12,19,19,13,9,9,16,16,0,15,14,0,19,0,14,14,16,16,12,10,10,20,18,16,13,13,21,20,14,10,10,17,17,0,15,15,21,20,0,15,14,17,17,0,15,15,21,21,0,0,21,0,0,0,13,13,18,18,0,19,16,0,0,0,15,15,17,16,0,16,16,0,21,0,0,0,0,21,0,13,14,18,17,0,20,19,0,0,0,15,15,18,18,8,7,7,15,15,12,11,11,17,16,13,11,11,16,16,0,0,0,21,20,0,0,0,0,20,11,10,10,17,17,14,13,13,19,18,14,11,11,16,16,0,20,0,21,19,0,0,21,0,20,12,11,11,17,17,16,15,15,0,19,14,11,11,17,16,0,21,0,0,19,0,0,0,21,20,0,0,21,20,0,0,0,0,0,0,0,0,0,19,21,0,0,0,0,0,0,0,0,19,20,0,0,0,20,21,0,0,0,0,0,0,20,0,19,21,0,0,0,0,0,0,0,0,21,20,11,10,9,15,15,14,11,11,15,15,14,11,11,16,16,0,14,14,14,14,0,16,15,17,16,13,11,11,16,16,16,13,13,16,16,15,10,10,15,15,0,14,15,17,17,0,14,14,16,15,13,11,11,16,16,17,15,14,16,16,15,10,10,15,15,0,15,15,17,18,0,15,15,16,16,0,16,16,17,17,0,21,0,21,20,0,13,13,15,15,0,18,18,0,21,0,15,15,15,15,0,16,16,17,17,0,0,0,0,18,0,13,13,15,15,0,19,18,0,0,0,15,15,16,16,0,12,12,15,15,0,13,13,17,17,0,13,13,17,18,0,16,17,21,0,0,20,18,0,0,0,13,13,17,17,0,15,15,0,18,0,12,12,17,18,0,16,16,0,0,0,17,17,21,0,0,13,13,18,18,0,16,16,21,21,0,12,12,17,18,0,16,17,21,0,0,17,17,0,21,0,17,18,0,0,0,0,0,0,0,0,16,15,0,21,0,21,19,0,0,0,18,18,0,0,0,18,19,0,0,0,0,0,0,0,0,16,16,21,21,0,20,19,0,0,0,19,21,0,21,0,12,12,15,15,0,12,12,15,16,0,13,13,16,16,0,14,14,15,15,0,16,15,17,17,0,13,13,17,17,0,15,15,16,18,0,12,12,16,16,0,14,14,17,17,0,15,14,16,16,0,13,13,16,16,0,16,15,17,17,0,12,12,16,16,0,15,15,18,18,0,14,14,17,16,0,16,16,17,18,0,0,0,20,21,0,13,13,16,17,0,17,17,0,0,0,15,15,16,16,0,15,16,17,17,0,0,0,19,0,0,13,13,15,16,0,19,18,0,0,0,16,15,16,17,8,8,8,17,17,13,11,10,17,18,13,10,10,17,17,0,15,15,20,19,0,15,15,17,17,12,10,10,19,18,15,12,12,20,18,14,10,10,17,16,0,15,15,20,20,0,14,15,16,16,13,10,10,17,17,17,14,14,0,18,15,10,10,17,17,0,16,15,20,20,0,14,14,17,17,0,15,16,20,20,0,0,21,0,0,0,13,13,17,17,0,18,17,0,0,0,15,16,17,18,0,15,15,18,21,0,0,0,21,0,0,13,13,18,18,0,19,19,0,0,0,16,16,18,17,9,8,8,15,15,12,11,11,16,16,13,11,11,16,15,0,0,0,0,21,0,21,0,19,19,12,11,11,17,18,15,13,13,18,19,14,11,11,16,16,0,0,21,21,19,0,0,0,21,20,13,11,11,18,17,17,14,15,20,21,15,11,12,16,16,0,0,0,20,0,0,0,21,0,19,0,0,0,0,19,0,0,0,0,0,0,21,21,19,19,0,0,0,21,0,0,0,0,19,21,0,0,0,19,20,0,0,0,21,0,0,0,21,19,19,0,0,0,0,0,0,0,0,21,20,0,11,11,15,15,0,12,12,15,16,0,12,12,16,16,0,15,15,16,15,0,16,16,17,17,0,12,12,17,17,0,14,14,17,17,0,11,11,16,16,0,15,15,19,18,0,15,15,16,16,0,12,12,17,16,0,14,15,16,16,0,11,11,15,15,0,16,16,18,19,0,15,15,15,16,0,17,17,18,20,0,21,0,21,19,0,14,14,16,16,0,18,18,0,0,0,16,16,15,15,0,16,16,18,17,0,0,0,19,20,0,14,14,16,16,0,19,19,0,0,0,16,17,15,15,0,12,12,14,15,0,13,13,16,17,0,12,12,17,17,0,17,16,0,0,0,18,17,21,0,0,13,13,19,17,0,15,15,20,21,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,13,13,17,18,0,16,16,21,0,0,12,12,17,17,0,17,17,0,0,0,17,17,0,0,0,18,21,0,0,0,0,0,0,0,0,15,15,21,0,0,20,21,0,0,0,18,19,0,0,0,18,17,0,0,0,0,0,0,0,0,16,16,21,0,0,21,21,0,0,0,18,19,0,0,0,12,12,16,16,0,13,13,16,17,0,13,13,17,16,0,14,14,16,16,0,16,15,19,18,0,13,13,17,17,0,15,15,18,18,0,12,12,16,16,0,15,15,18,19,0,15,15,17,16,0,13,13,17,17,0,16,16,18,17,0,12,12,17,16,0,15,15,18,18,0,15,15,17,17,0,16,16,0,19,0,0,0,0,0,0,14,14,16,17,0,18,18,0,0,0,15,15,17,17,0,16,16,21,19,0,21,0,21,21,0,13,14,16,16,0,19,19,0,0,0,15,16,16,16,0,11,11,17,16,0,15,14,19,18,0,14,14,19,19,0,18,17,18,20,0,17,17,18,19,0,13,13,17,17,0,16,17,21,18,0,13,13,17,16,0,18,17,19,0,0,16,17,18,18,0,12,12,19,18,0,18,18,20,20,0,13,13,17,17,0,17,17,21,0,0,16,17,17,18,0,18,17,19,18,0,0,0,0,0,0,14,14,17,17,0,19,19,21,0,0,16,16,16,17,0,17,17,19,20,0,0,0,0,21,0,15,15,17,18,0,21,21,0,0,0,17,17,17,18,0,10,10,15,15,0,15,14,17,18,0,14,14,16,16,0,0,0,18,0,0,21,0,19,0,0,13,13,17,16,0,17,17,18,0,0,14,14,16,15,0,0,0,21,0,0,21,0,19,18,0,13,13,17,17,0,18,18,20,20,0,15,15,16,16,0,0,0,21,21,0,0,0,20,20,0,0,0,19,0,0,0,0,0,0,0,21,20,18,18,0,0,0,0,0,0,0,0,0,20,0,0,0,0,20,0,0,0,0,0,0,0,0,19,18,0,0,0,0,21,0,0,0,18,20,0,18,19,16,17,0,21,19,17,17,0,0,21,18,18,0,0,21,20,19,0,0,0,20,20,0,0,21,17,17,0,0,0,19,19,0,20,20,17,17,0,0,0,0,20,0,0,20,18,18,0,21,20,17,17,0,0,0,20,21,0,19,0,17,17,0,0,21,0,0,0,20,0,18,19,0,0,0,21,21,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,0,18,17,0,0,0,20,19,0,0,0,0,21,0,20,20,17,17,0,0,0,0,0,0,21,21,18,18,0,12,12,15,14,0,14,14,17,17,0,14,14,17,16,0,18,18,21,0,0,19,20,0,0,0,13,13,18,17,0,16,16,19,18,0,13,13,17,17,0,17,17,0,0,0,17,17,21,0,0,13,13,17,17,0,17,17,21,20,0,13,13,18,17,0,18,19,21,21,0,19,18,0,0,0,18,17,0,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,20,18,21,0,0,17,18,0,0,0,0,0,0,0,0,15,16,0,0,0,0,20,0,0,0,0,19,0,0,0,15,15,18,19,0,18,17,21,0,0,16,18,0,20,0,17,18,21,0,0,18,20,0,0,0,16,16,21,21,0,19,20,21,0,0,16,15,0,21,0,18,20,0,0,0,18,19,0,0,0,16,15,21,21,0,21,0,0,0,0,16,15,21,0,0,20,19,0,0,0,18,21,21,0,0,20,18,0,0,0,0,0,0,0,0,16,16,0,20,0,21,0,0,0,0,17,18,20,21,0,18,18,21,21,0,0,0,0,0,0,16,16,20,0,0,0,21,0,0,0,21,18,0,0,0,12,12,20,17,0,15,15,19,18,0,14,14,19,18,0,18,17,21,19,0,17,17,21,17,0,13,13,21,19,0,16,17,20,19,0,13,13,16,16,0,17,17,20,21,0,16,16,19,17,0,13,13,18,18,0,17,19,19,19,0,13,13,17,17,0,18,18,0,19,0,16,17,18,18,0,16,17,19,21,0,0,0,0,0,0,15,15,16,17,0,20,19,21,0,0,17,17,17,17,0,17,17,21,19,0,0,0,0,0,0,15,15,17,17,0,21,0,0,0,0,18,18,17,17,0,10,10,15,15,0,15,15,17,17,0,15,14,16,16,0,0,0,21,19,0,21,21,19,21,0,13,13,17,16,0,17,17,18,19,0,14,15,16,15,0,0,0,21,19,0,21,21,18,19,0,14,14,16,17,0,18,18,18,19,0,15,15,15,16,0,0,21,0,21,0,0,0,19,20,0,0,0,21,19,0,0,0,0,0,0,21,21,19,17,0,0,0,0,0,0,0,0,21,21,0,21,0,0,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,0,0,19,0,21,18,18,17,0,21,0,20,20,0,0,0,18,20,0,0,21,18,21,0,0,0,21,18,0,0,0,0,19,0,0,0,21,21,0,20,21,17,19,0,21,0,21,0,0,21,0,18,18,0,20,21,17,18,0,0,0,21,19,0,20,21,17,18,0,0,0,21,21,0,0,0,20,19,0,0,0,21,21,0,0,0,0,0,0,21,21,19,18,0,0,0,0,0,0,0,21,19,18,0,21,21,19,0,0,0,0,21,0,0,21,21,18,17,0,0,0,0,0,0,21,0,21,18,0,12,12,14,14,0,15,14,17,17,0,14,14,17,16,0,19,17,0,0,0,19,19,0,0,0,13,13,17,17,0,17,17,20,20,0,13,13,18,18,0,18,17,0,0,0,18,21,0,0,0,13,13,17,17,0,18,18,21,20,0,14,14,18,19,0,19,18,21,0,0,19,19,0,0,0,20,18,20,0,0,0,0,0,0,0,15,16,0,0,0,21,21,0,0,0,19,19,0,0,0,18,18,0,0,0,0,0,0,0,0,16,16,0,21,0,0,0,0,0,0,19,20,0,0,0,15,15,20,21,0,17,17,21,21,0,17,17,0,0,0,19,18,0,0,0,18,19,0,0,0,17,16,0,21,0,0,20,0,0,0,16,16,0,20,0,19,19,0,21,0,19,18,0,21,0,16,16,0,0,0,21,21,0,0,0,16,16,0,0,0,21,21,0,0,0,19,19,0,0,0,20,0,0,0,0,0,0,0,0,0,17,17,0,21,0,0,20,0,0,0,20,18,21,21,0,19,18,0,20,0,0,0,0,0,0,16,17,21,0,0,0,21,0,0,0,19,20,21,20,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,2,3,4,9,9,10,12,12,12,11,10,12,12,13,12,11,13,12,11,11,11,12,12,12,11,11,13,13,13,13,11,12,12,14,14,12,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,13,13,13,13,11,12,12,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,12,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,13,13,13,13,12,13,13,14,14,12,13,13,12,12,11,13,13,13,13,11,13,13,12,12,11,10,10,10,10,12,10,10,11,11,12,9,9,11,11,13,11,11,10,10,13,10,10,10,10,13,11,11,12,12,13,10,10,12,12,14,12,11,12,12,13,11,11,11,12,13,12,12,12,12,13,11,11,12,12,13,10,10,12,12,14,11,11,12,12,13,11,11,12,12,13,11,11,12,12,14,12,12,12,12,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,14,12,12,12,11,14,10,10,11,11,14,12,11,11,11,13,11,11,11,11,13,12,12,11,11,11,11,11,10,10,12,10,11,9,9,12,12,12,11,11,13,12,12,9,9,13,13,13,10,10,13,13,13,12,12,13,13,13,14,14,13,12,12,11,11,14,13,13,12,12,14,13,13,11,11,13,13,13,12,11,13,13,13,14,14,13,12,12,10,10,14,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,12,12,10,10,13,13,13,11,11,13,13,13,10,10,13,13,13,11,11,14,13,13,14,14,14,13,13,10,10,13,13,13,11,11,13,13,13,10,10,14,12,12,8,8,14,12,12,9,9,14,11,11,9,9,14,12,12,8,8,14,12,12,7,7,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,12,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,10,10,15,13,13,9,9,15,13,13,10,10,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,14,13,12,9,9,14,13,13,9,9,15,13,13,10,10,15,12,12,10,10,15,13,13,9,9,15,13,13,9,9,14,13,13,9,9,14,12,12,8,8,13,13,13,8,8,14,14,13,9,9,14,14,13,7,7,14,14,14,8,8,14,14,14,10,10,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,14,14,14,10,9,15,14,14,12,12,14,14,14,9,9,15,14,14,10,10,14,14,14,9,9,15,14,15,9,9,15,14,14,11,11,14,14,14,8,8,14,14,14,9,9,14,14,14,8,8,14,15,14,10,10,15,14,14,11,11,14,14,14,8,8,15,14,14,9,9,14,14,14,8,8,12,12,12,13,13,16,16,15,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,17,16,17,13,13,17,16,16,14,14,17,17,16,12,12,18,16,16,13,13,17,16,17,12,12,17,17,17,13,13,18,16,16,14,14,18,17,17,12,12,17,17,17,13,13,18,17,17,13,13,17,17,17,13,13,17,16,16,14,14,17,17,17,12,12,16,16,17,13,13,17,17,16,12,12,18,17,17,13,13,18,16,16,14,14,18,17,17,12,12,19,16,17,13,13,17,16,17,12,12,13,14,14,10,10,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,16,15,14,14,16,16,16,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,15,14,14,16,16,16,15,15,18,15,15,13,13,16,16,15,14,14,17,15,15,14,13,17,15,15,14,14,16,16,16,15,15,18,15,14,13,13,17,15,15,14,14,18,14,15,13,13,18,15,15,14,14,16,16,16,15,15,17,15,15,13,13,17,15,15,14,14,17,15,15,13,13,13,11,11,10,10,16,14,14,13,13,17,14,15,14,14,17,15,15,12,12,17,14,14,12,12,16,15,15,14,14,16,14,14,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,15,14,14,16,15,14,15,15,17,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,15,16,14,14,16,14,14,14,14,17,15,15,13,13,17,15,15,13,13,16,15,15,13,13,17,16,16,14,14,17,15,14,15,14,17,15,15,13,13,17,15,15,13,13,17,15,15,13,13,14,14,14,9,9,14,14,14,18,19,14,15,15,19,18,14,14,14,19,19,15,14,14,19,19,15,16,16,19,19,15,16,16,19,19,15,15,15,19,19,15,16,16,19,20,15,15,15,19,19,15,15,15,19,19,15,16,16,20,20,15,15,15,18,19,15,15,16,19,20,15,15,15,19,18,15,15,15,18,18,15,16,16,21,20,15,15,15,19,19,15,15,15,19,19,15,15,14,19,20,15,15,15,20,19,15,16,16,19,20,15,15,15,19,19,15,15,15,20,21,15,14,15,19,19,14,12,12,9,9,14,14,15,21,19,14,14,14,18,19,14,15,15,19,20,14,14,14,19,19,15,15,15,19,20,15,15,14,21,19,15,15,15,20,19,15,14,15,20,21,15,15,15,18,18,15,15,15,20,21,16,14,14,18,19,15,15,15,20,19,15,15,15,18,21,15,15,15,19,19,15,15,15,19,20,16,15,14,20,19,15,16,15,19,19,15,15,15,19,0,14,15,15,19,19,15,15,15,19,19,15,15,14,20,19,15,15,15,20,19,15,15,15,19,19,15,15,15,20,19,12,12,12,13,13,16,15,16,11,11,16,16,16,12,12,17,16,16,11,11,17,16,16,12,11,17,17,17,13,13,18,16,16,14,14,18,18,17,13,13,17,16,16,13,13,17,17,17,13,13,17,16,17,12,12,17,15,16,13,13,17,16,17,12,12,17,16,16,13,12,17,16,16,12,12,18,17,17,13,13,18,16,16,13,14,18,17,17,12,12,17,16,16,12,12,17,17,17,12,12,18,17,17,13,13,17,16,16,14,14,17,17,17,12,12,17,16,16,12,12,18,17,17,12,12,13,14,14,9,9,16,14,14,13,13,16,15,15,14,14,16,14,14,13,13,16,14,14,13,13,17,16,15,15,15,16,15,16,16,15,17,15,15,14,14,17,15,15,15,15,17,15,15,14,14,17,15,15,14,14,16,15,16,16,16,17,15,15,14,14,16,15,15,14,15,16,15,15,14,14,17,15,15,15,15,16,16,16,15,16,18,15,14,13,14,17,15,15,14,14,17,14,14,13,13,17,15,15,14,14,16,15,15,15,15,17,15,14,14,14,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,13,13,16,14,14,12,12,16,14,14,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,13,13,16,15,15,14,13,16,15,15,13,13,16,15,15,13,13,16,14,14,14,14,16,15,15,13,13,16,14,15,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,12,12,17,14,15,13,13,17,15,15,12,12,16,15,15,13,13,17,14,14,14,14,17,15,15,12,12,17,15,15,13,13,16,15,15,12,12,14,15,15,8,8,14,14,14,19,18,14,15,15,19,20,14,14,14,19,19,14,14,15,19,20,15,16,15,19,21,15,16,16,21,19,15,15,15,20,19,15,16,16,19,20,15,15,15,19,18,15,16,15,20,19,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,14,15,15,19,19,15,15,15,21,19,15,17,16,19,20,15,14,15,0,21,15,15,15,19,20,14,14,14,19,19,15,15,15,20,19,15,16,16,19,19,15,15,15,19,18,15,15,15,20,19,14,14,15,18,18,14,12,12,9,9,14,14,14,18,18,14,14,14,18,18,14,15,14,19,18,14,14,14,19,18,15,15,15,19,20,15,14,14,18,18,15,15,15,20,19,15,15,15,18,20,15,15,15,19,18,15,15,15,19,19,15,14,14,19,21,15,15,15,20,20,15,15,15,18,19,14,15,15,19,20,15,15,15,20,19,15,14,14,19,21,15,15,15,18,19,15,14,15,20,19,14,15,15,21,21,14,15,15,19,20,15,14,14,19,20,15,15,15,19,20,15,15,14,20,20,14,15,15,20,19,13,12,12,13,13,17,16,16,11,11,17,16,16,12,12,18,17,16,11,11,18,16,16,11,11,17,17,17,13,13,18,16,16,13,13,18,17,17,12,12,18,16,16,13,13,18,17,17,12,12,18,17,17,13,13,18,16,16,14,14,18,16,17,12,12,18,17,17,13,13,17,17,17,12,12,17,17,17,12,12,17,16,15,13,13,18,16,16,11,11,17,16,16,12,12,17,16,17,11,11,18,17,17,13,12,17,16,16,13,13,17,17,17,12,12,17,16,17,12,12,18,17,17,11,11,14,14,14,9,9,16,14,14,13,13,17,15,15,14,14,17,14,14,13,13,16,14,14,13,13,17,15,15,14,14,16,16,16,16,15,18,15,15,14,14,17,16,15,15,15,17,15,15,14,14,17,15,15,14,15,16,16,16,15,16,18,15,15,14,14,17,15,15,14,15,17,15,15,14,14,17,15,15,14,14,16,16,16,15,16,17,14,14,13,13,17,15,15,14,14,18,15,15,13,13,17,15,15,14,14,16,16,16,15,15,17,14,14,13,13,17,15,15,14,14,17,14,14,13,13,13,11,11,11,11,16,14,14,12,12,16,14,14,12,13,17,15,14,11,11,17,14,14,11,11,17,15,15,13,14,17,14,14,14,14,17,15,15,13,13,17,14,14,13,13,17,15,15,13,13,17,15,15,13,13,17,14,14,14,14,17,15,15,13,13,18,14,15,13,13,17,15,15,13,13,16,15,15,13,13,17,14,14,13,13,17,15,15,12,12,16,14,14,12,12,16,15,15,12,12,17,16,15,13,13,17,14,14,13,13,17,15,15,12,12,16,15,15,12,12,16,15,15,12,12,13,15,15,8,8,14,14,14,18,19,14,15,15,19,20,14,14,14,18,18,14,15,15,18,18,15,16,16,19,19,15,16,17,20,20,15,15,15,19,19,15,16,16,18,20,15,15,15,19,19,15,15,16,18,18,15,17,16,19,19,15,15,15,18,21,15,16,16,21,20,15,15,15,19,21,15,16,15,20,19,15,16,17,20,20,15,15,15,19,19,15,16,16,21,20,15,15,15,19,20,15,15,15,19,19,15,16,16,20,19,15,15,15,19,19,15,16,15,20,21,15,15,15,21,19,14,12,12,8,8,14,14,14,20,18,14,13,13,19,19,14,14,14,19,18,15,14,14,19,20,14,15,15,20,20,15,14,14,21,20,15,15,15,20,20,15,15,14,21,19,15,15,15,19,19,15,15,15,19,20,15,14,14,20,20,15,15,15,19,20,15,14,14,19,20,15,15,15,20,20,15,15,15,20,19,15,14,14,20,21,15,15,15,20,21,15,14,14,20,0,15,16,15,20,21,15,15,15,19,20,15,14,14,19,19,15,15,15,19,20,15,15,15,19,19,15,15,15,18,20,13,12,12,13,13,18,16,17,12,12,17,16,16,12,12,17,17,16,11,11,18,16,16,11,11,17,17,18,13,13,18,16,16,14,14,18,17,17,13,13,18,16,16,13,13,18,17,17,12,12,17,17,16,13,13,17,16,16,13,14,18,17,17,12,12,18,16,16,12,13,17,16,17,12,12,17,18,17,13,13,18,16,16,13,13,18,17,17,12,12,17,16,16,12,12,17,17,17,11,11,17,16,17,12,12,17,16,16,13,13,17,16,16,11,11,17,16,16,12,12,18,16,17,11,11,14,14,14,9,9,16,14,15,13,13,17,15,15,14,14,17,14,14,12,12,16,14,14,13,13,18,15,15,15,15,17,15,16,15,16,18,15,15,14,14,17,15,16,15,15,17,15,15,14,14,18,15,15,14,14,16,16,16,16,15,17,15,15,14,14,16,15,15,14,14,17,15,15,14,14,17,15,15,14,14,17,16,16,15,15,17,15,14,13,13,17,15,15,14,14,17,15,15,13,13,17,15,15,14,14,16,16,16,15,15,18,15,14,14,14,17,15,15,14,14,18,15,15,13,13,13,12,12,11,11,16,14,14,12,12,16,14,14,13,13,17,15,15,12,12,17,14,14,12,12,17,15,15,14,14,17,14,14,14,14,17,15,15,13,13,17,15,14,13,13,17,15,15,13,13,17,15,15,13,13,16,14,14,14,14,17,15,15,13,13,16,14,14,13,13,16,15,15,13,13,17,15,16,13,13,17,14,14,14,13,17,15,15,12,12,16,15,14,12,12,17,15,15,12,12,16,15,16,13,13,16,14,14,14,13,17,15,15,12,12,16,14,14,12,12,17,15,15,12,12,14,15,15,8,8,14,14,14,18,18,14,15,15,19,18,14,14,14,18,18,14,15,15,19,20,15,16,15,21,18,15,16,16,18,0,15,15,15,19,20,15,16,16,20,0,15,16,15,19,18,15,15,15,19,19,15,16,16,21,19,15,15,15,19,19,15,16,16,20,20,15,15,15,19,19,15,15,15,19,18,15,16,16,20,20,15,14,15,20,19,15,15,15,19,20,15,15,15,19,19,15,16,15,19,20,15,16,16,19,20,15,15,15,19,19,15,16,15,20,20,15,15,15,20,18,13,12,12,8,8,14,14,14,19,20,14,14,14,19,19,14,15,15,20,20,14,14,14,18,19,15,15,15,20,0,15,14,14,18,20,15,15,15,19,19,15,15,15,21,19,15,15,15,19,20,15,15,15,20,21,15,14,14,20,19,15,15,15,20,19,15,15,14,21,19,15,15,15,19,18,15,15,15,20,19,15,14,14,19,19,15,15,16,20,19,15,15,15,20,0,15,15,15,19,21,15,15,15,22,20,15,14,14,22,19,15,15,15,19,20,15,14,14,20,19,14,15,15,19,21,0,0,0,2,0,0,0,1,0,0,0,3,0,0,0,0,0,0,0,4,0,0,0,0,0,0,0,1,6,6,6,8,8,6,8,8,7,9,9,10,11,11,8,8,8,7,9,9,11,12,12,9,9,9,6,7,7,10,11,11,10,11,11,10,11,11,13,13,13,12,12,12,10,12,11,14,14,14,12,12,12,6,5,5,9,6,6,9,6,6,9,7,7,12,10,10,11,7,6,9,7,7,13,11,11,12,7,7,7,8,8,12,10,10,12,10,10,11,10,10,15,13,13,13,9,9,12,11,11,15,14,14,15,11,11,8,7,7,12,11,11,12,11,11,11,11,11,14,13,14,14,12,12,12,11,11,16,15,15,14,12,12,0,10,10,0,12,12,0,12,12,0,11,11,0,14,14,0,11,11,0,11,11,0,15,15,0,11,11,7,8,8,13,11,11,12,10,10,12,11,11,15,13,13,14,11,11,12,10,10,16,14,14,15,10,10,9,7,7,13,11,12,13,12,11,12,11,11,15,14,14,14,12,12,13,12,12,16,15,15,15,12,12,0,11,11,0,12,12,0,12,13,0,12,12,0,15,15,0,12,12,0,12,12,0,16,15,0,12,12,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,3,3,0,9,9,0,9,9,0,10,10,0,9,9,0,10,10,0,10,10,0,10,10,0,10,10,0,7,7,0,7,7,0,6,6,0,8,8,0,7,7,0,8,8,0,8,8,0,7,7,0,8,8,0,7,7,0,9,9,0,8,9,0,10,10,0,9,9,0,10,10,0,10,11,0,9,9,0,10,10,0,9,9,0,11,11,0,12,12,0,12,12,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,8,8,0,12,12,0,12,12,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,13,13,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,0,11,11,0,12,12,0,13,13,0,12,12,0,13,13,0,13,13,0,12,12,0,12,12,0,9,9,0,12,12,0,13,13,0,14,14,0,13,13,0,14,14,0,14,14,0,13,13,0,14,14,0,7,7,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,5,5,0,7,7,0,8,8,0,9,9,0,12,12,0,8,8,0,9,9,0,13,13,0,8,8,0,6,6,0,11,11,0,12,12,0,12,12,0,14,14,0,11,12,0,12,12,0,15,15,0,12,12,0,5,5,0,5,5,0,6,6,0,7,7,0,10,10,0,6,6,0,7,7,0,11,11,0,6,6,0,7,7,0,11,11,0,12,11,0,11,11,0,14,14,0,10,10,0,12,12,0,15,15,0,12,12,0,6,6,0,12,12,0,12,12,0,12,12,0,14,14,0,11,11,0,12,12,0,16,16,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,0,12,12,0,12,12,0,12,12,0,15,15,0,12,12,0,11,11,0,16,16,0,11,11,0,6,6,0,12,12,0,12,12,0,13,13,0,15,15,0,12,12,0,13,13,0,15,15,0,12,12,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,1,2,2,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,0,0,0,0,0,0,0,2,0,0,0,0,0,0,0,4,3,7,9,12,16,16,3,2,5,7,11,14,15,7,4,5,6,9,12,15,8,5,5,5,8,10,14,9,7,6,6,8,10,12,12,10,10,7,6,8,10,15,12,10,6,4,7,9,0,0,0,0,0,0,0,0,0,0,0,0,249,213,64,0,0,0,0,0,64,223,64,0,0,0,0,0,136,227,64,0,0,0,0,0,112,231,64,0,0,0,0,0,88,235,64,0,0,0,0,0,64,239,64,0,0,0,0,0,136,243,64,0,0,0,0,0,112,247,64,0,0,0,0,0,88,251,64,0,0,0,0,0,64,255,64,0,0,0,0,0,136,3,65,0,0,0,0,136,132,14,65,176,240,7,0,48,241,7,0,48,242,7,0,48,244,7,0,48,248,7,0,48,0,8,0,48,16,8,0,48,48,8,0,24,0,120,58,76,70,11,60,242,204,192,60,116,252,59,61,86,73,154,61,241,93,228,61,248,163,29,62,180,231,78,62,54,157,130,62,78,220,159,62,193,174,190,62,65,132,222,62,173,194,254,62,186,101,15,63,248,0,31,63,29,233,45,63,249,219,59,63,45,162,72,63,160,17,84,63,38,15,94,63,46,143,102,63,112,149,109,63,174,51,115,63,159,135,119,63,66,184,122,63,196,242,124,63,75,103,126,63,196,69,127,63,241,186,127,63,217,237,127,63,162,253,127,63,248,255,127,63,168,9,120,57,17,119,11,59,135,139,193,59,74,113,61,60,148,82,156,60,94,8,233,60,42,83,34,61,74,118,87,61,138,227,137,61,7,140,171,61,34,154,208,61,108,239,248,61,164,52,18,62,100,112,41,62,65,21,66,62,67,11,92,62,47,56,119,62,197,191,137,62,92,97,152,62,135,112,167,62,4,220,182,62,188,145,198,62,231,126,214,62,48,144,230,62,227,177,246,62,13,104,3,63,121,107,11,63,98,89,19,63,42,40,27,63,137,206,34,63,166,67,42,63,49,127,49,63,126,121,56,63,153,43,63,63,92,143,69,63,127,159,75,63,165,87,81,63,104,180,86,63,89,179,91,63,8,83,96,63,252,146,100,63,177,115,104,63,138,246,107,63,198,29,111,63,109,236,113,63,62,102,116,63,154,143,118,63,104,109,120,63,3,5,122,63,26,92,123,63,153,120,124,63,143,96,125,63],"i8",O3,_.GLOBAL_BASE+510456),C3([17,26,126,63,39,171,126,63,176,25,127,63,74,107,127,63,68,165,127,63,132,204,127,63,123,229,127,63,17,244,127,63,158,251,127,63,219,254,127,63,218,255,127,63,0,0,128,63,5,12,120,56,50,131,11,58,118,186,193,58,226,203,61,59,38,207,156,59,139,32,234,59,245,102,35,60,63,100,89,60,184,127,139,60,59,23,174,60,239,114,212,60,96,140,254,60,45,46,22,61,114,237,46,61,155,127,73,61,220,223,101,61,123,4,130,61,159,250,145,61,71,207,162,61,38,127,180,61,173,6,199,61,16,98,218,61,63,141,238,61,244,193,1,62,185,160,12,62,128,224,23,62,182,126,35,62,166,120,47,62,116,203,59,62,34,116,72,62,141,111,85,62,107,186,98,62,83,81,112,62,180,48,126,62,110,42,134,62,252,92,141,62,9,174,148,62,138,27,156,62,100,163,163,62,112,67,171,62,119,249,178,62,54,195,186,62,93,158,194,62,147,136,202,62,118,127,210,62,154,128,218,62,142,137,226,62,217,151,234,62,2,169,242,62,139,186,250,62,251,100,1,63,99,106,5,63,65,108,9,63,89,105,13,63,116,96,17,63,94,80,21,63,231,55,25,63,231,21,29,63,58,233,32,63,197,176,36,63,116,107,40,63,62,24,44,63,35,182,47,63,43,68,51,63,109,193,54,63,10,45,58,63,48,134,61,63,26,204,64,63,17,254,67,63,107,27,71,63,142,35,74,63,238,21,77,63,15,242,79,63,132,183,82,63,239,101,85,63,3,253,87,63,129,124,90,63,60,228,92,63,21,52,95,63,254,107,97,63,246,139,99,63,14,148,101,63,98,132,103,63,33,93,105,63,133,30,107,63,213,200,108,63,103,92,110,63,155,217,111,63,224,64,113,63,172,146,114,63,131,207,115,63,241,247,116,63,139,12,118,63,239,13,119,63,193,252,119,63,172,217,120,63,99,165,121,63,155,96,122,63,15,12,123,63,124,168,123,63,163,54,124,63,71,183,124,63,41,43,125,63,13,147,125,63,183,239,125,63,229,65,126,63,89,138,126,63,205,201,126,63,251,0,127,63,150,48,127,63,78,89,127,63,205,123,127,63,182,152,127,63,167,176,127,63,53,196,127,63,239,211,127,63,91,224,127,63,245,233,127,63,51,241,127,63,127,246,127,63,59,250,127,63,190,252,127,63,84,254,127,63,64,255,127,63,186,255,127,63,238,255,127,63,254,255,127,63,0,0,128,63,169,12,120,55,54,134,11,57,38,198,193,57,94,226,61,58,234,237,156,58,85,101,234,58,56,170,35,59,207,219,89,59,169,226,139,59,42,178,174,59,13,91,213,59,204,219,255,59,91,25,23,60,250,46,48,60,194,45,75,60,156,20,104,60,46,113,131,60,225,202,147,60,185,22,165,60,1,84,183,60,245,129,202,60,198,159,222,60,155,172,243,60,199,211,4,61,213,71,16,61,250,49,28,61,174,145,40,61,101,102,53,61,141,175,66,61,140,108,80,61,193,156,94,61,133,63,109,61,41,84,124,61,252,236,133,61,26,232,141,61,13,27,150,61,110,133,158,61,212,38,167,61,210,254,175,61,245,12,185,61,200,80,194,61,209,201,203,61,146,119,213,61,139,89,223,61,51,111,233,61,2,184,243,61,105,51,254,61,106,112,4,62,214,223,9,62,171,103,15,62,153,7,21,62,77,191,26,62,116,142,32,62,181,116,38,62,184,113,44,62,34,133,50,62,149,174,56,62,178,237,62,62,21,66,69,62,92,171,75,62,30,41,82,62,243,186,88,62,112,96,95,62,40,25,102,62,170,228,108,62,132,194,115,62,68,178,122,62,185,217,128,62,203,98,132,62,26,244,135,62,105,141,139,62,120,46,143,62,6,215,146,62,211,134,150,62,156,61,154,62,29,251,157,62,19,191,161,62,57,137,165,62,71,89,169,62,249,46,173,62,5,10,177,62,36,234,180,62,13,207,184,62,117,184,188,62,18,166,192,62,153,151,196,62,190,140,200,62,52,133,204,62,175,128,208,62,225,126,212,62,125,127,216,62,52,130,220,62,184,134,224,62,185,140,228,62,233,147,232,62,248,155,236,62,150,164,240,62,117,173,244,62,67,182,248,62,178,190,252,62,57,99,0,63,153,102,2,63,82,105,4,63,60,107,6,63,48,108,8,63,6,108,10,63,151,106,12,63,188,103,14,63,78,99,16,63,39,93,18,63,33,85,20,63,21,75,22,63,222,62,24,63,87,48,26,63,92,31,28,63,199,11,30,63,117,245,31,63,66,220,33,63,12,192,35,63,176,160,37,63,12,126,39,63,254,87,41,63,104,46,43,63,39,1,45,63,29,208,46,63,43,155,48,63,51,98,50,63,23,37,52,63,188,227,53,63,4,158,55,63,214,83,57,63,23,5,59,63,173,177,60,63,128,89,62,63,120,252,63,63,126,154,65,63,124,51,67,63,93,199,68,63,12,86,70,63,119,223,71,63,138,99,73,63,54,226,74,63,104,91,76,63,17,207,77,63,35,61,79,63,145,165,80,63,76,8,82,63,75,101,83,63,130,188,84,63,231,13,86,63,114,89,87,63,26,159,88,63,218,222,89,63,172,24,91,63,138,76,92,63,113,122,93,63,93,162,94,63,78,196,95,63,67,224,96,63,58,246,97,63,54,6,99,63,56,16,100,63,67,20,101,63,92,18,102,63,133,10,103,63,198,252,103,63,37,233,104,63,168,207,105,63,89,176,106,63,64,139,107,63,102,96,108,63,216,47,109,63,159,249,109,63,201,189,110,63,97,124,111,63,118,53,112,63,23,233,112,63,81,151,113,63,53,64,114,63,212,227,114,63,61,130,115,63,131,27,116,63,184,175,116,63,238,62,117,63,56,201,117,63,171,78,118,63,90,207,118,63,90,75,119,63,192,194,119,63,162,53,120,63,21,164,120,63,48,14,121,63,8,116,121,63,182,213,121,63,79,51,122,63,235,140,122,63,162,226,122,63,139,52,123,63,191,130,123,63,85,205,123,63,102,20,124,63,9,88,124,63,88,152,124,63,106,213,124,63,88,15,125,63,58,70,125,63,41,122,125,63,62,171,125,63,143,217,125,63,54,5,126,63,75,46,126,63,228,84,126,63,27,121,126,63,7,155,126,63,190,186,126,63,88,216,126,63,236,243,126,63,144,13,127,63,91,37,127,63,99,59,127,63,188,79,127,63,125,98,127,63,185,115,127,63,135,131,127,63,249,145,127,63,36,159,127,63,26,171,127,63,238,181,127,63,179,191,127,63,122,200,127,63,85,208,127,63,84,215,127,63,136,221,127,63,0,227,127,63,204,231,127,63,249,235,127,63,150,239,127,63,177,242,127,63,85,245,127,63,144,247,127,63,109,249,127,63,246,250,127,63,54,252,127,63,55,253,127,63,1,254,127,63,156,254,127,63,18,255,127,63,103,255,127,63,163,255,127,63,204,255,127,63,229,255,127,63,244,255,127,63,252,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,60,12,120,54,253,134,11,56,19,201,193,56,248,231,61,57,148,245,156,57,115,118,234,57,238,186,35,58,113,249,89,58,32,251,139,58,96,216,174,58,34,148,213,58,3,23,0,59,209,82,23,59,65,125,48,59,21,150,75,59,8,157,104,59,233,200,131,59,20,58,148,59,218,161,165,59,16,0,184,59,136,84,203,59,16,159,223,59,118,223,244,59,194,138,5,60,128,32,17,60,217,48,29,60,172,187,41,60,219,192,54,60,67,64,68,60,194,57,82,60,52,173,96,60,115,154,111,60,88,1,127,60,222,112,135,60,186,157,143,60,42,7,152,60,25,173,160,60,112,143,169,60,23,174,178,60,246,8,188,60,243,159,197,60,245,114,207,60,225,129,217,60,156,204,227,60,10,83,238,60,14,21,249,60,70,9,2,61,177,165,7,61,187,95,13,61,81,55,19,61,102,44,25,61,230,62,31,61,195,110,37,61,233,187,43,61,71,38,50,61,202,173,56,61,97,82,63,61,247,19,70,61,121,242,76,61,210,237,83,61,240,5,91,61,187,58,98,61,32,140,105,61,8,250,112,61,93,132,120,61,132,21,128,61,249,246,131,61,130,230,135,61,19,228,139,61,159,239,143,61,26,9,148,61,119,48,152,61,169,101,156,61,163,168,160,61,88,249,164,61,186,87,169,61,186,195,173,61,76,61,178,61,95,196,182,61,230,88,187,61,209,250,191,61,18,170,196,61,152,102,201,61,85,48,206,61,56,7,211,61,48,235,215,61,47,220,220,61,34,218,225,61,248,228,230,61,161,252,235,61,11,33,241,61,35,82,246,61,217,143,251,61,13,109,0,62,105,24,3,62,247,201,5,62,174,129,8,62,133,63,11,62,113,3,14,62,104,205,16,62,96,157,19,62,79,115,22,62,42,79,25,62,232,48,28,62,124,24,31,62,221,5,34,62,255,248,36,62,215,241,39,62,90,240,42,62,125,244,45,62,51,254,48,62,114,13,52,62,45,34,55,62,88,60,58,62,232,91,61,62,208,128,64,62,3,171,67,62,118,218,70,62,26,15,74,62,229,72,77,62,199,135,80,62,181,203,83,62,162,20,87,62,127,98,90,62,63,181,93,62,213,12,97,62,50,105,100,62,73,202,103,62,12,48,107,62,108,154,110,62,92,9,114,62,203,124,117,62,173,244,120,62,241,112,124,62,138,241,127,62,52,187,129,62,190,127,131,62,91,70,133,62,4,15,135,62,176,217,136,62,89,166,138,62,245,116,140,62,126,69,142,62,234,23,144,62,50,236,145,62,78,194,147,62,54,154,149,62,224,115,151,62,70,79,153,62,93,44,155,62,31,11,157,62,130,235,158,62,127,205,160,62,11,177,162,62,31,150,164,62,177,124,166,62,186,100,168,62,47,78,170,62,9,57,172,62,62,37,174,62,198,18,176,62,150,1,178,62,167,241,179,62,238,226,181,62,100,213,183,62,254,200,185,62,179,189,187,62,122,179,189,62,74,170,191,62,25,162,193,62,221,154,195,62,142,148,197,62,34,143,199,62,142,138,201,62,203,134,203,62,205,131,205,62,140,129,207,62,253,127,209,62,24,127,211,62,210,126,213,62,33,127,215,62,252,127,217,62,88,129,219,62,45,131,221,62,112,133,223,62,23,136,225,62,25,139,227,62,108,142,229,62,5,146,231,62,219,149,233,62,228,153,235,62,21,158,237,62,102,162,239,62,203,166,241,62,59,171,243,62,173,175,245,62,21,180,247,62,107,184,249,62,164,188,251,62,181,192,253,62,150,196,255,62,30,228,0,63,207,229,1,63,88,231,2,63,182,232,3,63,226,233,4,63,215,234,5,63,146,235,6,63,12,236,7,63,66,236,8,63,45,236,9,63,202,235,10,63,19,235,11,63,4,234,12,63,151,232,13,63,200,230,14,63,145,228,15,63,239,225,16,63,220,222,17,63,84,219,18,63,81,215,19,63,208,210,20,63,202,205,21,63,61,200,22,63,34,194,23,63,117,187,24,63,50,180,25,63,85,172,26,63,215,163,27,63,182,154,28,63,236,144,29,63,117,134,30,63,77,123,31,63,110,111,32,63,214,98,33,63,126,85,34,63,100,71,35,63,130,56,36,63,212,40,37,63,87,24,38,63,5,7,39,63,219,244,39,63,213,225,40,63,239,205,41,63,36,185,42,63,113,163,43,63,209,140,44,63,64,117,45,63,188,92,46,63,63,67,47,63,199,40,48,63,78,13,49,63,211,240,49,63,80,211,50,63,195,180,51,63,39,149,52,63,122,116,53,63,184,82,54,63,220,47,55,63,229,11,56,63,206,230,56,63,149,192,57,63,54,153,58,63,174,112,59,63,249,70,60,63,21,28,61,63,255,239,61,63,179,194,62,63,48,148,63,63,113,100,64,63,116,51,65,63,55,1,66,63,182,205,66,63,239,152,67,63,224,98,68,63,134,43,69,63,222,242,69,63,230,184,70,63,156,125,71,63,253,64,72,63,7,3,73,63,184,195,73,63,14,131,74,63,6,65,75,63,159,253,75,63,215,184,76,63,172,114,77,63,28,43,78,63,38,226,78,63,199,151,79,63,253,75,80,63,201,254,80,63,39,176,81,63,22,96,82,63,150,14,83,63,164,187,83,63,63,103,84,63,103,17,85,63,26,186,85,63,86,97,86,63,28,7,87,63,105,171,87,63,62,78,88,63,152,239,88,63,120,143,89,63,221,45,90,63,198,202,90,63,50,102,91,63,33,0,92,63,147,152,92,63,134,47,93,63,251,196,93,63,242,88,94,63,105,235,94,63,98,124,95,63,219,11,96,63,213,153,96,63,80,38,97,63,76,177,97,63,201,58,98,63,199,194,98,63,70,73,99,63,71,206,99,63,202,81,100,63,208,211,100,63,88,84,101,63,100,211,101,63,244,80,102,63,9,205,102,63,163,71,103,63,195,192,103,63,107,56,104,63,154,174,104,63,82,35,105,63,147,150,105,63,96,8,106,63,184,120,106,63,157,231,106,63,16,85,107,63,19,193,107,63,166,43,108,63,203,148,108,63,132,252,108,63,209,98,109,63,180,199,109,63,48,43,110,63,68,141,110,63,244,237,110,63,64,77,111,63,42,171,111,63,181,7,112,63,225,98,112,63,177,188,112,63,38,21,113,63,67,108,113,63,10,194,113,63,123,22,114,63,155,105,114,63,106,187,114,63,234,11,115,63,31,91,115,63,9,169,115,63,172,245,115,63,9,65,116,63,35,139,116,63,252,211,116,63,151,27,117,63,245,97,117,63,26,167,117,63,8,235,117,63,193,45,118,63,72,111,118,63,159,175,118,63,202,238,118,63,201,44,119,63,161,105,119,63,84,165,119,63,228,223,119,63,85,25,120,63,168,81,120,63,226,136,120,63,3,191,120,63,16,244,120,63,11,40,121,63,247,90,121,63,215,140,121,63,173,189,121,63,125,237,121,63,73,28,122,63,20,74,122,63,226,118,122,63,181,162,122,63,144,205,122,63,118,247,122,63,107,32,123,63,112,72,123,63,138,111,123,63,186,149,123,63,5,187,123,63,109,223,123,63,245,2,124,63,160,37,124,63,113,71,124,63,108,104,124,63,147,136,124,63,233,167,124,63,114,198,124,63,48,228,124,63,38,1,125,63,89,29,125,63,201,56,125,63,124,83,125,63,115,109,125,63,178,134,125,63,60,159,125,63,19,183,125,63,60,206,125,63,184,228,125,63,139,250,125,63,184,15,126,63,66,36,126,63,44,56,126,63,120,75,126,63,43,94,126,63,70,112,126,63,204,129,126,63,194,146,126,63,41,163,126,63,4,179,126,63,86,194,126,63,35,209,126,63,109,223,126,63,55,237,126,63,131,250,126,63,85,7,127,63,175,19,127,63,148,31,127,63,7,43,127,63,10,54,127,63,160,64,127,63,205,74,127,63,146,84,127,63,242,93,127,63,239,102,127,63,141,111,127,63,206,119,127,63,181,127,127,63,67,135,127,63,124,142,127,63,98,149,127,63,247,155,127,63,61,162,127,63,56,168,127,63,233,173,127,63,83,179,127,63,120,184,127,63,90,189,127,63,252,193,127,63,95,198,127,63,134,202,127,63,116,206,127,63,41,210,127,63,168,213,127,63,244,216,127,63,13,220,127,63,247,222,127,63,179,225,127,63,67,228,127,63,168,230,127,63,229,232,127,63,252,234,127,63,237,236,127,63,188,238,127,63,105,240,127,63,246,241,127,63,101,243,127,63,183,244,127,63,238,245,127,63,11,247,127,63,16,248,127,63,254,248,127,63,214,249,127,63,155,250,127,63,76,251,127,63,236,251,127,63,124,252,127,63,252,252,127,63,110,253,127,63,211,253,127,63,44,254,127,63,121,254,127,63,189,254,127,63,247,254,127,63,42,255,127,63,84,255,127,63,120,255,127,63,150,255,127,63,175,255,127,63,195,255,127,63,211,255,127,63,224,255,127,63,234,255,127,63,241,255,127,63,246,255,127,63,250,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,171,15,120,53,24,135,11,55,225,201,193,55,107,233,61,56,128,247,156,56,187,122,234,56,24,191,35,57,213,0,90,57,56,1,140,57,229,225,174,57,88,162,213,57,60,33,0,58,24,97,23,58,175,144,48,58,243,175,75,58,212,190,104,58,159,222,131,58,143,85,148,58,48,196,165,58,119,42,184,58,90,136,203,58,204,221,223,58,191,42,245,58,148,183,5,59,124,85,17,59,16,111,29,59,73,4,42,59,31,21,55,59,138,161,68,59,129,169,82,59,252,44,97,59,241,43,112,59,88,166,127,59,19,206,135,59,169,6,144,59,233,124,152,59,204,48,161,59,79,34,170,59,106,81,179,59,26,190,188,59,86,104,198,59,26,80,208,59,95,117,218,59,31,216,228,59,83,120,239,59,244,85,250,59,126,184,2,60,177,100,8,60,145,47,14,60,25,25,20,60,70,33,26,60,19,72,32,60,126,141,38,60,129,241,44,60,25,116,51,60,65,21,58,60,246,212,64,60,50,179,71,60,243,175,78,60,50,203,85,60,235,4,93,60,26,93,100,60,186,211,107,60,198,104,115,60,58,28,123,60,7,119,129,60,33,111,133,60,102,118,137,60,212,140,141,60,105,178,145,60,33,231,149,60,251,42,154,60,243,125,158,60,6,224,162,60,50,81,167,60,115,209,171,60,199,96,176,60,43,255,180,60,154,172,185,60,19,105,190,60,146,52,195,60,20,15,200,60,149,248,204,60,19,241,209,60,137,248,214,60,245,14,220,60,83,52,225,60,160,104,230,60,215,171,235,60,246,253,240,60,249,94,246,60,220,206,251,60,205,166,0,61,153,109,3,61,207,59,6,61,109,17,9,61,114,238,11,61,220,210,14,61,167,190,17,61,211,177,20,61,94,172,23,61,68,174,26,61,133,183,29,61,30,200,32,61,12,224,35,61,78,255,38,61,225,37,42,61,196,83,45,61,243,136,48,61,109,197,51,61,47,9,55,61,55,84,58,61,130,166,61,61,15,0,65,61,218,96,68,61,226,200,71,61,35,56,75,61,156,174,78,61,73,44,82,61,40,177,85,61,55,61,89,61,115,208,92,61,217,106,96,61,103,12,100,61,25,181,103,61,238,100,107,61,227,27,111,61,244,217,114,61,30,159,118,61,96,107,122,61,182,62,126,61,143,12,129,61,73,253,130,61,138,241,132,61,79,233,134,61,150,228,136,61,94,227,138,61,167,229,140,61,109,235,142,61,175,244,144,61,109,1,147,61,164,17,149,61,83,37,151,61,120,60,153,61,17,87,155,61,30,117,157,61,155,150,159,61,136,187,161,61,226,227,163,61,169,15,166,61,218,62,168,61,116,113,170,61,116,167,172,61,218,224,174,61,162,29,177,61,205,93,179,61,87,161,181,61,62,232,183,61,130,50,186,61,32,128,188,61,22,209,190,61,98,37,193,61,2,125,195,61,245,215,197,61,57,54,200,61,203,151,202,61,169,252,204,61,211,100,207,61,68,208,209,61,252,62,212,61,249,176,214,61,56,38,217,61,184,158,219,61,117,26,222,61,111,153,224,61,163,27,227,61,14,161,229,61,175,41,232,61,132,181,234,61,138,68,237,61,191,214,239,61,33,108,242,61,174,4,245,61,99,160,247,61,62,63,250,61,61,225,252,61,93,134,255,61,78,23,1,62,252,108,2,62,56,196,3,62,255,28,5,62,81,119,6,62,45,211,7,62,145,48,9,62,125,143,10,62,238,239,11,62,228,81,13,62,94,181,14,62,89,26,16,62,214,128,17,62,210,232,18,62,77,82,20,62,69,189,21,62,184,41,23,62,166,151,24,62,13,7,26,62,236,119,27,62,65,234,28,62,11,94,30,62,73,211,31,62,250,73,33,62,28,194,34,62,173,59,36,62,172,182,37,62,24,51,39,62,240,176,40,62,50,48,42,62,220,176,43,62,238,50,45,62,101,182,46,62,64,59,48,62,126,193,49,62,30,73,51,62,29,210,52,62,123,92,54,62,54,232,55,62,76,117,57,62,187,3,59,62,131,147,60,62,162,36,62,62,22,183,63,62,222,74,65,62,248,223,66,62,98,118,68,62,28,14,70,62,35,167,71,62,117,65,73,62,18,221,74,62,247,121,76,62,35,24,78,62,149,183,79,62,74,88,81,62,66,250,82,62,121,157,84,62,240,65,86,62,163,231,87,62,146,142,89,62,186,54,91,62,26,224,92,62,177,138,94,62,124,54,96,62,122,227,97,62,169,145,99,62,7,65,101,62,147,241,102,62,75,163,104,62,44,86,106,62,54,10,108,62,102,191,109,62,187,117,111,62,51,45,113,62,204,229,114,62,132,159,116,62,90,90,118,62,75,22,120,62,85,211,121,62,120,145,123,62,176,80,125,62,253,16,127,62,46,105,128,62,101,74,129,62,36,44,130,62,105,14,131,62,52,241,131,62,130,212,132,62,84,184,133,62,169,156,134,62,127,129,135,62,213,102,136,62,171,76,137,62,255,50,138,62,209,25,139,62,32,1,140,62,233,232,140,62,46,209,141,62,236,185,142,62,34,163,143,62,208,140,144,62,244,118,145,62,142,97,146,62,156,76,147,62,29,56,148,62,17,36,149,62,118,16,150,62,76,253,150,62,144,234,151,62,67,216,152,62,99,198,153,62,239,180,154,62,230,163,155,62,71,147,156,62,17,131,157,62,67,115,158,62,219,99,159,62,218,84,160,62,60,70,161,62,3,56,162,62,43,42,163,62,181,28,164,62,160,15,165,62,233,2,166,62,145,246,166,62,149,234,167,62,245,222,168,62,176,211,169,62,197,200,170,62,50,190,171,62,246,179,172,62,17,170,173,62,129,160,174,62,69,151,175,62,91,142,176,62,196,133,177,62,125,125,178,62,133,117,179,62,220,109,180,62,128,102,181,62,112,95,182,62,171,88,183,62,47,82,184,62,252,75,185,62,17,70,186,62,108,64,187,62,11,59,188,62,239,53,189,62,22,49,190,62,126,44,191,62,38,40,192,62,13,36,193,62,51,32,194,62,150,28,195,62,52,25,196,62,12,22,197,62,30,19,198,62,104,16,199,62,233,13,200,62,159,11,201,62,138,9,202,62,169,7,203,62,249,5,204,62,123,4,205,62,44,3,206,62,11,2,207,62,24,1,208,62,81,0,209,62,181,255,209,62,66,255,210,62,248,254,211,62,213,254,212,62,216,254,213,62,255,254,214,62,75,255,215,62,184,255,216,62,71,0,218,62,245,0,219,62,195,1,220,62,173,2,221,62,180,3,222,62,214,4,223,62,17,6,224,62,101,7,225,62,208,8,226,62,81,10,227,62,231,11,228,62,144,13,229,62,76,15,230,62,25,17,231,62,245,18,232,62,224,20,233,62,217,22,234,62,221,24,235,62,236,26,236,62,5,29,237,62,39,31,238,62,79,33,239,62,125,35,240,62,176,37,241,62,230,39,242,62,31,42,243,62,88,44,244,62,145,46,245,62,200,48,246,62,253,50,247,62,45,53,248,62,88,55,249,62,124,57,250,62,153,59,251,62,172,61,252,62,181,63,253,62,179,65,254,62,163,67,255,62,195,34,0,63,173,163,0,63,142,36,1,63,102,165,1,63,53,38,2,63,250,166,2,63,180,39,3,63,99,168,3,63,5,41,4,63,155,169,4,63,36,42,5,63,159,170,5,63,12,43,6,63,105,171,6,63,183,43,7,63,244,171,7,63,32,44,8,63,59,172,8,63,68,44,9,63,58,172,9,63,28,44,10,63,235,171,10,63,164,43,11,63,73,171,11,63,216,42,12,63,80,170,12,63,177,41,13,63,251,168,13,63,44,40,14,63,69,167,14,63,68,38,15,63,41,165,15,63,243,35,16,63,162,162,16,63,53,33,17,63,172,159,17,63,5,30,18,63,65,156,18,63,95,26,19,63,94,152,19,63,61,22,20,63,252,147,20,63,155,17,21,63,24,143,21,63,116,12,22,63,173,137,22,63,195,6,23,63,182,131,23,63,133,0,24,63,46,125,24,63,179,249,24,63,18,118,25,63,74,242,25,63,91,110,26,63,69,234,26,63,6,102,27,63,159,225,27,63,14,93,28,63,84,216,28,63,111,83,29,63,95,206,29,63,36,73,30,63,188,195,30,63,40,62,31,63,102,184,31,63,119,50,32,63,90,172,32,63,14,38,33,63,146,159,33,63,230,24,34,63,10,146,34,63,253,10,35,63,190,131,35,63,77,252,35,63,169,116,36,63,211,236,36,63,200,100,37,63,138,220,37,63,22,84,38,63,110,203,38,63,143,66,39,63,122,185,39,63,47,48,40,63,172,166,40,63,241,28,41,63,254,146,41,63,210,8,42,63,108,126,42,63,205,243,42,63,243,104,43,63,223,221,43,63,143,82,44,63,3,199,44,63,59,59,45,63,54,175,45,63,244,34,46,63,116,150,46,63,182,9,47,63,185,124,47,63,125,239,47,63,1,98,48,63,69,212,48,63,72,70,49,63,10,184,49,63,139,41,50,63,202,154,50,63,198,11,51,63,127,124,51,63,246,236,51,63,40,93,52,63,22,205,52,63,191,60,53,63,36,172,53,63,66,27,54,63,27,138,54,63,174,248,54,63,249,102,55,63,254,212,55,63,187,66,56,63,47,176,56,63,91,29,57,63,63,138,57,63,217,246,57,63,41,99,58,63,48,207,58,63,236,58,59,63,93,166,59,63,130,17,60,63,93,124,60,63,235,230,60,63,44,81,61,63,33,187,61,63,201,36,62,63,35,142,62,63,48,247,62,63,238,95,63,63,94,200,63,63,126,48,64,63,80,152,64,63,209,255,64,63,3,103,65,63,228,205,65,63,117,52,66,63,181,154,66,63,163,0,67,63,64,102,67,63,139,203,67,63,131,48,68,63,41,149,68,63,124,249,68,63,123,93,69,63,39,193,69,63,127,36,70,63,132,135,70,63,51,234,70,63,142,76,71,63,148,174,71,63,68,16,72,63,159,113,72,63,164,210,72,63,83,51,73,63,172,147,73,63,174,243,73,63,89,83,74,63,173,178,74,63,169,17,75,63,77,112,75,63,154,206,75,63,143,44,76,63,43,138,76,63,110,231,76,63,89,68,77,63,234,160,77,63,34,253,77,63,0,89,78,63,133,180,78,63,176,15,79,63,128,106,79,63,246,196,79,63,18,31,80,63,210,120,80,63,56,210,80,63,66,43,81,63,242,131,81,63,69,220,81,63,61,52,82,63,217,139,82,63,24,227,82,63,252,57,83,63,131,144,83,63,174,230,83,63,123,60,84,63,236,145,84,63,0,231,84,63,183,59,85,63,16,144,85,63,12,228,85,63,170,55,86,63,235,138,86,63,206,221,86,63,83,48,87,63,121,130,87,63,66,212,87,63,172,37,88,63,184,118,88,63,101,199,88,63,180,23,89,63,164,103,89,63,53,183,89,63,104,6,90,63,59,85,90,63,175,163,90,63,197,241,90,63,123,63,91,63,210,140,91,63,201,217,91,63,97,38,92,63,154,114,92,63,115,190,92,63,237,9,93,63,7,85,93,63,194,159,93,63,29,234,93,63,24,52,94,63,179,125,94,63,239,198,94,63,203,15,95,63,72,88,95,63,100,160,95,63,33,232,95,63,126,47,96,63,123,118,96,63,24,189,96,63,85,3,97,63,51,73,97,63,177,142,97,63,207,211,97,63,141,24,98,63,236,92,98,63,235,160,98,63,138,228,98,63,202,39,99,63,170,106,99,63,42,173,99,63,75,239,99,63,13,49,100,63,111,114,100,63,114,179,100,63,21,244,100,63,90,52,101,63,63,116,101,63,197,179,101,63,236,242,101,63,180,49,102,63,29,112,102,63,39,174,102,63,211,235,102,63,32,41,103,63,15,102,103,63,159,162,103,63,209,222,103,63,164,26,104,63,26,86,104,63,49,145,104,63,235,203,104,63,71,6,105,63,69,64,105,63,230,121,105,63,42,179,105,63,16,236,105,63,153,36,106,63,197,92,106,63,148,148,106,63,7,204,106,63,29,3,107,63,214,57,107,63,52,112,107,63,53,166,107,63,218,219,107,63,36,17,108,63,18,70,108,63,164,122,108,63,220,174,108,63,184,226,108,63,57,22,109,63,96,73,109,63,44,124,109,63,157,174,109,63,181,224,109,63,115,18,110,63,214,67,110,63,225,116,110,63,146,165,110,63,233,213,110,63,232,5,111,63,142,53,111,63,219,100,111,63,209,147,111,63,110,194,111,63,179,240,111,63,160,30,112,63,54,76,112,63,117,121,112,63,93,166,112,63,239,210,112,63,41,255,112,63,14,43,113,63,156,86,113,63,213,129,113,63,184,172,113,63,70,215,113,63,127,1,114,63,99,43,114,63,243,84,114,63,46,126,114,63,21,167,114,63,169,207,114,63,233,247,114,63,214,31,115,63,113,71,115,63,184,110,115,63,173,149,115,63,80,188,115,63,162,226,115,63,161,8,116,63,80,46,116,63,174,83,116,63,187,120,116,63,119,157,116,63,228,193,116,63,1,230,116,63,206,9,117,63,76,45,117,63,123,80,117,63,92,115,117,63,238,149,117,63,51,184,117,63,42,218,117,63,211,251,117,63,48,29,118,63,64,62,118,63,3,95,118,63,122,127,118,63,166,159,118,63,134,191,118,63,27,223,118,63,101,254,118,63,101,29,119,63,27,60,119,63,135,90,119,63,169,120,119,63,131,150,119,63,19,180,119,63,91,209,119,63,91,238,119,63,20,11,120,63,132,39,120,63,174,67,120,63,145,95,120,63,46,123,120,63,132,150,120,63,149,177,120,63,96,204,120,63,231,230,120,63,41,1,121,63,38,27,121,63,223,52,121,63,85,78,121,63,136,103,121,63,120,128,121,63,37,153,121,63,144,177,121,63,185,201,121,63,161,225,121,63,72,249,121,63,174,16,122,63,212,39,122,63,185,62,122,63,96,85,122,63,198,107,122,63,238,129,122,63,216,151,122,63,131,173,122,63,241,194,122,63,33,216,122,63,20,237,122,63,202,1,123,63,68,22,123,63,130,42,123,63,133,62,123,63,77,82,123,63,217,101,123,63,43,121,123,63,68,140,123,63,34,159,123,63,200,177,123,63,52,196,123,63,104,214,123,63,99,232,123,63,39,250,123,63,180,11,124,63,9,29,124,63,40,46,124,63,17,63,124,63,196,79,124,63,65,96,124,63,137,112,124,63,156,128,124,63,124,144,124,63,39,160,124,63,158,175,124,63,226,190,124,63,244,205,124,63,211,220,124,63,128,235,124,63,251,249,124,63,69,8,125,63,94,22,125,63,71,36,125,63,255,49,125,63,136,63,125,63,225,76,125,63,11,90,125,63,7,103,125,63,212,115,125,63,115,128,125,63,229,140,125,63,42,153,125,63,66,165,125,63,46,177,125,63,238,188,125,63,130,200,125,63,235,211,125,63,41,223,125,63,61,234,125,63,38,245,125,63,230,255,125,63,124,10,126,63,234,20,126,63,47,31,126,63,75,41,126,63,64,51,126,63,13,61,126,63,180,70,126,63,51,80,126,63,140,89,126,63,191,98,126,63,205,107,126,63,181,116,126,63,120,125,126,63,23,134,126,63,146,142,126,63,233,150,126,63,28,159,126,63,44,167,126,63,26,175,126,63,229,182,126,63,142,190,126,63,22,198,126,63,124,205,126,63,194,212,126,63,231,219,126,63,235,226,126,63,208,233,126,63,149,240,126,63,59,247,126,63,195,253,126,63,44,4,127,63,118,10,127,63,163,16,127,63,179,22,127,63,165,28,127,63,123,34,127,63,52,40,127,63,210,45,127,63,83,51,127,63,186,56,127,63,5,62,127,63,53,67,127,63,75,72,127,63,72,77,127,63,42,82,127,63,243,86,127,63,163,91,127,63,58,96,127,63,185,100,127,63,32,105,127,63,111,109,127,63,166,113,127,63,199,117,127,63,208,121,127,63,196,125,127,63,161,129,127,63,104,133,127,63,25,137,127,63,182,140,127,63,61,144,127,63,176,147,127,63,14,151,127,63,89,154,127,63,143,157,127,63,179,160,127,63,195,163,127,63,192,166,127,63,171,169,127,63,132,172,127,63,74,175,127,63,255,177,127,63,163,180,127,63,53,183,127,63,183,185,127,63,40,188,127,63,137,190,127,63,217,192,127,63,26,195,127,63,76,197,127,63,111,199,127,63,130,201,127,63,135,203,127,63,126,205,127,63,102,207,127,63,65,209,127,63,14,211,127,63,205,212,127,63,128,214,127,63,38,216,127,63,191,217,127,63,76,219,127,63,204,220,127,63,65,222,127,63,170,223,127,63,8,225,127,63,91,226,127,63,163,227,127,63,224,228,127,63,19,230,127,63,59,231,127,63,90,232,127,63,110,233,127,63,122,234,127,63,124,235,127,63,116,236,127,63,100,237,127,63,75,238,127,63,42,239,127,63,1,240,127,63,207,240,127,63,149,241,127,63,84,242,127,63,12,243,127,63,188,243,127,63,101,244,127,63,7,245,127,63,162,245,127,63,55,246,127,63,198,246,127,63,78,247,127,63,209,247,127,63,77,248,127,63,196,248,127,63,54,249,127,63,162,249,127,63,9,250,127,63,108,250,127,63,201,250,127,63,34,251,127,63,118,251,127,63,198,251,127,63,18,252,127,63,89,252,127,63,157,252,127,63,221,252,127,63,26,253,127,63,83,253,127,63,136,253,127,63,187,253,127,63,234,253,127,63,22,254,127,63,64,254,127,63,103,254,127,63,139,254,127,63,173,254,127,63,204,254,127,63,234,254,127,63,5,255,127,63,30,255,127,63,53,255,127,63,74,255,127,63,94,255,127,63,112,255,127,63,128,255,127,63,143,255,127,63,157,255,127,63,169,255,127,63,180,255,127,63,191,255,127,63,200,255,127,63,208,255,127,63,215,255,127,63,221,255,127,63,227,255,127,63,232,255,127,63,236,255,127,63,239,255,127,63,243,255,127,63,245,255,127,63,248,255,127,63,249,255,127,63,251,255,127,63,252,255,127,63,253,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,204,8,120,52,171,134,11,54,79,202,193,54,190,233,61,55,238,247,156,55,192,123,234,55,43,192,35,56,161,2,90,56,189,2,140,56,76,228,174,56,227,165,213,56,199,35,0,57,168,100,23,57,134,149,48,57,104,182,75,57,64,199,104,57,7,228,131,57,105,92,148,57,191,204,165,57,6,53,184,57,65,149,203,57,105,237,223,57,120,61,245,57,184,194,5,58,166,98,17,58,134,126,29,58,81,22,42,58,9,42,55,58,172,185,68,58,54,197,82,58,165,76,97,58,250,79,112,58,47,207,127,58,34,229,135,58,154,32,144,58,255,153,152,58,80,81,161,58,139,70,170,58,174,121,179,58,186,234,188,58,171,153,198,58,129,134,208,58,58,177,218,58,212,25,229,58,79,192,239,58,167,164,250,58,109,227,2,59,117,147,8,59,105,98,14,59,73,80,20,59,19,93,26,59,199,136,32,59,100,211,38,59,232,60,45,59,83,197,51,59,164,108,58,59,218,50,65,59,243,23,72,59,239,27,79,59,204,62,86,59,138,128,93,59,38,225,100,59,161,96,108,59,249,254,115,59,45,188,123,59,29,204,129,59,145,201,133,59,113,214,137,59,188,242,141,59,113,30,146,59,145,89,150,59,26,164,154,59,12,254,158,59,102,103,163,59,40,224,167,59,80,104,172,59,222,255,176,59,209,166,181,59,40,93,186,59,228,34,191,59,2,248,195,59,131,220,200,59,101,208,205,59,168,211,210,59,74,230,215,59,76,8,221,59,172,57,226,59,105,122,231,59,131,202,236,59,249,41,242,59,202,152,247,59,245,22,253,59,60,82,1,60,170,32,4,60,196,246,6,60,137,212,9,60,249,185,12,60,19,167,15,60,216,155,18,60,69,152,21,60,92,156,24,60,26,168,27,60,129,187,30,60,143,214,33,60,69,249,36,60,160,35,40,60,162,85,43,60,73,143,46,60,149,208,49,60,133,25,53,60,26,106,56,60,81,194,59,60,44,34,63,60,168,137,66,60,199,248,69,60,134,111,73,60,230,237,76,60,231,115,80,60,134,1,84,60,197,150,87,60,162,51,91,60,28,216,94,60,52,132,98,60,232,55,102,60,56,243,105,60,35,182,109,60,170,128,113,60,202,82,117,60,131,44,121,60,214,13,125,60,96,123,128,60,161,115,130,60,174,111,132,60,134,111,134,60,40,115,136,60,149,122,138,60,205,133,140,60,206,148,142,60,152,167,144,60,44,190,146,60,136,216,148,60,173,246,150,60,154,24,153,60,78,62,155,60,202,103,157,60,13,149,159,60,23,198,161,60,231,250,163,60,125,51,166,60,217,111,168,60,249,175,170,60,223,243,172,60,137,59,175,60,247,134,177,60,40,214,179,60,29,41,182,60,213,127,184,60,80,218,186,60,140,56,189,60,138,154,191,60,74,0,194,60,202,105,196,60,11,215,198,60,12,72,201,60,205,188,203,60,77,53,206,60,140,177,208,60,137,49,211,60,69,181,213,60,189,60,216,60,243,199,218,60,230,86,221,60,149,233,223,60,0,128,226,60,39,26,229,60,8,184,231,60,164,89,234,60,250,254,236,60,9,168,239,60,210,84,242,60,83,5,245,60,141,185,247,60,126,113,250,60,39,45,253,60,134,236,255,60,206,87,1,61,52,187,2,61,117,32,4,61,144,135,5,61,133,240,6,61,84,91,8,61,253,199,9,61,128,54,11,61,219,166,12,61,16,25,14,61,29,141,15,61,3,3,17,61,193,122,18,61,87,244,19,61,197,111,21,61,10,237,22,61,39,108,24,61,26,237,25,61,228,111,27,61,132,244,28,61,251,122,30,61,71,3,32,61,105,141,33,61,96,25,35,61,45,167,36,61,206,54,38,61,67,200,39,61,141,91,41,61,171,240,42,61,156,135,44,61,96,32,46,61,248,186,47,61,99,87,49,61,160,245,50,61,175,149,52,61,144,55,54,61,67,219,55,61,199,128,57,61,28,40,59,61,65,209,60,61,56,124,62,61,254,40,64,61,148,215,65,61,250,135,67,61,47,58,69,61,51,238,70,61,5,164,72,61,166,91,74,61,20,21,76,61,80,208,77,61,90,141,79,61,49,76,81,61,212,12,83,61,68,207,84,61,128,147,86,61,135,89,88,61,90,33,90,61,248,234,91,61,97,182,93,61,148,131,95,61,145,82,97,61,88,35,99,61,232,245,100,61,65,202,102,61,100,160,104,61,78,120,106,61,1,82,108,61,123,45,110,61,188,10,112,61,197,233,113,61,148,202,115,61,41,173,117,61,133,145,119,61,166,119,121,61,140,95,123,61,55,73,125,61,166,52,127,61,237,144,128,61,105,136,129,61,198,128,130,61,5,122,131,61,37,116,132,61,39,111,133,61,9,107,134,61,204,103,135,61,112,101,136,61,244,99,137,61,88,99,138,61,157,99,139,61,193,100,140,61,196,102,141,61,167,105,142,61,106,109,143,61,11,114,144,61,139,119,145,61,234,125,146,61,40,133,147,61,67,141,148,61,61,150,149,61,20,160,150,61,201,170,151,61,92,182,152,61,203,194,153,61,24,208,154,61,66,222,155,61,72,237,156,61,42,253,157,61,233,13,159,61,132,31,160,61,250,49,161,61,76,69,162,61,122,89,163,61,130,110,164,61,101,132,165,61,35,155,166,61,188,178,167,61,47,203,168,61,124,228,169,61,162,254,170,61,163,25,172,61,124,53,173,61,47,82,174,61,187,111,175,61,31,142,176,61,92,173,177,61,113,205,178,61,94,238,179,61,35,16,181,61,192,50,182,61,52,86,183,61,127,122,184,61,160,159,185,61,153,197,186,61,104,236,187,61,13,20,189,61,136,60,190,61,217,101,191,61,255,143,192,61,250,186,193,61,202,230,194,61,111,19,196,61,233,64,197,61,55,111,198,61,89,158,199,61,78,206,200,61,23,255,201,61,179,48,203,61,35,99,204,61,101,150,205,61,121,202,206,61,96,255,207,61,25,53,209,61,164,107,210,61,0,163,211,61,45,219,212,61,44,20,214,61,251,77,215,61,154,136,216,61,10,196,217,61,74,0,219,61,89,61,220,61,56,123,221,61,230,185,222,61,99,249,223,61,174,57,225,61,200,122,226,61,176,188,227,61,102,255,228,61,233,66,230,61,58,135,231,61,88,204,232,61,66,18,234,61,249,88,235,61,124,160,236,61,203,232,237,61,230,49,239,61,204,123,240,61,125,198,241,61,249,17,243,61,63,94,244,61,79,171,245,61,42,249,246,61,206,71,248,61,60,151,249,61,114,231,250,61,114,56,252,61,58,138,253,61,202,220,254,61,17,24,0,62,33,194,0,62,149,108,1,62,108,23,2,62,166,194,2,62,68,110,3,62,69,26,4,62,168,198,4,62,111,115,5,62,152,32,6,62,35,206,6,62,17,124,7,62,98,42,8,62,20,217,8,62,40,136,9,62,157,55,10,62,117,231,10,62,173,151,11,62,71,72,12,62,66,249,12,62,158,170,13,62,91,92,14,62,120,14,15,62,246,192,15,62,213,115,16,62,19,39,17,62,177,218,17,62,175,142,18,62,13,67,19,62,202,247,19,62,231,172,20,62,99,98,21,62,62,24,22,62,120,206,22,62,16,133,23,62,7,60,24,62,92,243,24,62,16,171,25,62,33,99,26,62,145,27,27,62,94,212,27,62,137,141,28,62,17,71,29,62,246,0,30,62,56,187,30,62,215,117,31,62,211,48,32,62,43,236,32,62,224,167,33,62,241,99,34,62,93,32,35,62,38,221,35,62,74,154,36,62,202,87,37,62,165,21,38,62,219,211,38,62,108,146,39,62,88,81,40,62,159,16,41,62,64,208,41,62,59,144,42,62,144,80,43,62,63,17,44,62,72,210,44,62,170,147,45,62,102,85,46,62,122,23,47,62,232,217,47,62,175,156,48,62,206,95,49,62,69,35,50,62,21,231,50,62,61,171,51,62,189,111,52,62,148,52,53,62,195,249,53,62,73,191,54,62,38,133,55,62,91,75,56,62,230,17,57,62,199,216,57,62,255,159,58,62,141,103,59,62,113,47,60,62,171,247,60,62,59,192,61,62,31,137,62,62,89,82,63,62,232,27,64,62,204,229,64,62,5,176,65,62,146,122,66,62,115,69,67,62,168,16,68,62,49,220,68,62,14,168,69,62,62,116,70,62,194,64,71,62,152,13,72,62,193,218,72,62,61,168,73,62,12,118,74,62,44,68,75,62,159,18,76,62,100,225,76,62,122,176,77,62,225,127,78,62,154,79,79,62,164,31,80,62,255,239,80,62,170,192,81,62,166,145,82,62,242,98,83,62,141,52,84,62,121,6,85,62,180,216,85,62,63,171,86,62,25,126,87,62,65,81,88,62,185,36,89,62,126,248,89,62,147,204,90,62,245,160,91,62,165,117,92,62,163,74,93,62,238,31,94,62,135,245,94,62,109,203,95,62,159,161,96,62,30,120,97,62,233,78,98,62,1,38,99,62,100,253,99,62,19,213,100,62,14,173,101,62,84,133,102,62,229,93,103,62,193,54,104,62,231,15,105,62,88,233,105,62,19,195,106,62,24,157,107,62,103,119,108,62,255,81,109,62,224,44,110,62,11,8,111,62,126,227,111,62,58,191,112,62,62,155,113,62,139,119,114,62,31,84,115,62,251,48,116,62,31,14,117,62,138,235,117,62,59,201,118,62,52,167,119,62,115,133,120,62,248,99,121,62,196,66,122,62,213,33,123,62,44,1,124,62,200,224,124,62,170,192,125,62,208,160,126,62,59,129,127,62,245,48,128,62,111,161,128,62,11,18,129,62,201,130,129,62,168,243,129,62,169,100,130,62,204,213,130,62,15,71,131,62,117,184,131,62,251,41,132,62,162,155,132,62,107,13,133,62,84,127,133,62,93,241,133,62,136,99,134,62,210,213,134,62,61,72,135,62,200,186,135,62,116,45,136,62,63,160,136,62,42,19,137,62,52,134,137,62,94,249,137,62,168,108,138,62,17,224,138,62,153,83,139,62,64,199,139,62,6,59,140,62,235,174,140,62,239,34,141,62,17,151,141,62,82,11,142,62,177,127,142,62,46,244,142,62,201,104,143,62,130,221,143,62,89,82,144,62,78,199,144,62,96,60,145,62,143,177,145,62,220,38,146,62,70,156,146,62,205,17,147,62,113,135,147,62,50,253,147,62,16,115,148,62,9,233,148,62,32,95,149,62,82,213,149,62,161,75,150,62,12,194,150,62,146,56,151,62,53,175,151,62,243,37,152,62,204,156,152,62,193,19,153,62,209,138,153,62,252,1,154,62,66,121,154,62,163,240,154,62,31,104,155,62,181,223,155,62,101,87,156,62,48,207,156,62,21,71,157,62,20,191,157,62,45,55,158,62,96,175,158,62,172,39,159,62,18,160,159,62,145,24,160,62,41,145,160,62,218,9,161,62,165,130,161,62,136,251,161,62,132,116,162,62,152,237,162,62,197,102,163,62,10,224,163,62,103,89,164,62,220,210,164,62,105,76,165,62,14,198,165,62,202,63,166,62,158,185,166,62,137,51,167,62,139,173,167,62,164,39,168,62,213,161,168,62,27,28,169,62],"i8",O3,_.GLOBAL_BASE+520696),C3([121,150,169,62,237,16,170,62,119,139,170,62,24,6,171,62,206,128,171,62,155,251,171,62,125,118,172,62,117,241,172,62,130,108,173,62,165,231,173,62,221,98,174,62,42,222,174,62,140,89,175,62,2,213,175,62,142,80,176,62,46,204,176,62,226,71,177,62,170,195,177,62,135,63,178,62,119,187,178,62,124,55,179,62,148,179,179,62,191,47,180,62,254,171,180,62,80,40,181,62,181,164,181,62,45,33,182,62,184,157,182,62,85,26,183,62,5,151,183,62,199,19,184,62,156,144,184,62,130,13,185,62,123,138,185,62,133,7,186,62,161,132,186,62,206,1,187,62,13,127,187,62,93,252,187,62,190,121,188,62,48,247,188,62,178,116,189,62,70,242,189,62,233,111,190,62,157,237,190,62,98,107,191,62,54,233,191,62,26,103,192,62,14,229,192,62,17,99,193,62,36,225,193,62,70,95,194,62,119,221,194,62,184,91,195,62,7,218,195,62,100,88,196,62,209,214,196,62,75,85,197,62,212,211,197,62,107,82,198,62,16,209,198,62,195,79,199,62,132,206,199,62,82,77,200,62,45,204,200,62,21,75,201,62,11,202,201,62,13,73,202,62,29,200,202,62,56,71,203,62,97,198,203,62,149,69,204,62,214,196,204,62,34,68,205,62,123,195,205,62,223,66,206,62,79,194,206,62,202,65,207,62,81,193,207,62,226,64,208,62,127,192,208,62,38,64,209,62,216,191,209,62,148,63,210,62,91,191,210,62,44,63,211,62,7,191,211,62,235,62,212,62,218,190,212,62,210,62,213,62,211,190,213,62,222,62,214,62,242,190,214,62,15,63,215,62,53,191,215,62,99,63,216,62,154,191,216,62,217,63,217,62,32,192,217,62,112,64,218,62,199,192,218,62,38,65,219,62,140,193,219,62,250,65,220,62,112,194,220,62,236,66,221,62,112,195,221,62,250,67,222,62,139,196,222,62,34,69,223,62,192,197,223,62,100,70,224,62,14,199,224,62,189,71,225,62,115,200,225,62,46,73,226,62,239,201,226,62,181,74,227,62,127,203,227,62,79,76,228,62,36,205,228,62,253,77,229,62,219,206,229,62,190,79,230,62,164,208,230,62,142,81,231,62,125,210,231,62,111,83,232,62,100,212,232,62,93,85,233,62,89,214,233,62,89,87,234,62,91,216,234,62,96,89,235,62,104,218,235,62,114,91,236,62,126,220,236,62,141,93,237,62,158,222,237,62,176,95,238,62,196,224,238,62,218,97,239,62,241,226,239,62,10,100,240,62,35,229,240,62,62,102,241,62,89,231,241,62,116,104,242,62,145,233,242,62,173,106,243,62,202,235,243,62,230,108,244,62,3,238,244,62,31,111,245,62,59,240,245,62,86,113,246,62,112,242,246,62,137,115,247,62,161,244,247,62,184,117,248,62,206,246,248,62,226,119,249,62,244,248,249,62,4,122,250,62,18,251,250,62,30,124,251,62,40,253,251,62,47,126,252,62,52,255,252,62,54,128,253,62,52,1,254,62,48,130,254,62,40,3,255,62,29,132,255,62,135,2,0,63,254,66,0,63,115,131,0,63,230,195,0,63,86,4,1,63,197,68,1,63,49,133,1,63,155,197,1,63,3,6,2,63,103,70,2,63,202,134,2,63,42,199,2,63,135,7,3,63,225,71,3,63,56,136,3,63,141,200,3,63,222,8,4,63,44,73,4,63,119,137,4,63,191,201,4,63,3,10,5,63,68,74,5,63,130,138,5,63,188,202,5,63,242,10,6,63,36,75,6,63,83,139,6,63,126,203,6,63,165,11,7,63,199,75,7,63,230,139,7,63,1,204,7,63,23,12,8,63,41,76,8,63,54,140,8,63,63,204,8,63,67,12,9,63,67,76,9,63,62,140,9,63,52,204,9,63,37,12,10,63,18,76,10,63,249,139,10,63,219,203,10,63,184,11,11,63,144,75,11,63,98,139,11,63,47,203,11,63,246,10,12,63,184,74,12,63,116,138,12,63,43,202,12,63,219,9,13,63,134,73,13,63,43,137,13,63,202,200,13,63,98,8,14,63,245,71,14,63,129,135,14,63,7,199,14,63,135,6,15,63,0,70,15,63,114,133,15,63,222,196,15,63,67,4,16,63,161,67,16,63,249,130,16,63,73,194,16,63,147,1,17,63,213,64,17,63,17,128,17,63,69,191,17,63,114,254,17,63,151,61,18,63,181,124,18,63,203,187,18,63,218,250,18,63,225,57,19,63,225,120,19,63,216,183,19,63,200,246,19,63,176,53,20,63,143,116,20,63,103,179,20,63,54,242,20,63,253,48,21,63,188,111,21,63,114,174,21,63,32,237,21,63,197,43,22,63,98,106,22,63,246,168,22,63,129,231,22,63,3,38,23,63,125,100,23,63,237,162,23,63,84,225,23,63,178,31,24,63,7,94,24,63,83,156,24,63,149,218,24,63,206,24,25,63,253,86,25,63,35,149,25,63,63,211,25,63,82,17,26,63,90,79,26,63,89,141,26,63,78,203,26,63,57,9,27,63,25,71,27,63,240,132,27,63,188,194,27,63,126,0,28,63,54,62,28,63,227,123,28,63,134,185,28,63,30,247,28,63,172,52,29,63,47,114,29,63,167,175,29,63,20,237,29,63,118,42,30,63,206,103,30,63,26,165,30,63,91,226,30,63,145,31,31,63,188,92,31,63,219,153,31,63,239,214,31,63,247,19,32,63,244,80,32,63,230,141,32,63,203,202,32,63,165,7,33,63,115,68,33,63,53,129,33,63,235,189,33,63,150,250,33,63,52,55,34,63,198,115,34,63,75,176,34,63,197,236,34,63,50,41,35,63,146,101,35,63,230,161,35,63,46,222,35,63,105,26,36,63,151,86,36,63,185,146,36,63,205,206,36,63,213,10,37,63,208,70,37,63,190,130,37,63,158,190,37,63,114,250,37,63,56,54,38,63,241,113,38,63,157,173,38,63,59,233,38,63,204,36,39,63,79,96,39,63,197,155,39,63,45,215,39,63,135,18,40,63,211,77,40,63,18,137,40,63,66,196,40,63,101,255,40,63,121,58,41,63,128,117,41,63,120,176,41,63,98,235,41,63,62,38,42,63,11,97,42,63,202,155,42,63,122,214,42,63,28,17,43,63,175,75,43,63,52,134,43,63,170,192,43,63,16,251,43,63,105,53,44,63,178,111,44,63,236,169,44,63,23,228,44,63,51,30,45,63,64,88,45,63,61,146,45,63,43,204,45,63,10,6,46,63,218,63,46,63,154,121,46,63,74,179,46,63,235,236,46,63,124,38,47,63,254,95,47,63,112,153,47,63,210,210,47,63,36,12,48,63,102,69,48,63,152,126,48,63,186,183,48,63,204,240,48,63,205,41,49,63,191,98,49,63,160,155,49,63,113,212,49,63,49,13,50,63,225,69,50,63,128,126,50,63,15,183,50,63,141,239,50,63,251,39,51,63,87,96,51,63,163,152,51,63,222,208,51,63,8,9,52,63,34,65,52,63,42,121,52,63,33,177,52,63,7,233,52,63,219,32,53,63,159,88,53,63,81,144,53,63,242,199,53,63,129,255,53,63,255,54,54,63,108,110,54,63,198,165,54,63,16,221,54,63,71,20,55,63,109,75,55,63,129,130,55,63,131,185,55,63,116,240,55,63,82,39,56,63,30,94,56,63,217,148,56,63,129,203,56,63,23,2,57,63,155,56,57,63,13,111,57,63,108,165,57,63,185,219,57,63,244,17,58,63,28,72,58,63,50,126,58,63,53,180,58,63,38,234,58,63,4,32,59,63,207,85,59,63,135,139,59,63,45,193,59,63,192,246,59,63,64,44,60,63,173,97,60,63,7,151,60,63,78,204,60,63,130,1,61,63,163,54,61,63,177,107,61,63,171,160,61,63,146,213,61,63,102,10,62,63,39,63,62,63,212,115,62,63,110,168,62,63,244,220,62,63,103,17,63,63,198,69,63,63,17,122,63,63,73,174,63,63,109,226,63,63,126,22,64,63,122,74,64,63,99,126,64,63,56,178,64,63,248,229,64,63,165,25,65,63,62,77,65,63,195,128,65,63,52,180,65,63,144,231,65,63,216,26,66,63,13,78,66,63,44,129,66,63,56,180,66,63,47,231,66,63,18,26,67,63,224,76,67,63,154,127,67,63,64,178,67,63,208,228,67,63,77,23,68,63,180,73,68,63,7,124,68,63,69,174,68,63,111,224,68,63,131,18,69,63,131,68,69,63,110,118,69,63,68,168,69,63,5,218,69,63,177,11,70,63,72,61,70,63,202,110,70,63,55,160,70,63,143,209,70,63,210,2,71,63,255,51,71,63,23,101,71,63,26,150,71,63,8,199,71,63,224,247,71,63,163,40,72,63,81,89,72,63,233,137,72,63,107,186,72,63,216,234,72,63,48,27,73,63,114,75,73,63,158,123,73,63,181,171,73,63,181,219,73,63,161,11,74,63,118,59,74,63,54,107,74,63,224,154,74,63,116,202,74,63,242,249,74,63,90,41,75,63,173,88,75,63,233,135,75,63,15,183,75,63,32,230,75,63,26,21,76,63,254,67,76,63,204,114,76,63,132,161,76,63,38,208,76,63,177,254,76,63,38,45,77,63,133,91,77,63,206,137,77,63,0,184,77,63,28,230,77,63,34,20,78,63,17,66,78,63,234,111,78,63,172,157,78,63,88,203,78,63,238,248,78,63,108,38,79,63,213,83,79,63,38,129,79,63,97,174,79,63,134,219,79,63,147,8,80,63,138,53,80,63,107,98,80,63,52,143,80,63,231,187,80,63,131,232,80,63,8,21,81,63,119,65,81,63,206,109,81,63,15,154,81,63,57,198,81,63,76,242,81,63,71,30,82,63,44,74,82,63,250,117,82,63,177,161,82,63,81,205,82,63,218,248,82,63,76,36,83,63,166,79,83,63,234,122,83,63,22,166,83,63,44,209,83,63,42,252,83,63,17,39,84,63,224,81,84,63,153,124,84,63,58,167,84,63,196,209,84,63,54,252,84,63,146,38,85,63,214,80,85,63,2,123,85,63,24,165,85,63,22,207,85,63,252,248,85,63,204,34,86,63,131,76,86,63,36,118,86,63,172,159,86,63,30,201,86,63,120,242,86,63,186,27,87,63,229,68,87,63,248,109,87,63,244,150,87,63,216,191,87,63,165,232,87,63,90,17,88,63,248,57,88,63,126,98,88,63,236,138,88,63,67,179,88,63,130,219,88,63,169,3,89,63,185,43,89,63,177,83,89,63,145,123,89,63,90,163,89,63,11,203,89,63,164,242,89,63,37,26,90,63,143,65,90,63,225,104,90,63,27,144,90,63,62,183,90,63,72,222,90,63,59,5,91,63,22,44,91,63,217,82,91,63,133,121,91,63,24,160,91,63,148,198,91,63,248,236,91,63,68,19,92,63,120,57,92,63,149,95,92,63,153,133,92,63,134,171,92,63,91,209,92,63,24,247,92,63,189,28,93,63,74,66,93,63,191,103,93,63,28,141,93,63,98,178,93,63,143,215,93,63,165,252,93,63,162,33,94,63,136,70,94,63,86,107,94,63,11,144,94,63,169,180,94,63,47,217,94,63,157,253,94,63,243,33,95,63,49,70,95,63,88,106,95,63,102,142,95,63,92,178,95,63,59,214,95,63,1,250,95,63,175,29,96,63,70,65,96,63,196,100,96,63,43,136,96,63,122,171,96,63,176,206,96,63,207,241,96,63,214,20,97,63,197,55,97,63,155,90,97,63,90,125,97,63,1,160,97,63,144,194,97,63,8,229,97,63,103,7,98,63,174,41,98,63,221,75,98,63,245,109,98,63,244,143,98,63,220,177,98,63,171,211,98,63,99,245,98,63,3,23,99,63,139,56,99,63,251,89,99,63,83,123,99,63,147,156,99,63,188,189,99,63,204,222,99,63,197,255,99,63,166,32,100,63,110,65,100,63,32,98,100,63,185,130,100,63,58,163,100,63,164,195,100,63,245,227,100,63,47,4,101,63,82,36,101,63,92,68,101,63,78,100,101,63,41,132,101,63,236,163,101,63,151,195,101,63,43,227,101,63,167,2,102,63,11,34,102,63,87,65,102,63,139,96,102,63,168,127,102,63,174,158,102,63,155,189,102,63,113,220,102,63,47,251,102,63,214,25,103,63,101,56,103,63,220,86,103,63,59,117,103,63,132,147,103,63,180,177,103,63,205,207,103,63,206,237,103,63,184,11,104,63,138,41,104,63,69,71,104,63,233,100,104,63,116,130,104,63,233,159,104,63,69,189,104,63,139,218,104,63,185,247,104,63,207,20,105,63,207,49,105,63,182,78,105,63,135,107,105,63,64,136,105,63,225,164,105,63,108,193,105,63,223,221,105,63,59,250,105,63,127,22,106,63,172,50,106,63,195,78,106,63,193,106,106,63,169,134,106,63,121,162,106,63,51,190,106,63,213,217,106,63,96,245,106,63,212,16,107,63,48,44,107,63,118,71,107,63,165,98,107,63,188,125,107,63,189,152,107,63,167,179,107,63,121,206,107,63,53,233,107,63,218,3,108,63,104,30,108,63,223,56,108,63,63,83,108,63,136,109,108,63,187,135,108,63,214,161,108,63,219,187,108,63,201,213,108,63,161,239,108,63,97,9,109,63,11,35,109,63,159,60,109,63,27,86,109,63,129,111,109,63,209,136,109,63,9,162,109,63,44,187,109,63,56,212,109,63,45,237,109,63,12,6,110,63,212,30,110,63,134,55,110,63,33,80,110,63,166,104,110,63,21,129,110,63,110,153,110,63,176,177,110,63,220,201,110,63,241,225,110,63,241,249,110,63,218,17,111,63,173,41,111,63,106,65,111,63,16,89,111,63,161,112,111,63,28,136,111,63,128,159,111,63,207,182,111,63,7,206,111,63,42,229,111,63,54,252,111,63,45,19,112,63,14,42,112,63,217,64,112,63,142,87,112,63,46,110,112,63,184,132,112,63,43,155,112,63,138,177,112,63,210,199,112,63,5,222,112,63,35,244,112,63,42,10,113,63,29,32,113,63,249,53,113,63,193,75,113,63,114,97,113,63,15,119,113,63,150,140,113,63,7,162,113,63,99,183,113,63,170,204,113,63,220,225,113,63,249,246,113,63,0,12,114,63,242,32,114,63,207,53,114,63,151,74,114,63,73,95,114,63,231,115,114,63,112,136,114,63,227,156,114,63,66,177,114,63,140,197,114,63,193,217,114,63,225,237,114,63,236,1,115,63,227,21,115,63,197,41,115,63,146,61,115,63,74,81,115,63,238,100,115,63,125,120,115,63,248,139,115,63,94,159,115,63,175,178,115,63,236,197,115,63,21,217,115,63,41,236,115,63,41,255,115,63,21,18,116,63,236,36,116,63,175,55,116,63,94,74,116,63,248,92,116,63,127,111,116,63,241,129,116,63,80,148,116,63,154,166,116,63,208,184,116,63,242,202,116,63,1,221,116,63,251,238,116,63,226,0,117,63,181,18,117,63,116,36,117,63,31,54,117,63,183,71,117,63,59,89,117,63,171,106,117,63,8,124,117,63,81,141,117,63,135,158,117,63,169,175,117,63,184,192,117,63,179,209,117,63,155,226,117,63,112,243,117,63,50,4,118,63,224,20,118,63,123,37,118,63,3,54,118,63,120,70,118,63,217,86,118,63,40,103,118,63,100,119,118,63,140,135,118,63,162,151,118,63,165,167,118,63,149,183,118,63,114,199,118,63,61,215,118,63,245,230,118,63,154,246,118,63,44,6,119,63,172,21,119,63,26,37,119,63,117,52,119,63,189,67,119,63,243,82,119,63,22,98,119,63,40,113,119,63,39,128,119,63,19,143,119,63,238,157,119,63,182,172,119,63,108,187,119,63,16,202,119,63,162,216,119,63,34,231,119,63,144,245,119,63,236,3,120,63,55,18,120,63,111,32,120,63,150,46,120,63,170,60,120,63,174,74,120,63,159,88,120,63,127,102,120,63,77,116,120,63,10,130,120,63,181,143,120,63,79,157,120,63,215,170,120,63,78,184,120,63,180,197,120,63,8,211,120,63,76,224,120,63,126,237,120,63,158,250,120,63,174,7,121,63,173,20,121,63,155,33,121,63,119,46,121,63,67,59,121,63,254,71,121,63,168,84,121,63,66,97,121,63,202,109,121,63,66,122,121,63,169,134,121,63,0,147,121,63,70,159,121,63,124,171,121,63,161,183,121,63,181,195,121,63,186,207,121,63,173,219,121,63,145,231,121,63,100,243,121,63,40,255,121,63,219,10,122,63,126,22,122,63,16,34,122,63,147,45,122,63,6,57,122,63,105,68,122,63,188,79,122,63,255,90,122,63,51,102,122,63,86,113,122,63,106,124,122,63,111,135,122,63,99,146,122,63,72,157,122,63,30,168,122,63,228,178,122,63,155,189,122,63,66,200,122,63,218,210,122,63,99,221,122,63,221,231,122,63,71,242,122,63,162,252,122,63,238,6,123,63,43,17,123,63,89,27,123,63,120,37,123,63,137,47,123,63,138,57,123,63,124,67,123,63,96,77,123,63,53,87,123,63,252,96,123,63,179,106,123,63,92,116,123,63,247,125,123,63,131,135,123,63,1,145,123,63,112,154,123,63,209,163,123,63,36,173,123,63,104,182,123,63,158,191,123,63,198,200,123,63,224,209,123,63,236,218,123,63,234,227,123,63,218,236,123,63,188,245,123,63,144,254,123,63,86,7,124,63,14,16,124,63,185,24,124,63,86,33,124,63,230,41,124,63,104,50,124,63,220,58,124,63,67,67,124,63,156,75,124,63,232,83,124,63,39,92,124,63,88,100,124,63,124,108,124,63,147,116,124,63,157,124,124,63,153,132,124,63,137,140,124,63,107,148,124,63,65,156,124,63,9,164,124,63,197,171,124,63,116,179,124,63,22,187,124,63,172,194,124,63,52,202,124,63,176,209,124,63,32,217,124,63,131,224,124,63,217,231,124,63,35,239,124,63,97,246,124,63,146,253,124,63,183,4,125,63,208,11,125,63,221,18,125,63,221,25,125,63,209,32,125,63,185,39,125,63,150,46,125,63,102,53,125,63,42,60,125,63,227,66,125,63,143,73,125,63,48,80,125,63,197,86,125,63,78,93,125,63,204,99,125,63,62,106,125,63,165,112,125,63,0,119,125,63,80,125,125,63,148,131,125,63,205,137,125,63,251,143,125,63,29,150,125,63,52,156,125,63,64,162,125,63,65,168,125,63,55,174,125,63,34,180,125,63,2,186,125,63,215,191,125,63,161,197,125,63,96,203,125,63,21,209,125,63,190,214,125,63,93,220,125,63,242,225,125,63,124,231,125,63,251,236,125,63,112,242,125,63,218,247,125,63,58,253,125,63,143,2,126,63,219,7,126,63,28,13,126,63,82,18,126,63,127,23,126,63,161,28,126,63,186,33,126,63,200,38,126,63,204,43,126,63,199,48,126,63,183,53,126,63,158,58,126,63,123,63,126,63,78,68,126,63,23,73,126,63,215,77,126,63,141,82,126,63,58,87,126,63,221,91,126,63,118,96,126,63,6,101,126,63,141,105,126,63,10,110,126,63,126,114,126,63,233,118,126,63,75,123,126,63,164,127,126,63,243,131,126,63,57,136,126,63,119,140,126,63,171,144,126,63,214,148,126,63,249,152,126,63,18,157,126,63,35,161,126,63,44,165,126,63,43,169,126,63,34,173,126,63,16,177,126,63,246,180,126,63,211,184,126,63,167,188,126,63,115,192,126,63,55,196,126,63,243,199,126,63,166,203,126,63,81,207,126,63,243,210,126,63,142,214,126,63,32,218,126,63,171,221,126,63,45,225,126,63,167,228,126,63,26,232,126,63,132,235,126,63,231,238,126,63,66,242,126,63,149,245,126,63,224,248,126,63,36,252,126,63,96,255,126,63,148,2,127,63,193,5,127,63,230,8,127,63,4,12,127,63,27,15,127,63,42,18,127,63,50,21,127,63,50,24,127,63,43,27,127,63,29,30,127,63,8,33,127,63,236,35,127,63,201,38,127,63,158,41,127,63,109,44,127,63,53,47,127,63,246,49,127,63,175,52,127,63,99,55,127,63,15,58,127,63,181,60,127,63,83,63,127,63,236,65,127,63,125,68,127,63,8,71,127,63,141,73,127,63,11,76,127,63,131,78,127,63,244,80,127,63,95,83,127,63,195,85,127,63,33,88,127,63,121,90,127,63,203,92,127,63,23,95,127,63,92,97,127,63,155,99,127,63,213,101,127,63,8,104,127,63,54,106,127,63,93,108,127,63,127,110,127,63,155,112,127,63,177,114,127,63,193,116,127,63,203,118,127,63,208,120,127,63,207,122,127,63,201,124,127,63,189,126,127,63,171,128,127,63,148,130,127,63,120,132,127,63,86,134,127,63,47,136,127,63,2,138,127,63,209,139,127,63,153,141,127,63,93,143,127,63,28,145,127,63,213,146,127,63,137,148,127,63,57,150,127,63,227,151,127,63,136,153,127,63,40,155,127,63,196,156,127,63,90,158,127,63,236,159,127,63,121,161,127,63,1,163,127,63,132,164,127,63,3,166,127,63,125,167,127,63,242,168,127,63,99,170,127,63,207,171,127,63,55,173,127,63,154,174,127,63,249,175,127,63,84,177,127,63,170,178,127,63,251,179,127,63,73,181,127,63,146,182,127,63,215,183,127,63,24,185,127,63,85,186,127,63,141,187,127,63,193,188,127,63,242,189,127,63,30,191,127,63,71,192,127,63,107,193,127,63,140,194,127,63,168,195,127,63,193,196,127,63,214,197,127,63,231,198,127,63,245,199,127,63,255,200,127,63,5,202,127,63,7,203,127,63,6,204,127,63,1,205,127,63,249,205,127,63,237,206,127,63,222,207,127,63,203,208,127,63,181,209,127,63,156,210,127,63,127,211,127,63,95,212,127,63,59,213,127,63,20,214,127,63,234,214,127,63,189,215,127,63,141,216,127,63,90,217,127,63,35,218,127,63,233,218,127,63,173,219,127,63,109,220,127,63,43,221,127,63,229,221,127,63,156,222,127,63,81,223,127,63,3,224,127,63,178,224,127,63,94,225,127,63,7,226,127,63,174,226,127,63,82,227,127,63,243,227,127,63,146,228,127,63,46,229,127,63,199,229,127,63,94,230,127,63,242,230,127,63,132,231,127,63,19,232,127,63,160,232,127,63,42,233,127,63,178,233,127,63,56,234,127,63,187,234,127,63,60,235,127,63,187,235,127,63,55,236,127,63,177,236,127,63,41,237,127,63,159,237,127,63,18,238,127,63,132,238,127,63,243,238,127,63,96,239,127,63,204,239,127,63,53,240,127,63,156,240,127,63,1,241,127,63,101,241,127,63,198,241,127,63,37,242,127,63,131,242,127,63,222,242,127,63,56,243,127,63,144,243,127,63,231,243,127,63,59,244,127,63,142,244,127,63,223,244,127,63,46,245,127,63,124,245,127,63,200,245,127,63,19,246,127,63,91,246,127,63,163,246,127,63,233,246,127,63,45,247,127,63,111,247,127,63,177,247,127,63,240,247,127,63,47,248,127,63,108,248,127,63,167,248,127,63,225,248,127,63,26,249,127,63,82,249,127,63,136,249,127,63,188,249,127,63,240,249,127,63,34,250,127,63,83,250,127,63,131,250,127,63,178,250,127,63,224,250,127,63,12,251,127,63,55,251,127,63,97,251,127,63,138,251,127,63,178,251,127,63,217,251,127,63,255,251,127,63,36,252,127,63,72,252,127,63,107,252,127,63,141,252,127,63,173,252,127,63,205,252,127,63,237,252,127,63,11,253,127,63,40,253,127,63,69,253,127,63,96,253,127,63,123,253,127,63,149,253,127,63,174,253,127,63,199,253,127,63,222,253,127,63,245,253,127,63,12,254,127,63,33,254,127,63,54,254,127,63,74,254,127,63,93,254,127,63,112,254,127,63,130,254,127,63,148,254,127,63,165,254,127,63,181,254,127,63,197,254,127,63,212,254,127,63,227,254,127,63,241,254,127,63,254,254,127,63,11,255,127,63,24,255,127,63,36,255,127,63,47,255,127,63,59,255,127,63,69,255,127,63,79,255,127,63,89,255,127,63,99,255,127,63,108,255,127,63,116,255,127,63,124,255,127,63,132,255,127,63,140,255,127,63,147,255,127,63,154,255,127,63,160,255,127,63,166,255,127,63,172,255,127,63,178,255,127,63,183,255,127,63,188,255,127,63,193,255,127,63,197,255,127,63,202,255,127,63,206,255,127,63,209,255,127,63,213,255,127,63,216,255,127,63,220,255,127,63,223,255,127,63,225,255,127,63,228,255,127,63,230,255,127,63,233,255,127,63,235,255,127,63,237,255,127,63,239,255,127,63,240,255,127,63,242,255,127,63,243,255,127,63,245,255,127,63,246,255,127,63,247,255,127,63,248,255,127,63,249,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,198,63,120,51,98,136,11,53,151,200,193,53,80,233,61,54,183,247,156,54,46,124,234,54,153,192,35,55,244,2,90,55,56,3,140,55,227,228,174,55,177,166,213,55,108,36,0,56,146,101,23,56,201,150,48,56,18,184,75,56,81,201,104,56,94,229,131,56,29,94,148,56,229,206,165,56,167,55,184,56,128,152,203,56,85,241,223,56,36,66,245,56,126,197,5,57,238,101,17,57,99,130,29,57,207,26,42,57,63,47,55,57,179,191,68,57,30,204,82,57,141,84,97,57,243,88,112,57,94,217,127,57,227,234,135,57,18,39,144,57,64,161,152,57,105,89,161,57,146,79,170,57,181,131,179,57,215,245,188,57,245,165,198,57,14,148,208,57,34,192,218,57,46,42,229,57,57,210,239,57,60,184,250,57,27,238,2,58,22,159,8,58,13,111,14,58,0,94,20,58,239,107,26,58,218,152,32,58,192,228,38,58,161,79,45,58,124,217,51,58,83,130,58,58,37,74,65,58,240,48,72,58,182,54,79,58,116,91,86,58,45,159,93,58,222,1,101,58,136,131,108,58,42,36,116,58,196,227,123,58,44,225,129,58,241,223,133,58,49,238,137,58,238,11,142,58,37,57,146,58,215,117,150,58,5,194,154,58,174,29,159,58,209,136,163,58,110,3,168,58,134,141,172,58,24,39,177,58,36,208,181,58,169,136,186,58,169,80,191,58,33,40,196,58,19,15,201,58,126,5,206,58,98,11,211,58,191,32,216,58,148,69,221,58,225,121,226,58,166,189,231,58,227,16,237,58,152,115,242,58,196,229,247,58,103,103,253,58,65,124,1,59,137,76,4,59,141,36,7,59,76,4,10,59,198,235,12,59,251,218,15,59,235,209,18,59,149,208,21,59,251,214,24,59,26,229,27,59,244,250,30,59,136,24,34,59,215,61,37,59,223,106,40,59,161,159,43,59,29,220,46,59,83,32,50,59,66,108,53,59,234,191,56,59,76,27,60,59,103,126,63,59,59,233,66,59,199,91,70,59,12,214,73,59,10,88,77,59,193,225,80,59,48,115,84,59,86,12,88,59,53,173,91,59,204,85,95,59,26,6,99,59,32,190,102,59,222,125,106,59,82,69,110,59,127,20,114,59,97,235,117,59,251,201,121,59,76,176,125,59,41,207,128,59,8,202,130,59,194,200,132,59,87,203,134,59,198,209,136,59,17,220,138,59,55,234,140,59,55,252,142,59,18,18,145,59,199,43,147,59,87,73,149,59,194,106,151,59,6,144,153,59,37,185,155,59,30,230,157,59,241,22,160,59,158,75,162,59,37,132,164,59,134,192,166,59,192,0,169,59,212,68,171,59,193,140,173,59,137,216,175,59,41,40,178,59,163,123,180,59,245,210,182,59,33,46,185,59,38,141,187,59,4,240,189,59,186,86,192,59,73,193,194,59,177,47,197,59,242,161,199,59,10,24,202,59,251,145,204,59,196,15,207,59,102,145,209,59,223,22,212,59,49,160,214,59,90,45,217,59,91,190,219,59,51,83,222,59,227,235,224,59,107,136,227,59,201,40,230,59,255,204,232,59,12,117,235,59,240,32,238,59,171,208,240,59,61,132,243,59,165,59,246,59,228,246,248,59,250,181,251,59,229,120,254,59,212,159,0,60,32,5,2,60,87,108,3,60,121,213,4,60,134,64,6,60,126,173,7,60,96,28,9,60,45,141,10,60,229,255,11,60,136,116,13,60,21,235,14,60,141,99,16,60,239,221,17,60,59,90,19,60,114,216,20,60,147,88,22,60,158,218,23,60,147,94,25,60,115,228,26,60,60,108,28,60,240,245,29,60,141,129,31,60,20,15,33,60,133,158,34,60,224,47,36,60,36,195,37,60,82,88,39,60,105,239,40,60,106,136,42,60,84,35,44,60,40,192,45,60,229,94,47,60,139,255,48,60,26,162,50,60,146,70,52,60,243,236,53,60,61,149,55,60,112,63,57,60,140,235,58,60,145,153,60,60,126,73,62,60,84,251,63,60,18,175,65,60,185,100,67,60,72,28,69,60,192,213,70,60,31,145,72,60,103,78,74,60,151,13,76,60,175,206,77,60,176,145,79,60,152,86,81,60,103,29,83,60,31,230,84,60,190,176,86,60,69,125,88,60,179,75,90,60,9,28,92,60,71,238,93,60,107,194,95,60,119,152,97,60,106,112,99,60,68,74,101,60,5,38,103,60,173,3,105,60,60,227,106,60,178,196,108,60,14,168,110,60,81,141,112,60,123,116,114,60,139,93,116,60,130,72,118,60,95,53,120,60,34,36,122,60,203,20,124,60,90,7,126,60,208,251,127,60,22,249,128,60,54,245,129,60,74,242,130,60,80,240,131,60,73,239,132,60,53,239,133,60,19,240,134,60,229,241,135,60,169,244,136,60,95,248,137,60,8,253,138,60,164,2,140,60,50,9,141,60,178,16,142,60,37,25,143,60,139,34,144,60,226,44,145,60,44,56,146,60,104,68,147,60,150,81,148,60,182,95,149,60,201,110,150,60,205,126,151,60,196,143,152,60,172,161,153,60,135,180,154,60,83,200,155,60,17,221,156,60,193,242,157,60,98,9,159,60,245,32,160,60,122,57,161,60,241,82,162,60,89,109,163,60,178,136,164,60,253,164,165,60,57,194,166,60,103,224,167,60,134,255,168,60,151,31,170,60,152,64,171,60,139,98,172,60,111,133,173,60,68,169,174,60,10,206,175,60,193,243,176,60,105,26,178,60,2,66,179,60,139,106,180,60,6,148,181,60,113,190,182,60,205,233,183,60,26,22,185,60,87,67,186,60,133,113,187,60,163,160,188,60,177,208,189,60,177,1,191,60,160,51,192,60,128,102,193,60,80,154,194,60,16,207,195,60,193,4,197,60,97,59,198,60,242,114,199,60,114,171,200,60,227,228,201,60,67,31,203,60,147,90,204,60,211,150,205,60,3,212,206,60,34,18,208,60,49,81,209,60,48,145,210,60,30,210,211,60,252,19,213,60,201,86,214,60,133,154,215,60,49,223,216,60,204,36,218,60,86,107,219,60,208,178,220,60,56,251,221,60,144,68,223,60,214,142,224,60,12,218,225,60,48,38,227,60,67,115,228,60,69,193,229,60,54,16,231,60,21,96,232,60,227,176,233,60,160,2,235,60,75,85,236,60,228,168,237,60,108,253,238,60,226,82,240,60,70,169,241,60,153,0,243,60,218,88,244,60,8,178,245,60,37,12,247,60,48,103,248,60,41,195,249,60,15,32,251,60,228,125,252,60,166,220,253,60,85,60,255,60,121,78,0,61,63,255,0,61,123,176,1,61,46,98,2,61,88,20,3,61,248,198,3,61,15,122,4,61,156,45,5,61,161,225,5,61,27,150,6,61,12,75,7,61,116,0,8,61,82,182,8,61,167,108,9,61,113,35,10,61,179,218,10,61,106,146,11,61,152,74,12,61,60,3,13,61,87,188,13,61,231,117,14,61,238,47,15,61,107,234,15,61,94,165,16,61,199,96,17,61,166,28,18,61,251,216,18,61,198,149,19,61,7,83,20,61,190,16,21,61,234,206,21,61,141,141,22,61,165,76,23,61,52,12,24,61,56,204,24,61,177,140,25,61,161,77,26,61,6,15,27,61,224,208,27,61,48,147,28,61,246,85,29,61,49,25,30,61,226,220,30,61,8,161,31,61,164,101,32,61,181,42,33,61,59,240,33,61,55,182,34,61,168,124,35,61,142,67,36,61,233,10,37,61,186,210,37,61,255,154,38,61,186,99,39,61,234,44,40,61,143,246,40,61,168,192,41,61,55,139,42,61,59,86,43,61,180,33,44,61,161,237,44,61,4,186,45,61,219,134,46,61,38,84,47,61,231,33,48,61,28,240,48,61,198,190,49,61,229,141,50,61,120,93,51,61,127,45,52,61,251,253,52,61,236,206,53,61,81,160,54,61,42,114,55,61,120,68,56,61,58,23,57,61,112,234,57,61,27,190,58,61,58,146,59,61,204,102,60,61,211,59,61,61,79,17,62,61,62,231,62,61,161,189,63,61,120,148,64,61,195,107,65,61,130,67,66,61,181,27,67,61,92,244,67,61,118,205,68,61,4,167,69,61,6,129,70,61,124,91,71,61,101,54,72,61,194,17,73,61,146,237,73,61,214,201,74,61,141,166,75,61,184,131,76,61,86,97,77,61,104,63,78,61,236,29,79,61,229,252,79,61,80,220,80,61,46,188,81,61,128,156,82,61,69,125,83,61,125,94,84,61,40,64,85,61,69,34,86,61,214,4,87,61,218,231,87,61,81,203,88,61,58,175,89,61,150,147,90,61,101,120,91,61,167,93,92,61,91,67,93,61,130,41,94,61,28,16,95,61,40,247,95,61,167,222,96,61,152,198,97,61,251,174,98,61,209,151,99,61,25,129,100,61,212,106,101,61,0,85,102,61,159,63,103,61,176,42,104,61,51,22,105,61,41,2,106,61,144,238,106,61,105,219,107,61,180,200,108,61,113,182,109,61,160,164,110,61,65,147,111,61,84,130,112,61,216,113,113,61,206,97,114,61,54,82,115,61,15,67,116,61,89,52,117,61,22,38,118,61,67,24,119,61,226,10,120,61,243,253,120,61,117,241,121,61,104,229,122,61,204,217,123,61,162,206,124,61,232,195,125,61,160,185,126,61,201,175,127,61,49,83,128,61,183,206,128,61,117,74,129,61,107,198,129,61,154,66,130,61,1,191,130,61,160,59,131,61,120,184,131,61,136,53,132,61,209,178,132,61,81,48,133,61,10,174,133,61,251,43,134,61,37,170,134,61,134,40,135,61,32,167,135,61,242,37,136,61,252,164,136,61,62,36,137,61,184,163,137,61,106,35,138,61,84,163,138,61,118,35,139,61,209,163,139,61,99,36,140,61,45,165,140,61,46,38,141,61,104,167,141,61,218,40,142,61,131,170,142,61,100,44,143,61,125,174,143,61,206,48,144,61,86,179,144,61,23,54,145,61,14,185,145,61,62,60,146,61,165,191,146,61,67,67,147,61,26,199,147,61,39,75,148,61,109,207,148,61,234,83,149,61,158,216,149,61,138,93,150,61,173,226,150,61,7,104,151,61,153,237,151,61,98,115,152,61,99,249,152,61,155,127,153,61,10,6,154,61,176,140,154,61,142,19,155,61,163,154,155,61,239,33,156,61,114,169,156,61,44,49,157,61,29,185,157,61,69,65,158,61,165,201,158,61,59,82,159,61,8,219,159,61,13,100,160,61,72,237,160,61,186,118,161,61,99,0,162,61,67,138,162,61,90,20,163,61,167,158,163,61,43,41,164,61,230,179,164,61,216,62,165,61,0,202,165,61,95,85,166,61,245,224,166,61,193,108,167,61,196,248,167,61,254,132,168,61,110,17,169,61,20,158,169,61,241,42,170,61,4,184,170,61,78,69,171,61,206,210,171,61,133,96,172,61,113,238,172,61,149,124,173,61,238,10,174,61,126,153,174,61,67,40,175,61,63,183,175,61,114,70,176,61,218,213,176,61,120,101,177,61,77,245,177,61,88,133,178,61,152,21,179,61,15,166,179,61,187,54,180,61,158,199,180,61,182,88,181,61,4,234,181,61,137,123,182,61,67,13,183,61,50,159,183,61,88,49,184,61,179,195,184,61,68,86,185,61,11,233,185,61,7,124,186,61,57,15,187,61,160,162,187,61,61,54,188,61,16,202,188,61,24,94,189,61,85,242,189,61,200,134,190,61,112,27,191,61,78,176,191,61,97,69,192,61,170,218,192,61,39,112,193,61,218,5,194,61,194,155,194,61,224,49,195,61,50,200,195,61,186,94,196,61,119,245,196,61,104,140,197,61,143,35,198,61,235,186,198,61,124,82,199,61,66,234,199,61,61,130,200,61,108,26,201,61,209,178,201,61,106,75,202,61,57,228,202,61,59,125,203,61,115,22,204,61,224,175,204,61,129,73,205,61,86,227,205,61,97,125,206,61,159,23,207,61,19,178,207,61,187,76,208,61,151,231,208,61,168,130,209,61,237,29,210,61,103,185,210,61,21,85,211,61,248,240,211,61,14,141,212,61,89,41,213,61,216,197,213,61,140,98,214,61,115,255,214,61,143,156,215,61,223,57,216,61,99,215,216,61,27,117,217,61,7,19,218,61,38,177,218,61,122,79,219,61,2,238,219,61,189,140,220,61,173,43,221,61,208,202,221,61,39,106,222,61,178,9,223,61,112,169,223,61,98,73,224,61,136,233,224,61,226,137,225,61,111,42,226,61,47,203,226,61,35,108,227,61,74,13,228,61,165,174,228,61,52,80,229,61,245,241,229,61,234,147,230,61,19,54,231,61,110,216,231,61,253,122,232,61,191,29,233,61,180,192,233,61,221,99,234,61,56,7,235,61,199,170,235,61,136,78,236,61,125,242,236,61,164,150,237,61,255,58,238,61,140,223,238,61,76,132,239,61,63,41,240,61,101,206,240,61,189,115,241,61,73,25,242,61,7,191,242,61,247,100,243,61,26,11,244,61,112,177,244,61,248,87,245,61,179,254,245,61,160,165,246,61,192,76,247,61,18,244,247,61,151,155,248,61,77,67,249,61,55,235,249,61,82,147,250,61,159,59,251,61,31,228,251,61,209,140,252,61,181,53,253,61,203,222,253,61,19,136,254,61,141,49,255,61,57,219,255,61,140,66,0,62,148,151,0,62,181,236,0,62,238,65,1,62,65,151,1,62,173,236,1,62,49,66,2,62,206,151,2,62,132,237,2,62,83,67,3,62,59,153,3,62,59,239,3,62,84,69,4,62,134,155,4,62,209,241,4,62,52,72,5,62,176,158,5,62,68,245,5,62,242,75,6,62,183,162,6,62,150,249,6,62,141,80,7,62,156,167,7,62,196,254,7,62,5,86,8,62,94,173,8,62,207,4,9,62,89,92,9,62,252,179,9,62,183,11,10,62,138,99,10,62,118,187,10,62,122,19,11,62,150,107,11,62,203,195,11,62,24,28,12,62,125,116,12,62,250,204,12,62,144,37,13,62,62,126,13,62,4,215,13,62,227,47,14,62,217,136,14,62,232,225,14,62,15,59,15,62,78,148,15,62,165,237,15,62,20,71,16,62,155,160,16,62,58,250,16,62,241,83,17,62,193,173,17,62,168,7,18,62,167,97,18,62,190,187,18,62,237,21,19,62,51,112,19,62,146,202,19,62,9,37,20,62,151,127,20,62,61,218,20,62,251,52,21,62,209,143,21,62,190,234,21,62,195,69,22,62,224,160,22,62,21,252,22,62,97,87,23,62,197,178,23,62,64,14,24,62,211,105,24,62,126,197,24,62,64,33,25,62,26,125,25,62,11,217,25,62,20,53,26,62,52,145,26,62,108,237,26,62,187,73,27,62,34,166,27,62,160,2,28,62,53,95,28,62,226,187,28,62,166,24,29,62,129,117,29,62,116,210,29,62,126,47,30,62,159,140,30,62,215,233,30,62,39,71,31,62,141,164,31,62,11,2,32,62,160,95,32,62,76,189,32,62,16,27,33,62,234,120,33,62,219,214,33,62,228,52,34,62,3,147,34,62,58,241,34,62,135,79,35,62,235,173,35,62,103,12,36,62,249,106,36,62,162,201,36,62,98,40,37,62,56,135,37,62,38,230,37,62,42,69,38,62,69,164,38,62,119,3,39,62,192,98,39,62,31,194,39,62,149,33,40,62,33,129,40,62,197,224,40,62,126,64,41,62,79,160,41,62,54,0,42,62,51,96,42,62,72,192,42,62,114,32,43,62,179,128,43,62,11,225,43,62,121,65,44,62,253,161,44,62,152,2,45,62,73,99,45,62,16,196,45,62,238,36,46,62,226,133,46,62,237,230,46,62,13,72,47,62,68,169,47,62,145,10,48,62,245,107,48,62,110,205,48,62,254,46,49,62,163,144,49,62,95,242,49,62,49,84,50,62,25,182,50,62,23,24,51,62,43,122,51,62,85,220,51,62,148,62,52,62,234,160,52,62,86,3,53,62,216,101,53,62,111,200,53,62,28,43,54,62,223,141,54,62,184,240,54,62,167,83,55,62,171,182,55,62,197,25,56,62,245,124,56,62,59,224,56,62,150,67,57,62,7,167,57,62,141,10,58,62,41,110,58,62,219,209,58,62,162,53,59,62,126,153,59,62,112,253,59,62,120,97,60,62,149,197,60,62,199,41,61,62,15,142,61,62,108,242,61,62,222,86,62,62,102,187,62,62,3,32,63,62,181,132,63,62,125,233,63,62,90,78,64,62,75,179,64,62,83,24,65,62,111,125,65,62,160,226,65,62,231,71,66,62,66,173,66,62,179,18,67,62,57,120,67,62,211,221,67,62,131,67,68,62,71,169,68,62,33,15,69,62,15,117,69,62,18,219,69,62,42,65,70,62,87,167,70,62,153,13,71,62,240,115,71,62,91,218,71,62,219,64,72,62,111,167,72,62,25,14,73,62,215,116,73,62,169,219,73,62,144,66,74,62,140,169,74,62,157,16,75,62,193,119,75,62,251,222,75,62,73,70,76,62,171,173,76,62,34,21,77,62,173,124,77,62,76,228,77,62,0,76,78,62,200,179,78,62,164,27,79,62,149,131,79,62,154,235,79,62,179,83,80,62,225,187,80,62,34,36,81,62,120,140,81,62,225,244,81,62,95,93,82,62,241,197,82,62,151,46,83,62,81,151,83,62,31,0,84,62,1,105,84,62,247,209,84,62,0,59,85,62,30,164,85,62,79,13,86,62,149,118,86,62,238,223,86,62,91,73,87,62,219,178,87,62,112,28,88,62,24,134,88,62,211,239,88,62,163,89,89,62,134,195,89,62,124,45,90,62,134,151,90,62,164,1,91,62,213,107,91,62,26,214,91,62,114,64,92,62,221,170,92,62,92,21,93,62,239,127,93,62,148,234,93,62,77,85,94,62,26,192,94,62,249,42,95,62,236,149,95,62,242,0,96,62,11,108,96,62,55,215,96,62,119,66,97,62,202,173,97,62,47,25,98,62,168,132,98,62,52,240,98,62,210,91,99,62,132,199,99,62,73,51,100,62,32,159,100,62,11,11,101,62,8,119,101,62,24,227,101,62,59,79,102,62,113,187,102,62,186,39,103,62,21,148,103,62,131,0,104,62,3,109,104,62,151,217,104,62,60,70,105,62,245,178,105,62,192,31,106,62,157,140,106,62,141,249,106,62,144,102,107,62,165,211,107,62,204,64,108,62,6,174,108,62,82,27,109,62,176,136,109,62,33,246,109,62,164,99,110,62,57,209,110,62,225,62,111,62,154,172,111,62,102,26,112,62,68,136,112,62,52,246,112,62,55,100,113,62,75,210,113,62,113,64,114,62,169,174,114,62,243,28,115,62,80,139,115,62,190,249,115,62,61,104,116,62,207,214,116,62,115,69,117,62,40,180,117,62,239,34,118,62,200,145,118,62,179,0,119,62,175,111,119,62,189,222,119,62,221,77,120,62,14,189,120,62,80,44,121,62,165,155,121,62,10,11,122,62,130,122,122,62,10,234,122,62,164,89,123,62,80,201,123,62,13,57,124,62,219,168,124,62,186,24,125,62,171,136,125,62,173,248,125,62,192,104,126,62,228,216,126,62,26,73,127,62,96,185,127,62,220,20,128,62,16,77,128,62,77,133,128,62,147,189,128,62,225,245,128,62,55,46,129,62,150,102,129,62,253,158,129,62,109,215,129,62,229,15,130,62,102,72,130,62,238,128,130,62,128,185,130,62,25,242,130,62,187,42,131,62,102,99,131,62,24,156,131,62,211,212,131,62,150,13,132,62,98,70,132,62,53,127,132,62,17,184,132,62,245,240,132,62,226,41,133,62,214,98,133,62,211,155,133,62,216,212,133,62,229,13,134,62,250,70,134,62,23,128,134,62,61,185,134,62,106,242,134,62,160,43,135,62,221,100,135,62,35,158,135,62,112,215,135,62,198,16,136,62,35,74,136,62,137,131,136,62,247,188,136,62,108,246,136,62,233,47,137,62,111,105,137,62,252,162,137,62,145,220,137,62,46,22,138,62,211,79,138,62,127,137,138,62,52,195,138,62,240,252,138,62,180,54,139,62,128,112,139,62,84,170,139,62,47,228,139,62,18,30,140,62,253,87,140,62,239,145,140,62,233,203,140,62,235,5,141,62,245,63,141,62,6,122,141,62,31,180,141,62,63,238,141,62,103,40,142,62],"i8",O3,_.GLOBAL_BASE+530936),C3([150,98,142,62,205,156,142,62,12,215,142,62,82,17,143,62,159,75,143,62,245,133,143,62,81,192,143,62,181,250,143,62,33,53,144,62,147,111,144,62,14,170,144,62,143,228,144,62,25,31,145,62,169,89,145,62,65,148,145,62,224,206,145,62,134,9,146,62,52,68,146,62,233,126,146,62,165,185,146,62,105,244,146,62,52,47,147,62,6,106,147,62,223,164,147,62,191,223,147,62,167,26,148,62,150,85,148,62,139,144,148,62,136,203,148,62,140,6,149,62,152,65,149,62,170,124,149,62,195,183,149,62,227,242,149,62,11,46,150,62,57,105,150,62,111,164,150,62,171,223,150,62,238,26,151,62,56,86,151,62,138,145,151,62,226,204,151,62,65,8,152,62,167,67,152,62,19,127,152,62,135,186,152,62,1,246,152,62,130,49,153,62,10,109,153,62,153,168,153,62,47,228,153,62,203,31,154,62,110,91,154,62,24,151,154,62,200,210,154,62,127,14,155,62,61,74,155,62,2,134,155,62,205,193,155,62,158,253,155,62,119,57,156,62,85,117,156,62,59,177,156,62,39,237,156,62,25,41,157,62,18,101,157,62,18,161,157,62,24,221,157,62,36,25,158,62,55,85,158,62,80,145,158,62,112,205,158,62,150,9,159,62,195,69,159,62,246,129,159,62,47,190,159,62,111,250,159,62,180,54,160,62,1,115,160,62,83,175,160,62,172,235,160,62,11,40,161,62,112,100,161,62,219,160,161,62,77,221,161,62,196,25,162,62,66,86,162,62,198,146,162,62,81,207,162,62,225,11,163,62,119,72,163,62,20,133,163,62,182,193,163,62,95,254,163,62,13,59,164,62,194,119,164,62,125,180,164,62,61,241,164,62,4,46,165,62,208,106,165,62,162,167,165,62,123,228,165,62,89,33,166,62,61,94,166,62,39,155,166,62,23,216,166,62,12,21,167,62,7,82,167,62,8,143,167,62,15,204,167,62,28,9,168,62,46,70,168,62,70,131,168,62,100,192,168,62,136,253,168,62,177,58,169,62,223,119,169,62,20,181,169,62,78,242,169,62,141,47,170,62,211,108,170,62,29,170,170,62,109,231,170,62,195,36,171,62,31,98,171,62,127,159,171,62,230,220,171,62,81,26,172,62,194,87,172,62,57,149,172,62,181,210,172,62,54,16,173,62,189,77,173,62,73,139,173,62,218,200,173,62,113,6,174,62,13,68,174,62,174,129,174,62,85,191,174,62,0,253,174,62,177,58,175,62,103,120,175,62,35,182,175,62,227,243,175,62,169,49,176,62,116,111,176,62,68,173,176,62,25,235,176,62,243,40,177,62,210,102,177,62,182,164,177,62,160,226,177,62,142,32,178,62,129,94,178,62,121,156,178,62,119,218,178,62,121,24,179,62,128,86,179,62,140,148,179,62,157,210,179,62,178,16,180,62,205,78,180,62,236,140,180,62,16,203,180,62,57,9,181,62,103,71,181,62,154,133,181,62,209,195,181,62,13,2,182,62,78,64,182,62,147,126,182,62,221,188,182,62,44,251,182,62,127,57,183,62,215,119,183,62,52,182,183,62,149,244,183,62,251,50,184,62,101,113,184,62,212,175,184,62,71,238,184,62,191,44,185,62,59,107,185,62,188,169,185,62,65,232,185,62,202,38,186,62,88,101,186,62,235,163,186,62,129,226,186,62,28,33,187,62,188,95,187,62,95,158,187,62,7,221,187,62,180,27,188,62,100,90,188,62,25,153,188,62,210,215,188,62,143,22,189,62,80,85,189,62,22,148,189,62,223,210,189,62,173,17,190,62,127,80,190,62,85,143,190,62,47,206,190,62,13,13,191,62,239,75,191,62,213,138,191,62,191,201,191,62,173,8,192,62,159,71,192,62,149,134,192,62,143,197,192,62,141,4,193,62,143,67,193,62,148,130,193,62,158,193,193,62,171,0,194,62,188,63,194,62,209,126,194,62,234,189,194,62,6,253,194,62,38,60,195,62,74,123,195,62,113,186,195,62,157,249,195,62,204,56,196,62,254,119,196,62,52,183,196,62,110,246,196,62,171,53,197,62,236,116,197,62,49,180,197,62,121,243,197,62,196,50,198,62,19,114,198,62,102,177,198,62,188,240,198,62,21,48,199,62,114,111,199,62,210,174,199,62,54,238,199,62,157,45,200,62,7,109,200,62,117,172,200,62,230,235,200,62,90,43,201,62,209,106,201,62,76,170,201,62,202,233,201,62,75,41,202,62,208,104,202,62,88,168,202,62,226,231,202,62,112,39,203,62,1,103,203,62,149,166,203,62,45,230,203,62,199,37,204,62,100,101,204,62,4,165,204,62,168,228,204,62,78,36,205,62,248,99,205,62,164,163,205,62,83,227,205,62,5,35,206,62,186,98,206,62,114,162,206,62,45,226,206,62,234,33,207,62,171,97,207,62,110,161,207,62,52,225,207,62,253,32,208,62,200,96,208,62,150,160,208,62,103,224,208,62,59,32,209,62,17,96,209,62,234,159,209,62,198,223,209,62,164,31,210,62,133,95,210,62,104,159,210,62,78,223,210,62,55,31,211,62,33,95,211,62,15,159,211,62,255,222,211,62,241,30,212,62,230,94,212,62,221,158,212,62,215,222,212,62,211,30,213,62,209,94,213,62,210,158,213,62,213,222,213,62,219,30,214,62,226,94,214,62,236,158,214,62,248,222,214,62,7,31,215,62,24,95,215,62,42,159,215,62,63,223,215,62,87,31,216,62,112,95,216,62,139,159,216,62,169,223,216,62,200,31,217,62,234,95,217,62,14,160,217,62,51,224,217,62,91,32,218,62,133,96,218,62,176,160,218,62,222,224,218,62,13,33,219,62,63,97,219,62,114,161,219,62,167,225,219,62,222,33,220,62,23,98,220,62,82,162,220,62,142,226,220,62,204,34,221,62,12,99,221,62,78,163,221,62,146,227,221,62,215,35,222,62,29,100,222,62,102,164,222,62,176,228,222,62,252,36,223,62,73,101,223,62,152,165,223,62,232,229,223,62,58,38,224,62,142,102,224,62,227,166,224,62,57,231,224,62,145,39,225,62,234,103,225,62,69,168,225,62,161,232,225,62,255,40,226,62,94,105,226,62,190,169,226,62,32,234,226,62,131,42,227,62,231,106,227,62,76,171,227,62,179,235,227,62,27,44,228,62,132,108,228,62,238,172,228,62,90,237,228,62,199,45,229,62,52,110,229,62,163,174,229,62,19,239,229,62,133,47,230,62,247,111,230,62,106,176,230,62,222,240,230,62,83,49,231,62,202,113,231,62,65,178,231,62,185,242,231,62,50,51,232,62,172,115,232,62,38,180,232,62,162,244,232,62,31,53,233,62,156,117,233,62,26,182,233,62,153,246,233,62,25,55,234,62,153,119,234,62,26,184,234,62,156,248,234,62,31,57,235,62,162,121,235,62,38,186,235,62,170,250,235,62,47,59,236,62,181,123,236,62,59,188,236,62,194,252,236,62,73,61,237,62,209,125,237,62,89,190,237,62,226,254,237,62,107,63,238,62,245,127,238,62,127,192,238,62,10,1,239,62,149,65,239,62,32,130,239,62,171,194,239,62,55,3,240,62,196,67,240,62,80,132,240,62,221,196,240,62,106,5,241,62,247,69,241,62,132,134,241,62,18,199,241,62,160,7,242,62,45,72,242,62,187,136,242,62,74,201,242,62,216,9,243,62,102,74,243,62,244,138,243,62,131,203,243,62,17,12,244,62,159,76,244,62,46,141,244,62,188,205,244,62,74,14,245,62,216,78,245,62,102,143,245,62,244,207,245,62,129,16,246,62,15,81,246,62,156,145,246,62,41,210,246,62,182,18,247,62,67,83,247,62,207,147,247,62,91,212,247,62,231,20,248,62,115,85,248,62,254,149,248,62,136,214,248,62,19,23,249,62,157,87,249,62,38,152,249,62,175,216,249,62,56,25,250,62,192,89,250,62,72,154,250,62,207,218,250,62,86,27,251,62,220,91,251,62,97,156,251,62,230,220,251,62,106,29,252,62,238,93,252,62,113,158,252,62,243,222,252,62,117,31,253,62,245,95,253,62,118,160,253,62,245,224,253,62,116,33,254,62,241,97,254,62,110,162,254,62,235,226,254,62,102,35,255,62,224,99,255,62,90,164,255,62,211,228,255,62,165,18,0,63,225,50,0,63,27,83,0,63,86,115,0,63,144,147,0,63,201,179,0,63,2,212,0,63,58,244,0,63,114,20,1,63,169,52,1,63,224,84,1,63,22,117,1,63,76,149,1,63,129,181,1,63,181,213,1,63,233,245,1,63,28,22,2,63,78,54,2,63,128,86,2,63,178,118,2,63,226,150,2,63,18,183,2,63,65,215,2,63,112,247,2,63,157,23,3,63,203,55,3,63,247,87,3,63,35,120,3,63,78,152,3,63,120,184,3,63,161,216,3,63,202,248,3,63,242,24,4,63,25,57,4,63,63,89,4,63,101,121,4,63,137,153,4,63,173,185,4,63,208,217,4,63,243,249,4,63,20,26,5,63,52,58,5,63,84,90,5,63,115,122,5,63,145,154,5,63,173,186,5,63,202,218,5,63,229,250,5,63,255,26,6,63,24,59,6,63,48,91,6,63,72,123,6,63,94,155,6,63,116,187,6,63,136,219,6,63,155,251,6,63,174,27,7,63,191,59,7,63,208,91,7,63,223,123,7,63,237,155,7,63,250,187,7,63,7,220,7,63,18,252,7,63,28,28,8,63,37,60,8,63,44,92,8,63,51,124,8,63,57,156,8,63,61,188,8,63,64,220,8,63,67,252,8,63,68,28,9,63,68,60,9,63,66,92,9,63,64,124,9,63,60,156,9,63,55,188,9,63,49,220,9,63,41,252,9,63,33,28,10,63,23,60,10,63,12,92,10,63,255,123,10,63,242,155,10,63,227,187,10,63,211,219,10,63,193,251,10,63,174,27,11,63,154,59,11,63,133,91,11,63,110,123,11,63,86,155,11,63,60,187,11,63,33,219,11,63,5,251,11,63,231,26,12,63,200,58,12,63,168,90,12,63,134,122,12,63,98,154,12,63,62,186,12,63,23,218,12,63,240,249,12,63,199,25,13,63,156,57,13,63,112,89,13,63,66,121,13,63,19,153,13,63,227,184,13,63,176,216,13,63,125,248,13,63,72,24,14,63,17,56,14,63,216,87,14,63,159,119,14,63,99,151,14,63,38,183,14,63,232,214,14,63,167,246,14,63,101,22,15,63,34,54,15,63,221,85,15,63,150,117,15,63,78,149,15,63,4,181,15,63,184,212,15,63,106,244,15,63,27,20,16,63,202,51,16,63,120,83,16,63,36,115,16,63,206,146,16,63,118,178,16,63,28,210,16,63,193,241,16,63,100,17,17,63,6,49,17,63,165,80,17,63,67,112,17,63,223,143,17,63,121,175,17,63,17,207,17,63,167,238,17,63,60,14,18,63,206,45,18,63,95,77,18,63,238,108,18,63,123,140,18,63,7,172,18,63,144,203,18,63,23,235,18,63,157,10,19,63,32,42,19,63,162,73,19,63,34,105,19,63,159,136,19,63,27,168,19,63,149,199,19,63,13,231,19,63,131,6,20,63,247,37,20,63,104,69,20,63,216,100,20,63,70,132,20,63,178,163,20,63,27,195,20,63,131,226,20,63,233,1,21,63,76,33,21,63,174,64,21,63,13,96,21,63,106,127,21,63,197,158,21,63,31,190,21,63,117,221,21,63,202,252,21,63,29,28,22,63,109,59,22,63,188,90,22,63,8,122,22,63,82,153,22,63,153,184,22,63,223,215,22,63,34,247,22,63,100,22,23,63,162,53,23,63,223,84,23,63,26,116,23,63,82,147,23,63,136,178,23,63,187,209,23,63,237,240,23,63,28,16,24,63,73,47,24,63,115,78,24,63,155,109,24,63,193,140,24,63,228,171,24,63,6,203,24,63,36,234,24,63,65,9,25,63,91,40,25,63,115,71,25,63,136,102,25,63,155,133,25,63,171,164,25,63,185,195,25,63,197,226,25,63,206,1,26,63,213,32,26,63,217,63,26,63,219,94,26,63,218,125,26,63,215,156,26,63,210,187,26,63,202,218,26,63,191,249,26,63,178,24,27,63,162,55,27,63,144,86,27,63,123,117,27,63,100,148,27,63,74,179,27,63,46,210,27,63,15,241,27,63,237,15,28,63,201,46,28,63,162,77,28,63,121,108,28,63,77,139,28,63,31,170,28,63,237,200,28,63,185,231,28,63,131,6,29,63,74,37,29,63,14,68,29,63,207,98,29,63,142,129,29,63,74,160,29,63,3,191,29,63,186,221,29,63,110,252,29,63,31,27,30,63,205,57,30,63,121,88,30,63,34,119,30,63,200,149,30,63,107,180,30,63,12,211,30,63,170,241,30,63,69,16,31,63,221,46,31,63,114,77,31,63,5,108,31,63,148,138,31,63,33,169,31,63,171,199,31,63,50,230,31,63,182,4,32,63,56,35,32,63,182,65,32,63,50,96,32,63,170,126,32,63,32,157,32,63,147,187,32,63,3,218,32,63,112,248,32,63,218,22,33,63,65,53,33,63,165,83,33,63,6,114,33,63,100,144,33,63,191,174,33,63,23,205,33,63,108,235,33,63,190,9,34,63,13,40,34,63,89,70,34,63,162,100,34,63,232,130,34,63,43,161,34,63,107,191,34,63,167,221,34,63,225,251,34,63,24,26,35,63,75,56,35,63,123,86,35,63,168,116,35,63,211,146,35,63,249,176,35,63,29,207,35,63,62,237,35,63,91,11,36,63,118,41,36,63,141,71,36,63,161,101,36,63,177,131,36,63,191,161,36,63,201,191,36,63,208,221,36,63,212,251,36,63,213,25,37,63,210,55,37,63,204,85,37,63,195,115,37,63,183,145,37,63,167,175,37,63,148,205,37,63,126,235,37,63,101,9,38,63,72,39,38,63,40,69,38,63,4,99,38,63,221,128,38,63,179,158,38,63,134,188,38,63,85,218,38,63,33,248,38,63,233,21,39,63,174,51,39,63,112,81,39,63,46,111,39,63,233,140,39,63,160,170,39,63,84,200,39,63,4,230,39,63,178,3,40,63,91,33,40,63,1,63,40,63,164,92,40,63,67,122,40,63,223,151,40,63,120,181,40,63,12,211,40,63,158,240,40,63,43,14,41,63,182,43,41,63,60,73,41,63,192,102,41,63,63,132,41,63,187,161,41,63,52,191,41,63,169,220,41,63,26,250,41,63,136,23,42,63,242,52,42,63,89,82,42,63,188,111,42,63,28,141,42,63,119,170,42,63,208,199,42,63,36,229,42,63,117,2,43,63,194,31,43,63,12,61,43,63,82,90,43,63,148,119,43,63,211,148,43,63,14,178,43,63,69,207,43,63,120,236,43,63,168,9,44,63,212,38,44,63,252,67,44,63,33,97,44,63,66,126,44,63,95,155,44,63,120,184,44,63,142,213,44,63,159,242,44,63,173,15,45,63,184,44,45,63,190,73,45,63,193,102,45,63,191,131,45,63,186,160,45,63,177,189,45,63,165,218,45,63,148,247,45,63,128,20,46,63,103,49,46,63,75,78,46,63,43,107,46,63,7,136,46,63,224,164,46,63,180,193,46,63,132,222,46,63,81,251,46,63,26,24,47,63,222,52,47,63,159,81,47,63,92,110,47,63,21,139,47,63,202,167,47,63,123,196,47,63,40,225,47,63,209,253,47,63,118,26,48,63,23,55,48,63,180,83,48,63,77,112,48,63,226,140,48,63,115,169,48,63,0,198,48,63,137,226,48,63,14,255,48,63,142,27,49,63,11,56,49,63,132,84,49,63,248,112,49,63,105,141,49,63,214,169,49,63,62,198,49,63,162,226,49,63,2,255,49,63,95,27,50,63,182,55,50,63,10,84,50,63,90,112,50,63,166,140,50,63,237,168,50,63,48,197,50,63,111,225,50,63,170,253,50,63,225,25,51,63,19,54,51,63,66,82,51,63,108,110,51,63,146,138,51,63,180,166,51,63,209,194,51,63,234,222,51,63,0,251,51,63,16,23,52,63,29,51,52,63,37,79,52,63,41,107,52,63,41,135,52,63,37,163,52,63,28,191,52,63,15,219,52,63,253,246,52,63,232,18,53,63,206,46,53,63,176,74,53,63,141,102,53,63,102,130,53,63,59,158,53,63,11,186,53,63,215,213,53,63,159,241,53,63,98,13,54,63,33,41,54,63,220,68,54,63,146,96,54,63,68,124,54,63,241,151,54,63,154,179,54,63,63,207,54,63,223,234,54,63,123,6,55,63,18,34,55,63,165,61,55,63,52,89,55,63,190,116,55,63,67,144,55,63,196,171,55,63,65,199,55,63,185,226,55,63,45,254,55,63,156,25,56,63,7,53,56,63,109,80,56,63,207,107,56,63,44,135,56,63,133,162,56,63,217,189,56,63,40,217,56,63,115,244,56,63,186,15,57,63,252,42,57,63,57,70,57,63,114,97,57,63,166,124,57,63,214,151,57,63,1,179,57,63,40,206,57,63,74,233,57,63,103,4,58,63,128,31,58,63,148,58,58,63,163,85,58,63,174,112,58,63,180,139,58,63,182,166,58,63,179,193,58,63,171,220,58,63,159,247,58,63,142,18,59,63,120,45,59,63,94,72,59,63,63,99,59,63,27,126,59,63,243,152,59,63,197,179,59,63,148,206,59,63,93,233,59,63,34,4,60,63,226,30,60,63,157,57,60,63,84,84,60,63,5,111,60,63,178,137,60,63,91,164,60,63,254,190,60,63,157,217,60,63,55,244,60,63,204,14,61,63,93,41,61,63,232,67,61,63,111,94,61,63,241,120,61,63,110,147,61,63,231,173,61,63,91,200,61,63,201,226,61,63,51,253,61,63,152,23,62,63,249,49,62,63,84,76,62,63,171,102,62,63,252,128,62,63,73,155,62,63,145,181,62,63,212,207,62,63,19,234,62,63,76,4,63,63,128,30,63,63,176,56,63,63,219,82,63,63,0,109,63,63,33,135,63,63,61,161,63,63,84,187,63,63,102,213,63,63,115,239,63,63,123,9,64,63,127,35,64,63,125,61,64,63,118,87,64,63,106,113,64,63,90,139,64,63,68,165,64,63,42,191,64,63,10,217,64,63,229,242,64,63,188,12,65,63,141,38,65,63,90,64,65,63,33,90,65,63,228,115,65,63,161,141,65,63,89,167,65,63,13,193,65,63,187,218,65,63,100,244,65,63,8,14,66,63,167,39,66,63,65,65,66,63,214,90,66,63,102,116,66,63,241,141,66,63,119,167,66,63,248,192,66,63,115,218,66,63,234,243,66,63,91,13,67,63,199,38,67,63,47,64,67,63,145,89,67,63,238,114,67,63,69,140,67,63,152,165,67,63,230,190,67,63,46,216,67,63,113,241,67,63,175,10,68,63,232,35,68,63,28,61,68,63,75,86,68,63,116,111,68,63,153,136,68,63,184,161,68,63,210,186,68,63,230,211,68,63,246,236,68,63,0,6,69,63,5,31,69,63,5,56,69,63,0,81,69,63,245,105,69,63,230,130,69,63,209,155,69,63,182,180,69,63,151,205,69,63,114,230,69,63,72,255,69,63,25,24,70,63,229,48,70,63,171,73,70,63,108,98,70,63,40,123,70,63,222,147,70,63,143,172,70,63,59,197,70,63,226,221,70,63,131,246,70,63,31,15,71,63,182,39,71,63,71,64,71,63,211,88,71,63,90,113,71,63,220,137,71,63,88,162,71,63,207,186,71,63,64,211,71,63,172,235,71,63,19,4,72,63,116,28,72,63,209,52,72,63,39,77,72,63,121,101,72,63,197,125,72,63,11,150,72,63,77,174,72,63,137,198,72,63,191,222,72,63,240,246,72,63,28,15,73,63,66,39,73,63,99,63,73,63,127,87,73,63,149,111,73,63,166,135,73,63,177,159,73,63,183,183,73,63,183,207,73,63,178,231,73,63,168,255,73,63,152,23,74,63,131,47,74,63,104,71,74,63,72,95,74,63,34,119,74,63,247,142,74,63,199,166,74,63,145,190,74,63,85,214,74,63,20,238,74,63,206,5,75,63,130,29,75,63,49,53,75,63,218,76,75,63,126,100,75,63,28,124,75,63,181,147,75,63,72,171,75,63,213,194,75,63,93,218,75,63,224,241,75,63,93,9,76,63,213,32,76,63,71,56,76,63,179,79,76,63,26,103,76,63,124,126,76,63,216,149,76,63,46,173,76,63,127,196,76,63,202,219,76,63,16,243,76,63,80,10,77,63,139,33,77,63,192,56,77,63,240,79,77,63,26,103,77,63,62,126,77,63,93,149,77,63,118,172,77,63,137,195,77,63,151,218,77,63,160,241,77,63,163,8,78,63,160,31,78,63,151,54,78,63,137,77,78,63,118,100,78,63,93,123,78,63,62,146,78,63,25,169,78,63,239,191,78,63,192,214,78,63,138,237,78,63,79,4,79,63,15,27,79,63,201,49,79,63,125,72,79,63,43,95,79,63,212,117,79,63,119,140,79,63,21,163,79,63,172,185,79,63,63,208,79,63,203,230,79,63,82,253,79,63,211,19,80,63,79,42,80,63,197,64,80,63,53,87,80,63,159,109,80,63,4,132,80,63,99,154,80,63,189,176,80,63,16,199,80,63,94,221,80,63,167,243,80,63,233,9,81,63,38,32,81,63,93,54,81,63,143,76,81,63,187,98,81,63,225,120,81,63,1,143,81,63,28,165,81,63,48,187,81,63,64,209,81,63,73,231,81,63,77,253,81,63,75,19,82,63,67,41,82,63,53,63,82,63,34,85,82,63,9,107,82,63,234,128,82,63,198,150,82,63,155,172,82,63,107,194,82,63,53,216,82,63,250,237,82,63,185,3,83,63,113,25,83,63,37,47,83,63,210,68,83,63,121,90,83,63,27,112,83,63,183,133,83,63,77,155,83,63,222,176,83,63,104,198,83,63,237,219,83,63,108,241,83,63,230,6,84,63,89,28,84,63,199,49,84,63,46,71,84,63,145,92,84,63,237,113,84,63,67,135,84,63,148,156,84,63,223,177,84,63,35,199,84,63,99,220,84,63,156,241,84,63,207,6,85,63,253,27,85,63,37,49,85,63,71,70,85,63,99,91,85,63,121,112,85,63,138,133,85,63,149,154,85,63,153,175,85,63,152,196,85,63,146,217,85,63,133,238,85,63,114,3,86,63,90,24,86,63,60,45,86,63,24,66,86,63,238,86,86,63,190,107,86,63,136,128,86,63,76,149,86,63,11,170,86,63,196,190,86,63,118,211,86,63,35,232,86,63,203,252,86,63,108,17,87,63,7,38,87,63,156,58,87,63,44,79,87,63,182,99,87,63,58,120,87,63,183,140,87,63,47,161,87,63,162,181,87,63,14,202,87,63,116,222,87,63,213,242,87,63,47,7,88,63,132,27,88,63,211,47,88,63,28,68,88,63,95,88,88,63,156,108,88,63,211,128,88,63,4,149,88,63,47,169,88,63,85,189,88,63,116,209,88,63,142,229,88,63,162,249,88,63,175,13,89,63,183,33,89,63,185,53,89,63,181,73,89,63,171,93,89,63,155,113,89,63,134,133,89,63,106,153,89,63,72,173,89,63,33,193,89,63,243,212,89,63,192,232,89,63,135,252,89,63,71,16,90,63,2,36,90,63,183,55,90,63,102,75,90,63,15,95,90,63,178,114,90,63,79,134,90,63,230,153,90,63,119,173,90,63,3,193,90,63,136,212,90,63,7,232,90,63,129,251,90,63,244,14,91,63,98,34,91,63,201,53,91,63,43,73,91,63,135,92,91,63,220,111,91,63,44,131,91,63,118,150,91,63,186,169,91,63,248,188,91,63,47,208,91,63,97,227,91,63,141,246,91,63,179,9,92,63,212,28,92,63,238,47,92,63,2,67,92,63,16,86,92,63,24,105,92,63,26,124,92,63,23,143,92,63,13,162,92,63,253,180,92,63,232,199,92,63,204,218,92,63,171,237,92,63,131,0,93,63,86,19,93,63,34,38,93,63,233,56,93,63,169,75,93,63,100,94,93,63,24,113,93,63,199,131,93,63,112,150,93,63,18,169,93,63,175,187,93,63,70,206,93,63,215,224,93,63,97,243,93,63,230,5,94,63,101,24,94,63,222,42,94,63,81,61,94,63,190,79,94,63,36,98,94,63,133,116,94,63,224,134,94,63,53,153,94,63,132,171,94,63,205,189,94,63,16,208,94,63,77,226,94,63,132,244,94,63,181,6,95,63,224,24,95,63,5,43,95,63,36,61,95,63,61,79,95,63,80,97,95,63,93,115,95,63,101,133,95,63,102,151,95,63,97,169,95,63,86,187,95,63,69,205,95,63,46,223,95,63,18,241,95,63,239,2,96,63,198,20,96,63,151,38,96,63,98,56,96,63,40,74,96,63,231,91,96,63,160,109,96,63,84,127,96,63,1,145,96,63,168,162,96,63,73,180,96,63,229,197,96,63,122,215,96,63,10,233,96,63,147,250,96,63,22,12,97,63,148,29,97,63,11,47,97,63,125,64,97,63,232,81,97,63,77,99,97,63,173,116,97,63,6,134,97,63,90,151,97,63,167,168,97,63,239,185,97,63,48,203,97,63,108,220,97,63,162,237,97,63,209,254,97,63,251,15,98,63,30,33,98,63,60,50,98,63,84,67,98,63,101,84,98,63,113,101,98,63,119,118,98,63,119,135,98,63,112,152,98,63,100,169,98,63,82,186,98,63,58,203,98,63,28,220,98,63,247,236,98,63,205,253,98,63,157,14,99,63,103,31,99,63,43,48,99,63,233,64,99,63,161,81,99,63,83,98,99,63,255,114,99,63,165,131,99,63,69,148,99,63,224,164,99,63,116,181,99,63,2,198,99,63,138,214,99,63,13,231,99,63,137,247,99,63,255,7,100,63,112,24,100,63,218,40,100,63,62,57,100,63,157,73,100,63,246,89,100,63,72,106,100,63,149,122,100,63,219,138,100,63,28,155,100,63,87,171,100,63,140,187,100,63,186,203,100,63,227,219,100,63,6,236,100,63,35,252,100,63,58,12,101,63,75,28,101,63,86,44,101,63,91,60,101,63,91,76,101,63,84,92,101,63,71,108,101,63,53,124,101,63,28,140,101,63,254,155,101,63,217,171,101,63,175,187,101,63,126,203,101,63,72,219,101,63,12,235,101,63,202,250,101,63,130,10,102,63,52,26,102,63,224,41,102,63,134,57,102,63,38,73,102,63,193,88,102,63,85,104,102,63,227,119,102,63,108,135,102,63,238,150,102,63,107,166,102,63,226,181,102,63,83,197,102,63,190,212,102,63,35,228,102,63,130,243,102,63,219,2,103,63,46,18,103,63,124,33,103,63,195,48,103,63,5,64,103,63,64,79,103,63,118,94,103,63,166,109,103,63,208,124,103,63,244,139,103,63,18,155,103,63,42,170,103,63,61,185,103,63,73,200,103,63,80,215,103,63,80,230,103,63,75,245,103,63,64,4,104,63,47,19,104,63,24,34,104,63,251,48,104,63,217,63,104,63,176,78,104,63,130,93,104,63,78,108,104,63,20,123,104,63,212,137,104,63,142,152,104,63,66,167,104,63,240,181,104,63,153,196,104,63,60,211,104,63,217,225,104,63,112,240,104,63,1,255,104,63,140,13,105,63,17,28,105,63,145,42,105,63,11,57,105,63,127,71,105,63,237,85,105,63,85,100,105,63,183,114,105,63,20,129,105,63,106,143,105,63,187,157,105,63,6,172,105,63,75,186,105,63,139,200,105,63,196,214,105,63,248,228,105,63,38,243,105,63,78,1,106,63,112,15,106,63,141,29,106,63,163,43,106,63,180,57,106,63,191,71,106,63,196,85,106,63,196,99,106,63,189,113,106,63,177,127,106,63,159,141,106,63,135,155,106,63,106,169,106,63,70,183,106,63,29,197,106,63,238,210,106,63,186,224,106,63,127,238,106,63,63,252,106,63,249,9,107,63,173,23,107,63,91,37,107,63,4,51,107,63,167,64,107,63,68,78,107,63,219,91,107,63,109,105,107,63,249,118,107,63,127,132,107,63,255,145,107,63,122,159,107,63,238,172,107,63,94,186,107,63,199,199,107,63,42,213,107,63,136,226,107,63,224,239,107,63,51,253,107,63,128,10,108,63,198,23,108,63,8,37,108,63,67,50,108,63,121,63,108,63,169,76,108,63,211,89,108,63,248,102,108,63,23,116,108,63,48,129,108,63,68,142,108,63,82,155,108,63,90,168,108,63,92,181,108,63,89,194,108,63,80,207,108,63,65,220,108,63,45,233,108,63,19,246,108,63,243,2,109,63,206,15,109,63,163,28,109,63,114,41,109,63,60,54,109,63,0,67,109,63,190,79,109,63,119,92,109,63,42,105,109,63,215,117,109,63,127,130,109,63,33,143,109,63,189,155,109,63,84,168,109,63,229,180,109,63,113,193,109,63,247,205,109,63,119,218,109,63,242,230,109,63,103,243,109,63,214,255,109,63,64,12,110,63,164,24,110,63,3,37,110,63,91,49,110,63,175,61,110,63,253,73,110,63,69,86,110,63,135,98,110,63,196,110,110,63,252,122,110,63,45,135,110,63,90,147,110,63,128,159,110,63,161,171,110,63,189,183,110,63,211,195,110,63,227,207,110,63,238,219,110,63,243,231,110,63,243,243,110,63,237,255,110,63,226,11,111,63,209,23,111,63,186,35,111,63,158,47,111,63,125,59,111,63,85,71,111,63,41,83,111,63,247,94,111,63,191,106,111,63,130,118,111,63,63,130,111,63,247,141,111,63,169,153,111,63,86,165,111,63,253,176,111,63,159,188,111,63,59,200,111,63,210,211,111,63,99,223,111,63,239,234,111,63,117,246,111,63,246,1,112,63,114,13,112,63,231,24,112,63,88,36,112,63,195,47,112,63,40,59,112,63,137,70,112,63,227,81,112,63,56,93,112,63,136,104,112,63,210,115,112,63,23,127,112,63,87,138,112,63,145,149,112,63,197,160,112,63,244,171,112,63,30,183,112,63,66,194,112,63,97,205,112,63,123,216,112,63,143,227,112,63,157,238,112,63,167,249,112,63,171,4,113,63,169,15,113,63,162,26,113,63,150,37,113,63,132,48,113,63,109,59,113,63,81,70,113,63,47,81,113,63,8,92,113,63,219,102,113,63,170,113,113,63,114,124,113,63,54,135,113,63,244,145,113,63,173,156,113,63,96,167,113,63,14,178,113,63,183,188,113,63,91,199,113,63,249,209,113,63,146,220,113,63,37,231,113,63,179,241,113,63,60,252,113,63,192,6,114,63,62,17,114,63,183,27,114,63,43,38,114,63,154,48,114,63,3,59,114,63,103,69,114,63,197,79,114,63,31,90,114,63,115,100,114,63,194,110,114,63,11,121,114,63,79,131,114,63,143,141,114,63,200,151,114,63,253,161,114,63,44,172,114,63,87,182,114,63,123,192,114,63,155,202,114,63,182,212,114,63,203,222,114,63,219,232,114,63,230,242,114,63,235,252,114,63,236,6,115,63,231,16,115,63,221,26,115,63,206,36,115,63,186,46,115,63,160,56,115,63,130,66,115,63,94,76,115,63,53,86,115,63,7,96,115,63,212,105,115,63,155,115,115,63,94,125,115,63,27,135,115,63,211,144,115,63,134,154,115,63,52,164,115,63,221,173,115,63,128,183,115,63,31,193,115,63,184,202,115,63,77,212,115,63,220,221,115,63,102,231,115,63,235,240,115,63,107,250,115,63,230,3,116,63,92,13,116,63,204,22,116,63,56,32,116,63,159,41,116,63,0,51,116,63,93,60,116,63,180,69,116,63,6,79,116,63,84,88,116,63,156,97,116,63,223,106,116,63,29,116,116,63,87,125,116,63,139,134,116,63,186,143,116,63,228,152,116,63,9,162,116,63,41,171,116,63,68,180,116,63,91,189,116,63,108,198,116,63,120,207,116,63,127,216,116,63,129,225,116,63,127,234,116,63,119,243,116,63,106,252,116,63,89,5,117,63,66,14,117,63,38,23,117,63,6,32,117,63,225,40,117,63,182,49,117,63,135,58,117,63,83,67,117,63,26,76,117,63,220,84,117,63,153,93,117,63,81,102,117,63,4,111,117,63,179,119,117,63,92,128,117,63,1,137,117,63,160,145,117,63,59,154,117,63,209,162,117,63,98,171,117,63,239,179,117,63,118,188,117,63,249,196,117,63,118,205,117,63,239,213,117,63,99,222,117,63,210,230,117,63,61,239,117,63,162,247,117,63,3,0,118,63,95,8,118,63,182,16,118,63,8,25,118,63,86,33,118,63,159,41,118,63,227,49,118,63,34,58,118,63,92,66,118,63,146,74,118,63,195,82,118,63,239,90,118,63,22,99,118,63,57,107,118,63,86,115,118,63,112,123,118,63,132,131,118,63,148,139,118,63,158,147,118,63,165,155,118,63,166,163,118,63,163,171,118,63,155,179,118,63,142,187,118,63,125,195,118,63,103,203,118,63,76,211,118,63,45,219,118,63,9,227,118,63,224,234,118,63,178,242,118,63,128,250,118,63,74,2,119,63,14,10,119,63,206,17,119,63,137,25,119,63,64,33,119,63,242,40,119,63,160,48,119,63,72,56,119,63,237,63,119,63,140,71,119,63,39,79,119,63,190,86,119,63,79,94,119,63,220,101,119,63,101,109,119,63,233,116,119,63,105,124,119,63,228,131,119,63,90,139,119,63,204,146,119,63,57,154,119,63,162,161,119,63,6,169,119,63,101,176,119,63,192,183,119,63,23,191,119,63,105,198,119,63,182,205,119,63,255,212,119,63,68,220,119,63,132,227,119,63,191,234,119,63,246,241,119,63,41,249,119,63,87,0,120,63,129,7,120,63,166,14,120,63,198,21,120,63,227,28,120,63,250,35,120,63,14,43,120,63,28,50,120,63,39,57,120,63,45,64,120,63,46,71,120,63,44,78,120,63,36,85,120,63,25,92,120,63,9,99,120,63,244,105,120,63,219,112,120,63,190,119,120,63,156,126,120,63,118,133,120,63,76,140,120,63,29,147,120,63,234,153,120,63,179,160,120,63,119,167,120,63,55,174,120,63,242,180,120,63,169,187,120,63,92,194,120,63,11,201,120,63,181,207,120,63,91,214,120,63,252,220,120,63,154,227,120,63,51,234,120,63,199,240,120,63,88,247,120,63,228,253,120,63,108,4,121,63,240,10,121,63,111,17,121,63,234,23,121,63,97,30,121,63,211,36,121,63,66,43,121,63,172,49,121,63,18,56,121,63,116,62,121,63,209,68,121,63,42,75,121,63,127,81,121,63,208,87,121,63,29,94,121,63,101,100,121,63,170,106,121,63,234,112,121,63,38,119,121,63,93,125,121,63,145,131,121,63,193,137,121,63,236,143,121,63,19,150,121,63,54,156,121,63,85,162,121,63,112,168,121,63,134,174,121,63,153,180,121,63,167,186,121,63,178,192,121,63,184,198,121,63,186,204,121,63,184,210,121,63,178,216,121,63,168,222,121,63,154,228,121,63,135,234,121,63,113,240,121,63,87,246,121,63,56,252,121,63,22,2,122,63,239,7,122,63,197,13,122,63,150,19,122,63,100,25,122,63,45,31,122,63,243,36,122,63,180,42,122,63,113,48,122,63,43,54,122,63,224,59,122,63,146,65,122,63,63,71,122,63,233,76,122,63,142,82,122,63,48,88,122,63,206,93,122,63,103,99,122,63,253,104,122,63,143,110,122,63,29,116,122,63,167,121,122,63,45,127,122,63,175,132,122,63,45,138,122,63,168,143,122,63,30,149,122,63,145,154,122,63,255,159,122,63,106,165,122,63,209,170,122,63,52,176,122,63,147,181,122,63,239,186,122,63,70,192,122,63,154,197,122,63,234,202,122,63,54,208,122,63,126,213,122,63,194,218,122,63,3,224,122,63,64,229,122,63,121,234,122,63,174,239,122,63,223,244,122,63,13,250,122,63,55,255,122,63,93,4,123,63,127,9,123,63,157,14,123,63,184,19,123,63,207,24,123,63,227,29,123,63,242,34,123,63,254,39,123,63,6,45,123,63,10,50,123,63,11,55,123,63,8,60,123,63,1,65,123,63,247,69,123,63,233,74,123,63,215,79,123,63,193,84,123,63,168,89,123,63,139,94,123,63,107,99,123,63,71,104,123,63,31,109,123,63,243,113,123,63,196,118,123,63,146,123,123,63,91,128,123,63,33,133,123,63,228,137,123,63,163,142,123,63,94,147,123,63,22,152,123,63,202,156,123,63,122,161,123,63,39,166,123,63,208,170,123,63,118,175,123,63,24,180,123,63,183,184,123,63,82,189,123,63,233,193,123,63,125,198,123,63,14,203,123,63,155,207,123,63,36,212,123,63,170,216,123,63,45,221,123,63,172,225,123,63,39,230,123,63,159,234,123,63,19,239,123,63,132,243,123,63,242,247,123,63,92,252,123,63,195,0,124,63,38,5,124,63,133,9,124,63,226,13,124,63,58,18,124,63,144,22,124,63,226,26,124,63,48,31,124,63,123,35,124,63,195,39,124,63,7,44,124,63,72,48,124,63,134,52,124,63,192,56,124,63,247,60,124,63,42,65,124,63,90,69,124,63,135,73,124,63,176,77,124,63,214,81,124,63,249,85,124,63,24,90,124,63,52,94,124,63,77,98,124,63,98,102,124,63,116,106,124,63,131,110,124,63,142,114,124,63,150,118,124,63,155,122,124,63,157,126,124,63,155,130,124,63,150,134,124,63,142,138,124,63,130,142,124,63,116,146,124,63,98,150,124,63,77,154,124,63,52,158,124,63,24,162,124,63,249,165,124,63,215,169,124,63,178,173,124,63,137,177,124,63,94,181,124,63,47,185,124,63,253,188,124,63,199,192,124,63,143,196,124,63,83,200,124,63,20,204,124,63,211,207,124,63,141,211,124,63,69,215,124,63,250,218,124,63,171,222,124,63,90,226,124,63,5,230,124,63,173,233,124,63,82,237,124,63,244,240,124,63,147,244,124,63,46,248,124,63,199,251,124,63,93,255,124,63,239,2,125,63,127,6,125,63,11,10,125,63,148,13,125,63,27,17,125,63,158,20,125,63,30,24,125,63,155,27,125,63,21,31,125,63,140,34,125,63,0,38,125,63,114,41,125,63,224,44,125,63,75,48,125,63,179,51,125,63,24,55,125,63,122,58,125,63,217,61,125,63,54,65,125,63,143,68,125,63,229,71,125,63,56,75,125,63,137,78,125,63,214,81,125,63,33,85,125,63,104,88,125,63,173,91,125,63,239,94,125,63,46,98,125,63,106,101,125,63,163,104,125,63,217,107,125,63,12,111,125,63,61,114,125,63,106,117,125,63,149,120,125,63,189,123,125,63,226,126,125,63,4,130,125,63,36,133,125,63,64,136,125,63,90,139,125,63,112,142,125,63,133,145,125,63,150,148,125,63,164,151,125,63,176,154,125,63,185,157,125,63,191,160,125,63,194,163,125,63,194,166,125,63,192,169,125,63,187,172,125,63,179,175,125,63,168,178,125,63,155,181,125,63,139,184,125,63,120,187,125,63,99,190,125,63,74,193,125,63,48,196,125,63,18,199,125,63,241,201,125,63,206,204,125,63,169,207,125,63,128,210,125,63,85,213,125,63,39,216,125,63,247,218,125,63,196,221,125,63,142,224,125,63,85,227,125,63,26,230,125,63,220,232,125,63,156,235,125,63,89,238,125,63,19,241,125,63,203,243,125,63,128,246,125,63,51,249,125,63,227,251,125,63,144,254,125,63,59,1,126,63,227,3,126,63,137,6,126,63,44,9,126,63,204,11,126,63,106,14,126,63,6,17,126,63,158,19,126,63,53,22,126,63,200,24,126,63,90,27,126,63,232,29,126,63,116,32,126,63,254,34,126,63,133,37,126,63,10,40,126,63,140,42,126,63,12,45,126,63,137,47,126,63,4,50,126,63,124,52,126,63,242,54,126,63,101,57,126,63,214,59,126,63,68,62,126,63,176,64,126,63,26,67,126,63,129,69,126,63,230,71,126,63,72,74,126,63,168,76,126,63,5,79,126,63,96,81,126,63,185,83,126,63,15,86,126,63,99,88,126,63,181,90,126,63,4,93,126,63,81,95,126,63,155,97,126,63,227,99,126,63,41,102,126,63,108,104,126,63,173,106,126,63,236,108,126,63,40,111,126,63,98,113,126,63,154,115,126,63,208,117,126,63,3,120,126,63,51,122,126,63,98,124,126,63,142,126,126,63,184,128,126,63,224,130,126,63,5,133,126,63,40,135,126,63,73,137,126,63,104,139,126,63,132,141,126,63,159,143,126,63,183,145,126,63,204,147,126,63,224,149,126,63,241,151,126,63,0,154,126,63,13,156,126,63,24,158,126,63,32,160,126,63,38,162,126,63,42,164,126,63,44,166,126,63,44,168,126,63,41,170,126,63,37,172,126,63,30,174,126,63,21,176,126,63,10,178,126,63,253,179,126,63,238,181,126,63,220,183,126,63,201,185,126,63,179,187,126,63,155,189,126,63,129,191,126,63,101,193,126,63,71,195,126,63,39,197,126,63,5,199,126,63,224,200,126,63,186,202,126,63,145,204,126,63,103,206,126,63,58,208,126,63,12,210,126,63,219,211,126,63,168,213,126,63,115,215,126,63,61,217,126,63,4,219,126,63,201,220,126,63,140,222,126,63,77,224,126,63,12,226,126,63,202,227,126,63,133,229,126,63,62,231,126,63,245,232,126,63,170,234,126,63,94,236,126,63,15,238,126,63,190,239,126,63,108,241,126,63,23,243,126,63,193,244,126,63,104,246,126,63,14,248,126,63,178,249,126,63,84,251,126,63,243,252,126,63,145,254,126,63,46,0,127,63,200,1,127,63,96,3,127,63,247,4,127,63,139,6,127,63,30,8,127,63,175,9,127,63,62,11,127,63,203,12,127,63,86,14,127,63,223,15,127,63,103,17,127,63,237,18,127,63,112,20,127,63,242,21,127,63,115,23,127,63,241,24,127,63,110,26,127,63,233,27,127,63,98,29,127,63,217,30,127,63,78,32,127,63,194,33,127,63,52,35,127,63,164,36,127,63,18,38,127,63,127,39,127,63,234,40,127,63,83,42,127,63,186,43,127,63,32,45,127,63,131,46,127,63,230,47,127,63,70,49,127,63,165,50,127,63,2,52,127,63,93,53,127,63,182,54,127,63,14,56,127,63,100,57,127,63,185,58,127,63,12,60,127,63,93,61,127,63,172,62,127,63,250,63,127,63,70,65,127,63,145,66,127,63,217,67,127,63,33,69,127,63,102,70,127,63,170,71,127,63,236,72,127,63,45,74,127,63,108,75,127,63,169,76,127,63,229,77,127,63,31,79,127,63,88,80,127,63,143,81,127,63,196,82,127,63,248,83,127,63,42,85,127,63,91,86,127,63,138,87,127,63,184,88,127,63,228,89,127,63,14,91,127,63,55,92,127,63,94,93,127,63,132,94,127,63,169,95,127,63,203,96,127,63,237,97,127,63,12,99,127,63,42,100,127,63,71,101,127,63,98,102,127,63,124,103,127,63,148,104,127,63,171,105,127,63,192,106,127,63,212,107,127,63,230,108,127,63,247,109,127,63,6,111,127,63,20,112,127,63,33,113,127,63,44,114,127,63,53,115,127,63,61,116,127,63,68,117,127,63,73,118,127,63,77,119,127,63,79,120,127,63,80,121,127,63,80,122,127,63,78,123,127,63,75,124,127,63,70,125,127,63,64,126,127,63,57,127,127,63,48,128,127,63,38,129,127,63,27,130,127,63,14,131,127,63,0,132,127,63,240,132,127,63,223,133,127,63,205,134,127,63,185,135,127,63,164,136,127,63,142,137,127,63,118,138,127,63,93,139,127,63,67,140,127,63,40,141,127,63,11,142,127,63,237,142,127,63,205,143,127,63,173,144,127,63,139,145,127,63,103,146,127,63,67,147,127,63,29,148,127,63,246,148,127,63,205,149,127,63,164,150,127,63,121,151,127,63,77,152,127,63,31,153,127,63,241,153,127,63,193,154,127,63,144,155,127,63,93,156,127,63,42,157,127,63,245,157,127,63,191,158,127,63,136,159,127,63,79,160,127,63,22,161,127,63,219,161,127,63,159,162,127,63,98,163,127,63,36,164,127,63,228,164,127,63,163,165,127,63,98,166,127,63,31,167,127,63,219,167,127,63,149,168,127,63,79,169,127,63,7,170,127,63,190,170,127,63,117,171,127,63,42,172,127,63,221,172,127,63,144,173,127,63,66,174,127,63,242,174,127,63,162,175,127,63,80,176,127,63,253,176,127,63,169,177,127,63,85,178,127,63,254,178,127,63,167,179,127,63,79,180,127,63,246,180,127,63,156,181,127,63,64,182,127,63,228,182,127,63,134,183,127,63,40,184,127,63,200,184,127,63,103,185,127,63,6,186,127,63,163,186,127,63,63,187,127,63,219,187,127,63,117,188,127,63,14,189,127,63,166,189,127,63,61,190,127,63,212,190,127,63,105,191,127,63,253,191,127,63,144,192,127,63,34,193,127,63,180,193,127,63,68,194,127,63,211,194,127,63,98,195,127,63,239,195,127,63,123,196,127,63,7,197,127,63,145,197,127,63,27,198,127,63,163,198,127,63,43,199,127,63,178,199,127,63,56,200,127,63,189,200,127,63,65,201,127,63,196,201,127,63,70,202,127,63,199,202,127,63,71,203,127,63,199,203,127,63,69,204,127,63,195,204,127,63,64,205,127,63,187,205,127,63,54,206,127,63,177,206,127,63,42,207,127,63,162,207,127,63,26,208,127,63,144,208,127,63,6,209,127,63,123,209,127,63,239,209,127,63,98,210,127,63,213,210,127,63,70,211,127,63,183,211,127,63,39,212,127,63,150,212,127,63,4,213,127,63,114,213,127,63],"i8",O3,_.GLOBAL_BASE+541176),C3([222,213,127,63,74,214,127,63,181,214,127,63,32,215,127,63,137,215,127,63,242,215,127,63,89,216,127,63,192,216,127,63,39,217,127,63,140,217,127,63,241,217,127,63,85,218,127,63,184,218,127,63,27,219,127,63,124,219,127,63,221,219,127,63,61,220,127,63,157,220,127,63,251,220,127,63,89,221,127,63,183,221,127,63,19,222,127,63,111,222,127,63,202,222,127,63,36,223,127,63,126,223,127,63,215,223,127,63,47,224,127,63,134,224,127,63,221,224,127,63,51,225,127,63,137,225,127,63,221,225,127,63,49,226,127,63,133,226,127,63,215,226,127,63,41,227,127,63,122,227,127,63,203,227,127,63,27,228,127,63,106,228,127,63,185,228,127,63,7,229,127,63,84,229,127,63,161,229,127,63,237,229,127,63,56,230,127,63,131,230,127,63,205,230,127,63,23,231,127,63,96,231,127,63,168,231,127,63,239,231,127,63,54,232,127,63,125,232,127,63,195,232,127,63,8,233,127,63,76,233,127,63,144,233,127,63,212,233,127,63,23,234,127,63,89,234,127,63,154,234,127,63,219,234,127,63,28,235,127,63,92,235,127,63,155,235,127,63,218,235,127,63,24,236,127,63,86,236,127,63,147,236,127,63,207,236,127,63,11,237,127,63,71,237,127,63,130,237,127,63,188,237,127,63,246,237,127,63,47,238,127,63,104,238,127,63,160,238,127,63,216,238,127,63,15,239,127,63,69,239,127,63,123,239,127,63,177,239,127,63,230,239,127,63,27,240,127,63,79,240,127,63,130,240,127,63,182,240,127,63,232,240,127,63,26,241,127,63,76,241,127,63,125,241,127,63,174,241,127,63,222,241,127,63,14,242,127,63,61,242,127,63,108,242,127,63,154,242,127,63,200,242,127,63,245,242,127,63,34,243,127,63,79,243,127,63,123,243,127,63,166,243,127,63,209,243,127,63,252,243,127,63,38,244,127,63,80,244,127,63,121,244,127,63,162,244,127,63,203,244,127,63,243,244,127,63,27,245,127,63,66,245,127,63,105,245,127,63,143,245,127,63,181,245,127,63,219,245,127,63,0,246,127,63,37,246,127,63,73,246,127,63,109,246,127,63,145,246,127,63,180,246,127,63,215,246,127,63,250,246,127,63,28,247,127,63,62,247,127,63,95,247,127,63,128,247,127,63,160,247,127,63,193,247,127,63,225,247,127,63,0,248,127,63,31,248,127,63,62,248,127,63,93,248,127,63,123,248,127,63,152,248,127,63,182,248,127,63,211,248,127,63,240,248,127,63,12,249,127,63,40,249,127,63,68,249,127,63,95,249,127,63,122,249,127,63,149,249,127,63,175,249,127,63,202,249,127,63,227,249,127,63,253,249,127,63,22,250,127,63,47,250,127,63,71,250,127,63,96,250,127,63,120,250,127,63,143,250,127,63,166,250,127,63,190,250,127,63,212,250,127,63,235,250,127,63,1,251,127,63,23,251,127,63,44,251,127,63,66,251,127,63,87,251,127,63,108,251,127,63,128,251,127,63,148,251,127,63,168,251,127,63,188,251,127,63,208,251,127,63,227,251,127,63,246,251,127,63,8,252,127,63,27,252,127,63,45,252,127,63,63,252,127,63,81,252,127,63,98,252,127,63,115,252,127,63,132,252,127,63,149,252,127,63,165,252,127,63,182,252,127,63,198,252,127,63,213,252,127,63,229,252,127,63,244,252,127,63,3,253,127,63,18,253,127,63,33,253,127,63,47,253,127,63,62,253,127,63,76,253,127,63,89,253,127,63,103,253,127,63,116,253,127,63,130,253,127,63,143,253,127,63,155,253,127,63,168,253,127,63,181,253,127,63,193,253,127,63,205,253,127,63,217,253,127,63,228,253,127,63,240,253,127,63,251,253,127,63,6,254,127,63,17,254,127,63,28,254,127,63,38,254,127,63,49,254,127,63,59,254,127,63,69,254,127,63,79,254,127,63,89,254,127,63,98,254,127,63,108,254,127,63,117,254,127,63,126,254,127,63,135,254,127,63,144,254,127,63,152,254,127,63,161,254,127,63,169,254,127,63,177,254,127,63,185,254,127,63,193,254,127,63,201,254,127,63,208,254,127,63,216,254,127,63,223,254,127,63,230,254,127,63,237,254,127,63,244,254,127,63,251,254,127,63,2,255,127,63,8,255,127,63,14,255,127,63,21,255,127,63,27,255,127,63,33,255,127,63,39,255,127,63,45,255,127,63,50,255,127,63,56,255,127,63,61,255,127,63,67,255,127,63,72,255,127,63,77,255,127,63,82,255,127,63,87,255,127,63,92,255,127,63,96,255,127,63,101,255,127,63,105,255,127,63,110,255,127,63,114,255,127,63,118,255,127,63,122,255,127,63,126,255,127,63,130,255,127,63,134,255,127,63,138,255,127,63,142,255,127,63,145,255,127,63,149,255,127,63,152,255,127,63,155,255,127,63,159,255,127,63,162,255,127,63,165,255,127,63,168,255,127,63,171,255,127,63,174,255,127,63,176,255,127,63,179,255,127,63,182,255,127,63,184,255,127,63,187,255,127,63,189,255,127,63,192,255,127,63,194,255,127,63,196,255,127,63,198,255,127,63,201,255,127,63,203,255,127,63,205,255,127,63,207,255,127,63,209,255,127,63,210,255,127,63,212,255,127,63,214,255,127,63,216,255,127,63,217,255,127,63,219,255,127,63,220,255,127,63,222,255,127,63,223,255,127,63,225,255,127,63,226,255,127,63,227,255,127,63,229,255,127,63,230,255,127,63,231,255,127,63,232,255,127,63,233,255,127,63,234,255,127,63,235,255,127,63,236,255,127,63,237,255,127,63,238,255,127,63,239,255,127,63,240,255,127,63,241,255,127,63,241,255,127,63,242,255,127,63,243,255,127,63,244,255,127,63,244,255,127,63,245,255,127,63,246,255,127,63,246,255,127,63,247,255,127,63,247,255,127,63,248,255,127,63,248,255,127,63,249,255,127,63,249,255,127,63,250,255,127,63,250,255,127,63,250,255,127,63,251,255,127,63,251,255,127,63,251,255,127,63,252,255,127,63,252,255,127,63,252,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,253,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,254,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,255,255,127,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,0,0,128,63,69,78,67,79,68,69,82,0,79,103,103,86,111,114,98,105,115,69,110,99,111,100,101,114,46,106,115,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],"i8",O3,_.GLOBAL_BASE+551416);var bt=_.alignMemory(C3(12,"i8",Yo),8);e4(bt%8==0);function $C(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3]}function Br(r){j9[bt]=j9[r],j9[bt+1]=j9[r+1],j9[bt+2]=j9[r+2],j9[bt+3]=j9[r+3],j9[bt+4]=j9[r+4],j9[bt+5]=j9[r+5],j9[bt+6]=j9[r+6],j9[bt+7]=j9[r+7]}var er=AC,ja=z$,jo=0;function Xo(r){return N9[jo>>2]=r,r}var T2={EPERM:1,ENOENT:2,ESRCH:3,EINTR:4,EIO:5,ENXIO:6,E2BIG:7,ENOEXEC:8,EBADF:9,ECHILD:10,EAGAIN:11,EWOULDBLOCK:11,ENOMEM:12,EACCES:13,EFAULT:14,ENOTBLK:15,EBUSY:16,EEXIST:17,EXDEV:18,ENODEV:19,ENOTDIR:20,EISDIR:21,EINVAL:22,ENFILE:23,EMFILE:24,ENOTTY:25,ETXTBSY:26,EFBIG:27,ENOSPC:28,ESPIPE:29,EROFS:30,EMLINK:31,EPIPE:32,EDOM:33,ERANGE:34,ENOMSG:42,EIDRM:43,ECHRNG:44,EL2NSYNC:45,EL3HLT:46,EL3RST:47,ELNRNG:48,EUNATCH:49,ENOCSI:50,EL2HLT:51,EDEADLK:35,ENOLCK:37,EBADE:52,EBADR:53,EXFULL:54,ENOANO:55,EBADRQC:56,EBADSLT:57,EDEADLOCK:35,EBFONT:59,ENOSTR:60,ENODATA:61,ETIME:62,ENOSR:63,ENONET:64,ENOPKG:65,EREMOTE:66,ENOLINK:67,EADV:68,ESRMNT:69,ECOMM:70,EPROTO:71,EMULTIHOP:72,EDOTDOT:73,EBADMSG:74,ENOTUNIQ:76,EBADFD:77,EREMCHG:78,ELIBACC:79,ELIBBAD:80,ELIBSCN:81,ELIBMAX:82,ELIBEXEC:83,ENOSYS:38,ENOTEMPTY:39,ENAMETOOLONG:36,ELOOP:40,EOPNOTSUPP:95,EPFNOSUPPORT:96,ECONNRESET:104,ENOBUFS:105,EAFNOSUPPORT:97,EPROTOTYPE:91,ENOTSOCK:88,ENOPROTOOPT:92,ESHUTDOWN:108,ECONNREFUSED:111,EADDRINUSE:98,ECONNABORTED:103,ENETUNREACH:101,ENETDOWN:100,ETIMEDOUT:110,EHOSTDOWN:112,EHOSTUNREACH:113,EINPROGRESS:115,EALREADY:114,EDESTADDRREQ:89,EMSGSIZE:90,EPROTONOSUPPORT:93,ESOCKTNOSUPPORT:94,EADDRNOTAVAIL:99,ENETRESET:102,EISCONN:106,ENOTCONN:107,ETOOMANYREFS:109,EUSERS:87,EDQUOT:122,ESTALE:116,ENOTSUP:95,ENOMEDIUM:123,EILSEQ:84,EOVERFLOW:75,ECANCELED:125,ENOTRECOVERABLE:131,EOWNERDEAD:130,ESTRPIPE:86};function QB(r){switch(r){case 30:return nC;case 85:return Xr/nC;case 132:case 133:case 12:case 137:case 138:case 15:case 235:case 16:case 17:case 18:case 19:case 20:case 149:case 13:case 10:case 236:case 153:case 9:case 21:case 22:case 159:case 154:case 14:case 77:case 78:case 139:case 80:case 81:case 82:case 68:case 67:case 164:case 11:case 29:case 47:case 48:case 95:case 52:case 51:case 46:return 200809;case 79:return 0;case 27:case 246:case 127:case 128:case 23:case 24:case 160:case 161:case 181:case 182:case 242:case 183:case 184:case 243:case 244:case 245:case 165:case 178:case 179:case 49:case 50:case 168:case 169:case 175:case 170:case 171:case 172:case 97:case 76:case 32:case 173:case 35:return-1;case 176:case 177:case 7:case 155:case 8:case 157:case 125:case 126:case 92:case 93:case 129:case 130:case 131:case 94:case 91:return 1;case 74:case 60:case 69:case 70:case 4:return 1024;case 31:case 42:case 72:return 32;case 87:case 26:case 33:return 2147483647;case 34:case 1:return 47839;case 38:case 36:return 99;case 43:case 37:return 2048;case 0:return 2097152;case 3:return 65536;case 28:return 32768;case 44:return 32767;case 75:return 16384;case 39:return 1e3;case 89:return 700;case 71:return 256;case 40:return 255;case 2:return 100;case 180:return 64;case 25:return 20;case 5:return 16;case 6:return 6;case 73:return 4;case 84:return typeof navigator=="object"&&navigator.hardwareConcurrency||1}return Xo(T2.EINVAL),-1}n._memset=oS;var yB=!0;n._strlen=tS,n._strcat=iS,n._bitshift64Shl=$S;function wk(){n.abort()}n._i64Add=rS;var vk=H4,kk={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"},On={ttys:[],init:function(){},shutdown:function(){},register:function(r,l){On.ttys[r]={input:[],output:[],ops:l},k.registerDevice(r,On.stream_ops)},stream_ops:{open:function(r){var l=On.ttys[r.node.rdev];if(!l)throw new k.ErrnoError(T2.ENODEV);r.tty=l,r.seekable=!1},close:function(r){r.tty.ops.flush(r.tty)},flush:function(r){r.tty.ops.flush(r.tty)},read:function(r,l,u,f,Y){if(!r.tty||!r.tty.ops.get_char)throw new k.ErrnoError(T2.ENXIO);for(var e=0,X0=0;X00?l=f.slice(0,Y).toString("utf-8"):l=null}else typeof window<"u"&&typeof window.prompt=="function"?(l=window.prompt("Input: "),l!==null&&(l+=` `)):typeof readline=="function"&&(l=readline(),l!==null&&(l+=` -`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(Vo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Vo(r.output,0)),r.output=[])}}},L9={ops_table:null,mount:function(r){return L9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(T2.EPERM);L9.ops_table||(L9.ops_table={dir:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,lookup:L9.node_ops.lookup,mknod:L9.node_ops.mknod,rename:L9.node_ops.rename,unlink:L9.node_ops.unlink,rmdir:L9.node_ops.rmdir,readdir:L9.node_ops.readdir,symlink:L9.node_ops.symlink},stream:{llseek:L9.stream_ops.llseek}},file:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:{llseek:L9.stream_ops.llseek,read:L9.stream_ops.read,write:L9.stream_ops.write,allocate:L9.stream_ops.allocate,mmap:L9.stream_ops.mmap,msync:L9.stream_ops.msync}},link:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,readlink:L9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:k.chrdev_stream_ops}});var Y=k.createNode(r,l,u,f);return k.isDir(Y.mode)?(Y.node_ops=L9.ops_table.dir.node,Y.stream_ops=L9.ops_table.dir.stream,Y.contents={}):k.isFile(Y.mode)?(Y.node_ops=L9.ops_table.file.node,Y.stream_ops=L9.ops_table.file.stream,Y.usedBytes=0,Y.contents=null):k.isLink(Y.mode)?(Y.node_ops=L9.ops_table.link.node,Y.stream_ops=L9.ops_table.link.stream):k.isChrdev(Y.mode)&&(Y.node_ops=L9.ops_table.chrdev.node,Y.stream_ops=L9.ops_table.chrdev.stream),Y.timestamp=Date.now(),r&&(r.contents[l]=Y),Y},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=L9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(Y.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-Y,f);if(e4(X0>=0),X0>8&&e.subarray)l.set(e.subarray(Y,Y+X0),u);else for(var r1=0;r10||Y+fP5.timestamp)&&(Y.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([k8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(k8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},Y.sort().forEach(function(k5){l.type==="local"?k8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);k8.storeLocalEntry(k5,P5,C)}):k8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);k8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?k8.removeLocalEntry(k5,C):k8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return e4(h),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(T2.EINVAL);var Y=k.createNode(r,l,u);return Y.node_ops=ft.node_ops,Y.stream_ops=ft.stream_ops,Y},getMode:function(r){var l;try{l=S8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),I9.join.apply(null,l)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=S8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(S8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);S8.utimesSync(u,f,f)}l.size!==void 0&&S8.truncateSync(u,l.size)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},lookup:function(r,l){var u=I9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var Y=ft.createNode(r,l,u,f),e=ft.realPath(Y);try{k.isDir(Y.mode)?S8.mkdirSync(e,Y.mode):S8.writeFileSync(e,"",{mode:Y.mode})}catch(X0){throw X0.code?new k.ErrnoError(T2[X0.code]):X0}return Y},rename:function(r,l,u){var f=ft.realPath(r),Y=I9.join2(ft.realPath(l),u);try{S8.renameSync(f,Y)}catch(e){throw e.code?new k.ErrnoError(T2[e.code]):e}},unlink:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},rmdir:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return S8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},symlink:function(r,l,u){var f=I9.join2(ft.realPath(r),l);try{S8.symlinkSync(u,f)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},readlink:function(r){var l=ft.realPath(r);try{return l=S8.readlinkSync(l),l=SB.relative(SB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=S8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&S8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(T2[l.code]):l}},read:function(r,l,u,f,Y){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=S8.readSync(r.nfd,e,0,f,Y)}catch(x2){throw new k.ErrnoError(T2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(T2.ELOOP);for(var Y=I9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(T2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),Y=k.nameTable[f];Y;Y=Y.name_next){var e=Y.name;if(Y.parent.id===r.id&&e===l)return Y}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var Y=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&Y)===Y},set:function(r1){r1?this.mode|=Y:this.mode&=~Y}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?T2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:T2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return T2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var Y=k.nodePermissions(r,"wx");if(Y)return Y;if(u){if(!k.isDir(f.mode))return T2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return T2.EBUSY}else if(k.isDir(f.mode))return T2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?T2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?T2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):T2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(T2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var Y in r)f[Y]=r[Y];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(T2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function Y(e){if(e)return Y.errored?void 0:(Y.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return Y(null);e.type.syncfs(e,r,Y)})},mount:function(r,l,u){var f=u==="/",Y=!u,e;if(f&&k.root)throw new k.ErrnoError(T2.EBUSY);if(!f&&!Y){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(T2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(T2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(T2.EINVAL);var u=l.node,f=u.mounted,Y=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;Y.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);e4(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),Y=f.node,e=I9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(T2.EINVAL);var X0=k.mayCreate(Y,e);if(X0)throw new k.ErrnoError(X0);if(!Y.node_ops.mknod)throw new k.ErrnoError(T2.EPERM);return Y.node_ops.mknod(Y,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!I9.resolve(r))throw new k.ErrnoError(T2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);var Y=I9.basename(l),e=k.mayCreate(f,Y);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(T2.EPERM);return f.node_ops.symlink(f,Y,r)},rename:function(r,l){var u=I9.dirname(r),f=I9.dirname(l),Y=I9.basename(r),e=I9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(T2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(T2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(T2.EXDEV);var s=k.lookupNode(r1,Y),l1=I9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(T2.EINVAL);if(l1=I9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(T2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,Y,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(T2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(T2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===T2.EISDIR&&(e=T2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(T2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(T2.EINVAL);return I9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(T2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var Y=k.lookupPath(r,{follow:!u});f=Y.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var Y;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});Y=e.node}else Y=r;if(!Y.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);Y.node_ops.setattr(Y,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(T2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(T2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(T2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(T2.EINVAL);var Y=k.nodePermissions(u,"w");if(Y)throw new k.ErrnoError(Y);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(T2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),Y=f.node;Y.node_ops.setattr(Y,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,Y){if(r==="")throw new k.ErrnoError(T2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=I9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(T2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(T2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,Y);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(T2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,Y){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(T2.EINVAL);var e=!0;if(typeof Y>"u")Y=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,Y);return e||(r.position+=X0),X0},write:function(r,l,u,f,Y,e){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(T2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof Y>"u")Y=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,Y,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(T2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(T2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,Y,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(T2.ENODEV);return r.stream_ops.mmap(r,l,u,f,Y,e,X0)},msync:function(r,l,u,f,Y){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,Y)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(T2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),Y=k.stat(r),e=Y.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=Vo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var Y=new Uint8Array(Jo(l)+1),e=Gn(l,Y,0,Y.length);k.write(f,Y,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(T2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,Y,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),On.register(k.makedev(5,0),On.default_tty_ops),On.register(k.makedev(6,0),On.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else h?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");N9[kk>>2]=k.getPtrForStream(r),e4(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");N9[Sk>>2]=k.getPtrForStream(l),e4(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");N9[bk>>2]=k.getPtrForStream(u),e4(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var Y in T2)if(T2[Y]===f){this.code=Y;break}},this.setErrno(l),this.message=vk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[T2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(L9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){e4(!k.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)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,G9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",K9=1024*1024;G9||(K9=w2);var Qe=function(te,It){if(te>It)throw new Error("invalid range ("+te+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",u,!1),w2!==K9&&t4.setRequestHeader("Range","bytes="+te+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+u+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):en(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(te){var It=te*K9,t4=(te+1)*K9-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[te]>"u"&&(Dt.chunks[te]=Qe(It,t4)),typeof Dt.chunks[te]>"u")throw new Error("doXHR failed!");return Dt.chunks[te]}),this._length=w2,this._chunkSize=K9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,Y);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,G9,K9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);var Qe=k5.node.contents;if(K9>=Qe.length)return 0;var Dt=Math.min(Qe.length-K9,G9);if(e4(Dt>=0),Qe.slice)for(var te=0;te=0;f--){var Y=r[f];Y==="."?r.splice(f,1):Y===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=I9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=I9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return I9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return I9.normalize(r.join("/"))},join2:function(r,l){return I9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=I9.normalizeArray(r.split("/").filter(function(Y){return!!Y}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=I9.resolve(r).substr(1),l=I9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),Y=u(l.split("/")),e=Math.min(f.length,Y.length),X0=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?Kp(0,1e3/l):Kp(1,1),J1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,u=J1.mainLoop.func;J1.mainLoop.func=null,vB(u,0,!1,J1.mainLoop.arg,!0),Kp(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,u=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){e4(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var G9=P5.getContext("2d");G9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(G9){s||(s=!0,n.preloadedAudios[X0]=G9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(X0)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(K9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function Qe(Dt){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",H7=0,Y7=0,Qr=0;Qr=6;){var j$=H7>>Y7-6&63;Y7-=6,t4+=te[j$]}return Y7==2?(t4+=te[(H7&3)<<4],t4+=It+It):Y7==4&&(t4+=te[(H7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+Qe(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(Y){!J1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),Y.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var Y,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(Y=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else Y=r.getContext("2d");return Y?(u&&(l||e4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=Y,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),Y):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=u,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function Y(){J1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",Y,!1),document.addEventListener("mozfullscreenchange",Y,!1),document.addEventListener("webkitfullscreenchange",Y,!1),document.addEventListener("MSFullscreenChange",Y,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var u=Math.max(J1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!i0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){i0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){i0||J1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,Y=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(Y+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")J1.lastTouches[X0.identifier]=s,J1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[X0.identifier];l1||(l1=s),J1.lastTouches[X0.identifier]=l1,J1.touches[X0.identifier]=s}return}var C=r.pageX-(Y+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){J1.xhrLoad(r,function(Y){e4(Y,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(Y)),f||Cr("al "+r)},function(Y){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||Pn("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),u||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=K$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=K$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,Y=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/Y>2]=l),l}function Hk(){n.printErr("missing function: floor0_exportbundle"),es(-1)}if(jo=_.staticAlloc(4),N9[jo>>2]=0,n.requestFullScreen=function(l,u,f){J1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){J1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,u,f,Y){return J1.createContext(l,u,f,Y)},k.staticInit(),q$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),ku.push(function(){k.ignorePermissions=!1}),H$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,q$.unshift(function(){On.init()}),H$.push(function(){On.shutdown()}),h)var S8=void 0,SB=void 0;vu=v7=_.alignMemory(jr),G$=!0,U$=vu+Hp,P$=G7=_.alignMemory(U$),e4(P$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function __(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function yS(t){t=t|0,j6=t}function wS(){return j6|0}function uC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=M9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function vS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,d=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&d,Q=E&255,f[y>>0]=Q)}function O2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;H0=C,d=a>>>0>32;do if(!d){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)N=g;else{if(T0=(g|0)==0,T0)return;if(J0=(a0|0)>2147483391,J0||(q0=t+8|0,Z0=e[q0>>2]|0,I=a0+256|0,E=J7(Z0,I)|0,Q=(E|0)==0,Q))break;e[q0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,N=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,G=T&255,V=G|F,X=V&255,f[N>>0]=X,K=(R|0)>7;do if(K&&(W=e[M>>2]|0,r0=8-W|0,s0=y>>>r0,J=s0&255,o0=e[$>>2]|0,q=o0+1|0,f[q>>0]=J,h0=(R|0)>15,h0&&(t0=e[M>>2]|0,j=16-t0|0,u0=y>>>j,$0=u0&255,l0=e[$>>2]|0,Z=l0+2|0,f[Z>>0]=$0,I0=(R|0)>23,I0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,d0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,K0=_0+4|0,f[K0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,U0=e[t>>2]|0,O0=U0+N0|0,e[t>>2]=O0,k0=e[$>>2]|0,V0=k0+N0|0,e[$>>2]=V0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,z0=(G0|0)==0,z0||p2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function hC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||p2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function Ii(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,m=d,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function dC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,X=t+4|0,j=e[X>>2]|0,p0=j+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,d=(S0|0)<(E0|0),!d){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>j,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-j|0,T=R<16,G?(V=b+2|0,K=f[V>>0]|0,a0=K&255,W=16-j|0,r0=a0<24,J?(o0=b+3|0,q=f[o0>>0]|0,h0=q&255,t0=24-j|0,u0=h0<>0]|0,g0=I0&255,f0=32-j|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,d=t+12|0,m=e[d>>2]|0,I=m+g|0,e[d>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function r4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,Z=e[s0>>2]|0,E0=Z+o|0,T0=e[t>>2]|0,N0=t+16|0,U0=e[N0>>2]|0,O0=U0+-4|0,B=(T0|0)<(O0|0),!B){if(S=E0+7|0,b=S>>3,v=U0-b|0,w=(T0|0)>(v|0),w){d=t,m=s0,v0=U0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>Z,T=(E0|0)>8,T?(N=x+1|0,G=f[N>>0]|0,V=G&255,X=8-Z|0,K=V<16,W?(r0=x+2|0,J=f[r0>>0]|0,o0=J&255,q=16-Z|0,h0=o0<24,j?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-Z|0,I0=$0<>0]|0,C0=p0&255,S0=32-Z|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,K0=E0&7,e[s0>>2]=K0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[d>>2]=v0,e[m>>2]=1,a=-1,a|0}function b8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,m=d+o|0,m|0}function iQ(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function kS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;if(T=C,g=(t|0)==0,g)return a=-1,a|0;g4(t|0,0,360)|0,d=t+4|0,e[d>>2]=16384,b=t+24|0,e[b>>2]=1024,v=M9(16384)|0,e[t>>2]=v,w=M9(4096)|0,D=t+16|0,e[D>>2]=w,y=M9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){p2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||p2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||p2(Q),g4(t|0,0,360)|0,a=-1,a|0}function SS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||p2(a),g=t+16|0,d=e[g>>2]|0,m=(d|0)==0,m||p2(d),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||p2(E),g4(t|0,0,360)|0),0}function bS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0;if(U0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,G=e[t>>2]|0,h0=G+23|0,f[h0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(d=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=d+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,T=(F|0)<($|0),T)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(N=M0<<8,V=M0>>>24,X=B+T0|0,K=f[X>>0]|0,a0=K&255,W=a0^V,r0=144+(W<<2)|0,s0=e[r0>>2]|0,J=s0^N,o0=T0+1|0,q=(o0|0)<(I|0),q)M0=J,T0=o0;else{K0=J;break}else K0=B0;t0=K0&255,j=e[t>>2]|0,u0=j+22|0,f[u0>>0]=t0,c0=K0>>>8,$0=c0&255,l0=e[t>>2]|0,Z=l0+23|0,f[Z>>0]=$0,I0=K0>>>16,g0=I0&255,f0=e[t>>2]|0,d0=f0+24|0,f[d0>>0]=g0,p0=K0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function DS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0;if(m2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(f2=0,k2=0;;){if(S1=(o+(k2<<3)|0)+4|0,q1=e[S1>>2]|0,s2=(q1|0)<0,w=2147483647-q1|0,V=(f2|0)>(w|0),N2=s2|V,N2){I=-1;break}if(t0=q1+f2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)f2=t0,k2=c0;else{o2=t0;break e}}return I|0}else o2=0;while(!1);l0=(o2|0)/255&-1,Z=l0+1|0,I0=t+12|0,g0=e[I0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(d0=e[v>>2]|0,p0=d0-g0|0,e[v>>2]=p0,C0=(d0|0)==(g0|0),C0||(S0=_0+g0|0,nA(_0|0,S0|0,p0|0)|0),e[I0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-o2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-o2|0,K0=(b0|0)>(B0|0),K0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||p2(M0),T0=t+16|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||p2(N0),O0=t+20|0,k0=e[O0>>2]|0,V0=(k0|0)==0,V0||p2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+o2|0,G0=(F0|0)<2147482623,z0=F0+1024|0,m=G0?z0:F0,J0=e[t>>2]|0,q0=J7(J0,m)|0,Z0=(q0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=q0;break}return P0=e[t>>2]|0,H0=(P0|0)==0,H0||p2(P0),o1=t+16|0,Y0=e[o1>>2]|0,i1=(Y0|0)==0,i1||p2(Y0),n1=t+20|0,h1=e[n1>>2]|0,g1=(h1|0)==0,g1||p2(h1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=_S(t,Z)|0,d1=(m1|0)==0,!d1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,D1=e[M1>>2]|0,ce(w1|0,L1|0,D1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,b1=D2+1|0,t2=(b1|0)==(a|0),!t2;)v1=U1,D2=b1;if(u1=(o2|0)>254,A1=t+28|0,c1=e[A1>>2]|0,s1=t+16|0,$1=e[s1>>2]|0,u1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=c1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,z1=e[x1>>2]|0,H1=G1+4|0,Y1=H1,V1=e[Y1>>2]|0,X1=Q1+(P1<<3)|0,n2=X1,j1=n2,e[j1>>2]=z1,O1=n2+4|0,c2=O1,e[c2>>2]=V1,W1=Q2+1|0,d2=(W1|0)<(l0|0),d2;)Q2=W1;L2=p1?l0:1,B=E1,$2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,$2=S,S2=0;return E2=(o2|0)%255&-1,a2=c1+S2|0,K1=$1+(a2<<2)|0,e[K1>>2]=E2,h2=$2+(a2<<3)|0,i2=h2,l2=i2,e[l2>>2]=g,r2=i2+4|0,A2=r2,e[A2>>2]=d,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=d,M=$1+(c1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=c1+Z|0,e[A1>>2]=F,T=t+344|0,N=T,G=N,X=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=rs(X|0,W|0,1,0)|0,s0=j6,J=T,o0=J,e[o0>>2]=r0,q=J+4|0,h0=q,e[h0>>2]=s0,j=($|0)==0,j?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function eE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,d=g,m=e[d>>2]|0,I=DS(t,y,1,S,D,m)|0,C=M,I|0}function rQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=oQ(t,o,1,4096)|0,a|0}function nQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,d=(t|0)==0,d||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=oQ(t,o,D,4096)|0,a=w,a|0)}function _S(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,y=d-o|0,K=t+28|0,u0=e[K>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(Z=2147483647-o|0,I0=(d|0)>(Z|0),I0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||p2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||p2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||p2(B),g4(t|0,0,360)|0,$=-1,$|0):(b=d+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=J7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,T=(F|0)==0,T||p2(F),N=e[D>>2]|0,G=(N|0)==0,G||p2(N),V=t+20|0,X=e[V>>2]|0,a0=(X|0)==0,a0||p2(X),g4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,W=t+20|0,r0=e[W>>2]|0,s0=a<<3,J=J7(r0,s0)|0,o0=(J|0)==0,o0?(q=e[t>>2]|0,h0=(q|0)==0,h0||p2(q),t0=e[D>>2]|0,j=(t0|0)==0,j||p2(t0),c0=e[W>>2]|0,$0=(c0|0)==0,$0||p2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[W>>2]=J,e[g>>2]=a,$=0,$|0))))}function oQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,h1=(x|0)>255,g=h1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,Y1=(R1|0)==0,a2=(g|0)==0,b3=a2|Y1,b3))return d=0,d|0;t2=t+332|0,V2=e[t2>>2]|0,j2=(V2|0)==0;e:do if(j2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,z5=g3,V5=14;break e}if(Z0=e[Q0>>2]|0,Y0=Z0+(g3<<2)|0,i1=e[Y0>>2]|0,x0=i1&255,n1=(x0|0)==255,g1=g3+1|0,n1)g3=g1;else{I=a,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,z5=g1,V5=14;break}}else if(M=(g|0)>0,M){for(W=t+16|0,$0=t+20|0,Q5=0,D5=-1,h5=-1,l5=-1,X2=-1,g2=-1,w5=-1,r5=-1,a5=-1,t3=0,T3=0,Q3=0;;){if(m1=(Q5|0)>($|0),d1=(t3|0)>3,q3=m1&d1,q3){m=1,q5=D5,L5=h5,Y2=l5,p5=X2,$5=g2,u5=w5,y5=r5,T1=a5,u3=Q3;break}if(u1=e[W>>2]|0,A1=u1+(Q3<<2)|0,c1=e[A1>>2]|0,s1=c1&255,$1=s1+Q5|0,j0=(s1|0)==255,j0?(d5=D5,z2=h5,f5=l5,n5=X2,M5=g2,e5=w5,c5=r5,F2=a5,s6=0,H3=T3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=T3+1|0,S1=w1&255,D1=ns(w1|0,L1|0,8)|0,F1=j6,U1=D1&255,b1=ns(w1|0,L1|0,16)|0,P1=j6,Z1=b1&255,G1=ns(w1|0,L1|0,24)|0,x1=j6,z1=G1&255,q1=L1&255,H1=ns(w1|0,L1|0,40)|0,V1=j6,X1=H1&255,n2=ns(w1|0,L1|0,48)|0,j1=j6,O1=n2&255,c2=ns(w1|0,L1|0,56)|0,W1=j6,d2=c2&255,d5=S1,z2=Z1,f5=z1,n5=q1,M5=X1,e5=O1,c5=d2,F2=U1,s6=M1,H3=M1),s2=Q3+1|0,E2=(s2|0)<(g|0),E2)Q5=$1,D5=d5,h5=z2,l5=f5,X2=n5,g2=M5,w5=e5,r5=c5,a5=F2,t3=s6,T3=H3,Q3=s2;else{m=a,q5=d5,L5=z2,Y2=f5,p5=n5,$5=M5,u5=e5,y5=c5,T1=F2,u3=s2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=L5,N5=Y2,W5=p5,D3=$5,f3=u5,y3=y5,X3=T1,H5=255):(I=m,v5=q5,J5=L5,i3=Y2,E5=p5,I3=$5,d3=u5,K5=y5,r3=T1,z5=u3,V5=14)}else I=a,v5=-1,J5=-1,i3=-1,E5=-1,I3=-1,d3=-1,K5=-1,r3=-1,z5=0,V5=14;while(!1);if((V5|0)==14){if(h2=(I|0)==0,h2)return d=0,d|0;a3=v5,B3=J5,N5=i3,W5=E5,D3=I3,f3=d3,y3=K5,X3=r3,H5=z5}if($2=t+40|0,f[$2>>0]=79,f[$2+1>>0]=103,f[$2+2>>0]=103,f[$2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,l2=t+45|0,f[l2>>0]=0,r2=t+16|0,A2=e[r2>>2]|0,e2=e[A2>>2]|0,o2=e2>>>8,S=o2&1,f2=S^1,k2=f2|2,E=j2?k2:f2,c3=E&255,f[l2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,N2=(x|0)==(H5|0),X5=Q2&N2,X5&&(Q=j2?k2:f2,L2=Q|4,U2=L2&255,f[l2>>0]=U2),e[t2>>2]=1,m2=t+46|0,f[m2>>0]=a3,W2=t+47|0,f[W2>>0]=X3,P2=t+48|0,f[P2>>0]=B3,G2=t+49|0,f[G2>>0]=N5,q2=t+50|0,f[q2>>0]=W5,Z2=t+51|0,f[Z2>>0]=D3,A5=t+52|0,f[A5>>0]=f3,H2=t+53|0,f[H2>>0]=y3,N1=t+336|0,t5=e[N1>>2]|0,F5=t5&255,i5=t+54|0,f[i5>>0]=F5,_5=t5>>>8,I5=_5&255,b5=t+55|0,f[b5>>0]=I5,Y5=t5>>>16,g5=Y5&255,b2=t+56|0,f[b2>>0]=g5,B5=t5>>>24,s5=B5&255,R2=t+57|0,f[R2>>0]=s5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,T=F&255,N=t+58|0,f[N>>0]=T,G=F>>>8,V=G&255,X=t+59|0,f[X>>0]=V,K=F>>>16,a0=K&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,J=s0&255,o0=t+61|0,f[o0>>0]=J,q=t+62|0,h0=H5&255,t0=t+66|0,f[q>>0]=0,f[q+1>>0]=0,f[q+2>>0]=0,f[q+3>>0]=0,f[t0>>0]=h0,j=(H5|0)>0,j){if(u0=e[A2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,Z=u0&255,x5=(H5|0)==1,x5)B=Z;else for(g0=1,b0=Z;;)if(b=e[r2>>2]|0,I0=b+(g0<<2)|0,f0=e[I0>>2]|0,n0=f0&255,d0=g0+27|0,p0=(t+40|0)+d0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,T5=B}else v0=R1,k0=x,F0=A2,T5=0;return e[o>>2]=$2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,K0=e[_0>>2]|0,M0=v0+K0|0,T0=o+8|0,e[T0>>2]=M0,U0=o+12|0,e[U0>>2]=T5,O0=k0-H5|0,e[y>>2]=O0,V0=F0+(H5<<2)|0,L0=O0<<2,nA(F0|0,V0|0,L0|0)|0,G0=t+20|0,z0=e[G0>>2]|0,J0=z0+(H5<<3)|0,q0=e[y>>2]|0,P0=q0<<3,nA(z0|0,J0|0,P0|0)|0,H0=e[_0>>2]|0,o1=H0+T5|0,e[_0>>2]=o1,bS(o),d=1,d|0}function xS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0;return Y0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,X=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,j=e[X>>2]|0,Ii(j),p0=g+16|0,M0=e[p0>>2]|0,Ii(M0),z0=g+20|0,P0=e[z0>>2]|0,Ii(P0),H0=g+24|0,d=e[H0>>2]|0,Ii(d),m=g+28|0,I=e[m>>2]|0,Ii(I),E=g+32|0,Q=e[E>>2]|0,Ii(Q),B=g+36|0,S=e[B>>2]|0,Ii(S),b=g+40|0,v=e[b>>2]|0,Ii(v),w=g+44|0,y=e[w>>2]|0,Ii(y),x=g+48|0,M=e[x>>2]|0,Ii(M),L=g+52|0,R=e[L>>2]|0,Ii(R),F=g+56|0,T=e[F>>2]|0,Ii(T),N=g+60|0,G=e[N>>2]|0,Ii(G),V=g+64|0,K=e[V>>2]|0,Ii(K),a0=g+68|0,W=e[a0>>2]|0,Ii(W),r0=e[6416]|0,s0=r0+12|0,J=e[s0>>2]|0,o0=TQ[J&1](t)|0,q=(o0|0)==0,q?(h0=(o|0)==0,h0?(a=0,a|0):(t0=Ru(t)|0,u0=(t0|0)==0,u0?(c0=t+4|0,$0=iQ(c0)|0,e[o>>2]=$0,l0=b8(c0)|0,Z=o+4|0,e[Z>>2]=l0,I0=o+8|0,e[I0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,d0=t+48|0,C0=d0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,K0=B0+4|0,v0=K0,e[v0>>2]=y0,T0=t+56|0,N0=T0,U0=N0,O0=e[U0>>2]|0,k0=N0+4|0,V0=k0,F0=e[V0>>2]|0,L0=o+24|0,G0=L0,J0=G0,e[J0>>2]=O0,q0=G0+4|0,Z0=q0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function LS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,V=e[w>>2]|0,t0=(V|0)>0,t0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,d0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(d0|0),S=Q*B,b=+(f0|0),v=S/b,D=+V7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,T=F/b,N=+V7(T),G=~~N,X=o+16|0,e[X>>2]=G,K=$+3368|0,a0=e[K>>2]|0,W=+(a0|0),r0=W*B,s0=r0/b,J=+V7(s0),o0=~~J,q=o+20|0,e[q>>2]=o0,h0=o+32|0,l1[h0>>3]=7,j=+(V|0),u0=$+3376|0,c0=+l1[u0>>3],$0=j*c0,l0=~~$0,Z=o+8|0,e[Z>>2]=l0,I0=o+4|0,e[I0>>2]=l0)}function MS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Ru(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,d=e[g>>2]|0,m=d+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function RS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0;if(F6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,L5=b2+104|0,g2=e[L5>>2]|0,F2=b2+4|0,N5=e[F2>>2]|0,T3=N5+28|0,G5=e[T3>>2]|0,S=g2+112|0,T=+l1[S>>3],o0=+V7(T),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,V0=e[w0>>2]|0,Y0=b8(V0)|0,s1=Y0<<3,L1=t+28|0,x1=e[L1>>2]|0,d2=(x1|0)==0,e2=g2+96|0,m2=e[e2>>2]|0,d2?(F5=g2+100|0,_5=e[F5>>2]|0,q=m2,b0=F5,B0=_5):(j2=g2+104|0,I5=e[j2>>2]|0,b5=g2+100|0,Y5=e[b5>>2]|0,g5=o5(I5,m2)|0,B5=o5(I5,Y5)|0,q=g5,b0=b5,B0=B5),s5=G5+(x1<<2)|0,R2=e[s5>>2]|0,M2=R2>>1,y2=G5+3372|0,Q5=e[y2>>2]|0,T5=+(Q5|0),m5=G5+3376|0,x5=+l1[m5>>3],q5=T5*x5,Y2=~~q5,p5=g2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=g2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,h5=g2+92|0,l5=e[h5>>2]|0,X2=(l5|0)>0,X2){d2?c5=l5:(w5=g2+104|0,r5=e[w5>>2]|0,a5=o5(r5,l5)|0,c5=a5),d5=G5+3384|0,z2=+l1[d5>>3],f5=15/z2,n5=g2+84|0,M5=e[n5>>2]|0,e5=s1-c5|0,v5=M5+e5|0,J5=(v5|0)>(Y2|0);e:do if(J5)if(i3=(g0|0)>0,E5=(s1|0)>(c5|0),R6=E5&i3,R6)if(I3=s1-c5|0,d3=I3+M5|0,K5=(d3|0)>(Y2|0),K5)for(V3=g0;;){if(r3=V3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,W5=b8(B3)|0,D3=W5<<3,f3=(V3|0)>1,y3=(D3|0)>(c5|0),M6=y3&f3,!M6){Z5=r3;break e}if(I=e[n5>>2]|0,X3=D3-c5|0,q3=X3+I|0,X5=(q3|0)>(Y2|0),X5)V3=r3;else{Z5=r3;break}}else Z5=g0;else Z5=g0;else if(b3=(v5|0)<(Y2|0),b3)if(t3=g0+1|0,s6=(t3|0)<15,H3=(s1|0)<(c5|0),r6=H3&s6,r6)if(c3=s1-c5|0,g3=c3+M5|0,u3=(g3|0)<(Y2|0),u3)for(z5=t3;;){if(Q3=(B+12|0)+(z5<<2)|0,H5=e[Q3>>2]|0,V5=b8(H5)|0,S5=V5<<3,Y3=z5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){Z5=z5;break e}if(m=e[n5>>2]|0,l3=S5-c5|0,N3=l3+m|0,E6=(N3|0)<(Y2|0),E6)z5=Y3;else{Z5=z5;break}}else Z5=g0;else Z5=g0;else Z5=g0;while(!1);k3=+(Z5|0),_3=+l1[S>>3],S3=k3-_3,a6=+V7(S3),i6=+(M2|0),b=a6/i6,v=N5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,L3=L?f5:v6,R=L3/D,F=R*i6,N=F+_3,l1[S>>3]=N,G=+V7(N),V=~~G,X=(B+12|0)+(V<<2)|0,K=e[X>>2]|0,a0=b8(K)|0,W=a0<<3,E=e[e2>>2]|0,r0=E,x3=V,n6=W}else r0=m2,x3=g0,n6=s1;s0=(r0|0)>0,J=(n6|0)<(q|0),d6=J&s0;e:do if(d6)if(h0=g2+88|0,t0=e[h0>>2]|0,j=n6-q|0,u0=j+t0|0,c0=(u0|0)<0,c0)for(h3=x3,o6=n6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,C6=o6;break e}if(Z=(B+12|0)+($0<<2)|0,I0=e[Z>>2]|0,f0=b8(I0)|0,n0=f0<<3,d0=e[h0>>2]|0,p0=n0-q|0,C0=p0+d0|0,S0=(C0|0)<0,S0)h3=$0,o6=n0;else{J3=$0,C6=n0;break}}else J3=x3,C6=n6;else J3=x3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=g2+88|0,K0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+K0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(h6=J3,z3=C6;;){if(U0=h6+-1|0,O0=(h6|0)<1,O0){m3=U0,M3=z3;break e}if(k0=(B+12|0)+(U0<<2)|0,F0=e[k0>>2]|0,L0=b8(F0)|0,G0=L0<<3,z0=e[_0>>2]|0,J0=G0-B0|0,q0=J0+z0|0,Z0=e[y2>>2]|0,P0=(q0|0)>(Z0|0),P0)h6=U0,z3=G0;else{m3=U0,M3=G0;break}}else m3=J3,M3=C6;else m3=J3,M3=C6;while(!1);if(H0=(m3|0)<0,H0)o1=e[y2>>2]|0,i1=g2+88|0,x0=e[i1>>2]|0,n1=o1+B0|0,h1=n1-x0|0,g1=(h1|0)/8&-1,m1=g2+124|0,e[m1>>2]=0,d1=B+12|0,u1=e[d1>>2]|0,A1=b8(u1)|0,c1=(A1|0)>(g1|0),c1?($1=e[d1>>2]|0,j0=g1<<3,vS($1,j0),E1=e[d1>>2]|0,I1=b8(E1)|0,Q1=I1<<3,K3=Q1):K3=M3;else{if(p1=g2+88|0,B1=e[p1>>2]|0,w1=q+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,S1=g2+124|0,e[S1>>2]=g,D1=(B+12|0)+(g<<2)|0,R1=e[D1>>2]|0,F1=b8(R1)|0,U1=k1-F1|0,b1=(U1|0)>0,P1=e[D1>>2]|0,b1)for(G1=P1,L6=U1;;)if(Z1=L6+-1|0,O2(G1,0,8),z1=(L6|0)>1,q1=e[D1>>2]|0,z1)G1=q1,L6=Z1;else{d=q1;break}else d=P1;H1=b8(d)|0,Y1=H1<<3,K3=Y1}V1=e[e2>>2]|0,X1=(V1|0)>0,X1?e6=37:(n2=e[b0>>2]|0,j1=(n2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,c2=(K3|0)>(B0|0),G6=O1&c2,G6){s2=K3-B0|0,E2=g2+88|0,a2=e[E2>>2]|0,K1=s2+a2|0,e[E2>>2]=K1;break}if(h2=(q|0)>0,$2=(K3|0)<(q|0),X6=h2&$2,X6){i2=K3-q|0,l2=g2+88|0,r2=e[l2>>2]|0,A2=i2+r2|0,e[l2>>2]=A2;break}if(o2=g2+88|0,f2=e[o2>>2]|0,t2=(f2|0)>(Y2|0),t2)if(O1){k2=K3-B0|0,D2=f2+k2|0,S2=(D2|0)<(Y2|0),o=S2?Y2:D2,e[o2>>2]=o;break}else{e[o2>>2]=Y2;break}else if(h2){Q2=K3-q|0,N2=f2+Q2|0,L2=(N2|0)>(Y2|0),$=L2?Y2:N2,e[o2>>2]=$;break}else{e[o2>>2]=Y2;break}}while(!1);return U2=e[h5>>2]|0,W2=(U2|0)>0,W2?(P2=e[L1>>2]|0,V2=(P2|0)==0,V2?H2=U2:(G2=g2+104|0,q2=e[G2>>2]|0,Z2=o5(q2,U2)|0,H2=Z2),A5=K3-H2|0,N1=g2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,a=0,a|0):(a=0,a|0)}function sQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,X=e[D>>2]|0,j=(X|0)==0,j?(a=0,a|0):(p0=(o|0)==0,p0||(C0=X+104|0,S0=e[C0>>2]|0,Q0=X+64|0,b0=e[Q0>>2]|0,d=b0+104|0,m=e[d>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=iQ(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=b8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=X+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,T=X+48|0,N=T,G=N,V=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=o+16|0,s0=r0,J=s0,e[J>>2]=V,o0=s0+4|0,q=o0,e[q>>2]=W,h0=X+56|0,t0=h0,u0=t0,c0=e[u0>>2]|0,$0=t0+4|0,l0=$0,Z=e[l0>>2]|0,I0=o+24|0,g0=I0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,d0=n0,e[d0>>2]=Z),e[D>>2]=0,a=1,a|0)}function FS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;F=C,L=o,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=le(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=D,uC(D),M=8;continue}else{if(m=le(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,uC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function z8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0;return K=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,T=e[F>>2]|0,N=(R|0)>(T|0),G=t+68|0,V=e[G>>2]|0,N?(g=(V|0)==0,g||(d=V,m=M9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=d,e[B>>2]=m),e[F>>2]=$,v=M9($)|0,e[G>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=V,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function TS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0;if(t0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,G=e[D>>2]|0,V=(G|0)==0,!V)for(o0=G;X=o0+4|0,K=e[X>>2]|0,a0=e[o0>>2]|0,p2(a0),p2(o0),W=(K|0)==0,!W;)o0=K;if(r0=t+80|0,d=e[r0>>2]|0,m=(d|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+d|0,B=J7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||p2(y),M=(g|0)==0,M){q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}else J=0;for(;;){if(L=(g+12|0)+(J<<2)|0,R=e[L>>2]|0,hC(R),F=(J|0)==7,F){J=8;continue}if(T=e[L>>2]|0,p2(T),N=J+1|0,s0=(N|0)==15,s0)break;J=N}p2(g),q=t,j=q+112|0;do e[q>>2]=0,q=q+4|0;while((q|0)<(j|0));return 0}function NS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=US(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=mb(o)|0,S=Q+60|0,e[S>>2]=B,b=le(1,180)|0,e[Q>>2]=b,YS(b,o),v=Q+80|0,LS(o,v),w=t+64|0,D=w,d=D,e[d>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function aQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0;if(P2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,V0=(w0|0)!=0,V0?(Y0=w0+28|0,s1=e[Y0>>2]|0,k0=s1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if(A2=e[x1>>2]|0,b=(A2|0)==0,b||(VS(A2),N=e[x1>>2]|0,p2(N)),q=x1+12|0,f0=e[q>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,EC(S0),Q0=e[q>>2]|0,b0=e[Q0>>2]|0,p2(b0),E0=e[q>>2]|0,p2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(K0=e[B0>>2]|0,EC(K0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,p2(v0),T0=e[y0>>2]|0,p2(T0)),N0=x1+48|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0){if(F0=(k0|0)==0,F0)p1=U0;else if(L0=k0+16|0,G0=e[L0>>2]|0,z0=(G0|0)>0,z0){if(J0=k0+800|0,q0=e[J0>>2]|0,Z0=25640+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+16|0,o1=e[H0>>2]|0,i1=e[U0>>2]|0,ss[o1&7](i1),x0=e[L0>>2]|0,n1=(x0|0)>1,n1)for(g1=1;o=e[N0>>2]|0,h1=J0+(g1<<2)|0,m1=e[h1>>2]|0,d1=25640+(m1<<2)|0,u1=e[d1>>2]|0,A1=u1+16|0,c1=e[A1>>2]|0,$1=o+(g1<<2)|0,j0=e[$1>>2]|0,ss[c1&7](j0),E1=g1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)g1=E1;a=e[N0>>2]|0,p1=a}else p1=U0;p2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,S1=e[M1>>2]|0,D1=(S1|0)>0,D1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,b1=e[U1>>2]|0,P1=b1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,ss[Z1&7](G1),z1=e[M1>>2]|0,q1=(z1|0)>1,q1)for(Y1=1;$=e[B1>>2]|0,H1=R1+(Y1<<2)|0,V1=e[H1>>2]|0,X1=25648+(V1<<2)|0,n2=e[X1>>2]|0,j1=n2+16|0,O1=e[j1>>2]|0,c2=$+(Y1<<2)|0,d2=e[c2>>2]|0,ss[O1&7](d2),s2=Y1+1|0,E2=e[M1>>2]|0,a2=(s2|0)<(E2|0),a2;)Y1=s2;g=e[B1>>2]|0,K1=g}else K1=w1;p2(K1)}if(h2=x1+56|0,$2=e[h2>>2]|0,i2=($2|0)==0,!i2){if(l2=(k0|0)==0,l2)L2=$2;else if(r2=k0+28|0,e2=e[r2>>2]|0,o2=(e2|0)>0,o2){if(fQ($2),f2=e[r2>>2]|0,t2=(f2|0)>1,t2)for(D2=1;d=e[h2>>2]|0,k2=d+(D2*52|0)|0,fQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,N2=(S2|0)<(Q2|0),N2;)D2=S2;m=e[h2>>2]|0,L2=m}else L2=$2;p2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||pb(w),y=x1+80|0,MS(y),x=x1+20|0,vQ(x),M=x1+32|0,vQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(V0)if(T=w0+4|0,G=e[T>>2]|0,V=(G|0)>0,V){for(K=R,p0=G,U2=0;X=K+(U2<<2)|0,a0=e[X>>2]|0,W=(a0|0)==0,W?J=p0:(p2(a0),E=e[T>>2]|0,J=E),r0=U2+1|0,s0=(r0|0)<(J|0),!!s0;)I=e[L>>2]|0,K=I,p0=J,U2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;p2(o0),h0=t+12|0,t0=e[h0>>2]|0,j=(t0|0)==0,j||p2(t0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||p2(c0),l0=x1+68|0,Z=e[l0>>2]|0,I0=(Z|0)==0,I0||p2(Z),g0=x1+72|0,n0=e[g0>>2]|0,d0=(n0|0)==0,d0||p2(n0),p2(x1)),m2=t,V2=m2+112|0;do e[m2>>2]=0,m2=m2+4|0;while((m2|0)<(V2|0))}}function AQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||p2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||p2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||p2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,T=e[F>>2]|0,N=(T|0)>0,N)if(G=t+8|0,V=e[G>>2]|0,X=e[V>>2]|0,K=R<<2,a0=J7(X,K)|0,W=e[G>>2]|0,e[W>>2]=a0,s0=e[F>>2]|0,J=(s0|0)>1,J)for($0=1;;)if($=e[D>>2]|0,u0=e[G>>2]|0,c0=u0+($0<<2)|0,Z=e[c0>>2]|0,I0=$<<2,g0=J7(Z,I0)|0,f0=e[G>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,d0=$0+1|0,p0=e[F>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(q=(o0|0)>0,q)){for(h0=t+8|0,t0=e[b>>2]|0,j=t+12|0,O0=0;;)if(S0=e[h0>>2]|0,Q0=S0+(O0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(t0<<2)|0,w0=e[j>>2]|0,B0=w0+(O0<<2)|0,e[B0>>2]=y0,_0=O0+1|0,K0=(_0|0)<(o0|0),K0)O0=_0;else{g=j;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function GS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=q0,$|0):(e[S0>>2]=E0,_0=t+28|0,K0=e[_0>>2]|0,M0=(K0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,O0=r0+4|0,k0=e[O0>>2]|0,V0=(N0|0)>(k0|0),!V0)?($=0,C=q0,$|0):(lQ(t),$=0,C=q0,$|0));if(b0=C,C=C+128|0,U0=t+28|0,F0=e[U0>>2]|0,L0=(F0|0)==0,L0&&lQ(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,AQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=q0,$|0;for(F=t+8|0,T=b,z0=0;;){if(N=(T|0)>64,N?(G=e[G0>>2]|0,V=(T|0)>(G|0),a=V?G:T,X=e[F>>2]|0,K=X+(z0<<2)|0,a0=e[K>>2]|0,d=T-a|0,W=a0+(d<<2)|0,+cQ(W,b0,a,32),s0=e[F>>2]|0,J=s0+(z0<<2)|0,o0=e[J>>2]|0,q=e[v>>2]|0,h0=o0+(q<<2)|0,m=q+-32|0,t0=o0+(m<<2)|0,j=e[S>>2]|0,u0=j-q|0,gQ(b0,t0,32,h0,u0)):(c0=e[F>>2]|0,$0=c0+(z0<<2)|0,Z=e[$0>>2]|0,I0=Z+(T<<2)|0,g0=e[S>>2]|0,f0=g0-T|0,n0=f0<<2,g4(I0|0,0,n0|0)|0),d0=z0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,T=g,z0=d0}return C=q0,$|0}function $Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0;if(ge=C,S=t+4|0,b=e[S>>2]|0,s2=b+28|0,S5=e[s2>>2]|0,a6=t+104|0,R6=e[a6>>2]|0,C6=R6+60|0,B6=e[C6>>2]|0,V6=t+48|0,a9=e[V6>>2]|0,v=t+40|0,G=e[v>>2]|0,h0=S5+(G<<2)|0,n0=e[h0>>2]|0,_0=(n0|0)/2&-1,L0=a9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,S1=t+28|0,q1=e[S1>>2]|0,E2=(q1|0)==0,E2||(f2=t+32|0,P2=e[f2>>2]|0,_5=(P2|0)==-1,_5))return $=0,$|0;y2=JS(t)|0,y5=(y2|0)==-1;do if(y5){if(z2=e[f2>>2]|0,I3=(z2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,d=X3,V3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,G5=e[Y3>>2]|0,$6=(Q3|0)==(G5|0),n3=t+44|0,$6){e[n3>>2]=0,d=n3,V3=0;break}else{e[n3>>2]=y2,d=n3,V3=y2;break}while(!1);if(l3=e[V6>>2]|0,N3=e[v>>2]|0,E6=S5+(N3<<2)|0,k3=e[E6>>2]|0,_3=(k3|0)/4&-1,S3=_3+l3|0,i6=S5+(V3<<2)|0,Z5=e[i6>>2]|0,x3=(Z5|0)/4&-1,h3=S3+x3|0,J3=(Z5|0)/2&-1,h6=h3+J3|0,m3=t+20|0,L6=e[m3>>2]|0,M6=(L6|0)<(h6|0),M6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,d6=(r6|0)==0,!d6)for(y9=r6;b6=y9+4|0,G6=e[b6>>2]|0,X6=e[y9>>2]|0,p2(X6),p2(y9),v6=(G6|0)==0,!v6;)y9=G6;L3=o+80|0,n6=e[L3>>2]|0,o6=(n6|0)==0,o6||(z3=o+68|0,M3=e[z3>>2]|0,K3=o+76|0,e6=e[K3>>2]|0,F6=e6+n6|0,l6=J7(M3,F6)|0,e[z3>>2]=l6,o3=e[L3>>2]|0,K6=e[K3>>2]|0,A3=K6+o3|0,e[K3>>2]=A3,e[L3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,R3=t+36|0,Y6=e[R3>>2]|0,A6=o+24|0,e[A6>>2]=Y6,D6=e[v>>2]|0,U6=o+28|0,e[U6>>2]=D6,t9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=t9,e9=(D6|0)==0;do if(e9)if(c9=zS(t)|0,P6=(c9|0)==0,J6=j0+8|0,P6){e[J6>>2]=1;break}else{e[J6>>2]=0;break}else if(G3=(Y6|0)==0,n9=(t9|0)==0,Y9=G3|n9,s9=j0+8|0,Y9){e[s9>>2]=0;break}else{e[s9>>2]=1;break}while(!1);T6=o+64|0,e[T6>>2]=t,i9=t+64|0,_6=i9,O6=_6,U3=e[O6>>2]|0,q6=_6+4|0,h9=q6,o9=e[h9>>2]|0,C9=rs(U3|0,o9|0,1,0)|0,B9=j6,Q9=i9,d9=Q9,e[d9>>2]=C9,f9=Q9+4|0,H9=f9,e[H9>>2]=B9,y6=o+56|0,H6=y6,w=H6,e[w>>2]=U3,D=H6+4|0,y=D,e[y>>2]=o9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,T=F,N=e[T>>2]|0,V=o+48|0,X=V,K=X,e[K>>2]=R,a0=X+4|0,W=a0,e[W>>2]=N,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,J=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=J,q=j0+4|0,t0=+s[q>>2],j=+s[B6>>2],u0=t0>j,u0?(s[B6>>2]=t0,c0=t0):c0=j,$0=+Bb(c0,t),s[B6>>2]=$0,s[q>>2]=$0,l0=b+4|0,Z=e[l0>>2]|0,I0=Z<<2,g0=I0+7|0,f0=g0&-8,d0=e[c6>>2]|0,p0=f0+d0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=M9(8)|0,K0=e[L3>>2]|0,M0=K0+d0|0,e[L3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=M9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,O0=N0,k0=0,G0=g,P0=f0):(O0=E0,k0=d0,G0=Z,P0=S0),U0=O0+k0|0,V0=k0+f0|0,e[c6>>2]=V0,e[o>>2]=U0,F0=G0<<2,z0=F0+7|0,J0=z0&-8,q0=J0+V0|0,Z0=(q0|0)>(P0|0),Z0?(H0=(O0|0)==0,H0||(o1=O0,Y0=M9(8)|0,i1=e[L3>>2]|0,n1=i1+V0|0,e[L3>>2]=n1,h1=e[S6>>2]|0,g1=Y0+4|0,e[g1>>2]=h1,e[Y0>>2]=o1,e[S6>>2]=Y0),e[C0>>2]=J0,m1=M9(J0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,u1=m1,A1=0,s1=m,V5=J0):(u1=O0,A1=V0,s1=G0,V5=P0),d1=u1+A1|0,c1=A1+J0|0,e[c6>>2]=c1,e[j0>>2]=d1,$1=(s1|0)>0;e:do if($1)for(E1=t+8|0,k1=c1,M1=V5,D1=u1,A9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(D1|0)==0,R1||(F1=D1,U1=M9(8)|0,b1=e[L3>>2]|0,P1=b1+k1|0,e[L3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=M9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,Y1=0):(H1=D1,Y1=k1),z1=H1+Y1|0,V1=Y1+w1|0,e[c6>>2]=V1,X1=e[j0>>2]|0,n2=X1+(A9<<2)|0,e[n2>>2]=z1,j1=e[j0>>2]|0,O1=j1+(A9<<2)|0,c2=e[O1>>2]|0,W1=e[E1>>2]|0,d2=W1+(A9<<2)|0,a2=e[d2>>2]|0,ce(c2|0,a2|0,p1|0)|0,K1=e[j0>>2]|0,h2=K1+(A9<<2)|0,$2=e[h2>>2]|0,i2=$2+(L0<<2)|0,l2=e[o>>2]|0,r2=l2+(A9<<2)|0,e[r2>>2]=i2,A2=A9+1|0,e2=e[l0>>2]|0,o2=(A2|0)<(e2|0),!o2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,D1=Q,A9=A2}while(!1);if(t2=e[f2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[f2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(N2=S5+4|0,L2=e[N2>>2]|0,U2=(L2|0)/2&-1,m2=h3-U2|0,W2=(m2|0)>0,!W2)return $=1,$|0;if(V2=e[R6>>2]|0,KS(V2,m2),G2=e[m3>>2]|0,q2=G2-m2|0,e[m3>>2]=q2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(H2=t+8|0,N1=e[H2>>2]|0,t5=e[N1>>2]|0,F5=t5+(m2<<2)|0,i5=q2<<2,nA(t5|0,F5|0,i5|0)|0,j2=e[l0>>2]|0,I5=(j2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[H2>>2]|0,Y5=b5+(g5<<2)|0,b2=e[Y5>>2]|0,B5=b2+(m2<<2)|0,s5=B<<2,nA(b2|0,B5|0,s5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return T5=e[v>>2]|0,e[R3>>2]=T5,m5=e[d>>2]|0,e[v>>2]=m5,e[V6>>2]=U2,x5=e[f2>>2]|0,q5=(x5|0)==0,q5?(f3=(m2|0)<0,y3=f3<<31>>31,q3=x,X5=q3,b3=e[X5>>2]|0,t3=q3+4|0,s6=t3,T3=e[s6>>2]|0,H3=rs(b3|0,T3|0,m2|0,y3|0)|0,c3=j6,g3=x,u3=g3,e[u3>>2]=H3,z5=g3+4|0,H5=z5,e[H5>>2]=c3,$=1,$|0):(L5=x5-m2|0,Y2=(L5|0)<1,a=Y2?-1:L5,e[f2>>2]=a,p5=(a|0)>(U2|0),p5?(c5=(m2|0)<0,F2=c5<<31>>31,v5=x,J5=v5,i3=e[J5>>2]|0,E5=v5+4|0,d3=E5,K5=e[d3>>2]|0,r3=rs(i3|0,K5|0,m2|0,F2|0)|0,a3=j6,B3=x,N5=B3,e[N5>>2]=r3,W5=B3+4|0,D3=W5,e[D3>>2]=a3,$=1,$|0):($5=a+m2|0,u5=$5-U2|0,T1=(u5|0)<0,D5=T1<<31>>31,h5=x,l5=h5,X2=e[l5>>2]|0,g2=h5+4|0,w5=g2,r5=e[w5>>2]|0,a5=rs(X2|0,r5|0,u5|0,D5|0)|0,d5=j6,f5=x,n5=f5,e[n5>>2]=a5,M5=f5+4|0,e5=M5,e[e5>>2]=d5,$=1,$|0))}function US(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0;if(n5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,l2=(O1|0)<1,l2)||(N2=e[B>>2]|0,H2=(N2|0)<64,H2)||(b2=B+4|0,L5=e[b2>>2]|0,S=(L5|0)<(N2|0),S))return $=1,$|0;T=B+3656|0,o0=e[T>>2]|0,z2=t,M5=z2+112|0;do e[z2>>2]=0,z2=z2+4|0;while((z2|0)<(M5|0));g0=le(1,136)|0,w0=t+104|0,e[w0>>2]=g0,V0=t+4|0,e[V0>>2]=o,Y0=e[Z1>>2]|0,s1=Y0+-1|0,B1=O8(s1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=le(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=le(1,4)|0,S1=g0+16|0,e[S1>>2]=M1,D1=le(1,20)|0,e[k1>>2]=D1,R1=le(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,pC(D1,U1),b1=e[S1>>2]|0,P1=e[b1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,pC(P1,x1),z1=e[B>>2]|0,q1=O8(z1)|0,H1=q1+-7|0,Y1=g0+4|0,e[Y1>>2]=H1,V1=e[b2>>2]|0,X1=O8(V1)|0,n2=X1+-7|0,j1=g0+8|0,e[j1>>2]=n2,c2=(a|0)==0;e:do if(c2){if(y2=B+2848|0,Q5=e[y2>>2]|0,T5=(Q5|0)==0,T5&&(m5=B+24|0,x5=e[m5>>2]|0,q5=le(x5,56)|0,e[y2>>2]=q5,Y2=e[m5>>2]|0,p5=(Y2|0)>0,p5)){for(Q1=Y2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(h5=e[y2>>2]|0,l5=h5+(w5*56|0)|0,X2=Ob(l5,u5)|0,b=(X2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,CC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,d5=0;A1=(B+1824|0)+(d5<<2)|0,c1=e[A1>>2]|0,$1=(c1|0)==0,$1?I1=p1:(CC(c1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=d5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,d5=j0;return aQ(t),$=-1,$|0}}else{if(W1=g0+20|0,d2=e[B>>2]|0,wQ(W1,d2),s2=g0+32|0,E2=e[b2>>2]|0,wQ(s2,E2),a2=B+2848|0,K1=e[a2>>2]|0,h2=(K1|0)==0,h2&&($2=B+24|0,i2=e[$2>>2]|0,r2=le(i2,56)|0,e[a2>>2]=r2,A2=e[$2>>2]|0,e2=(A2|0)>0,e2&&(o2=B+1824|0,f2=e[o2>>2]|0,yQ(r2,f2)|0,t2=e[$2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[a2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,yQ(D2,L2)|0,U2=S2+1|0,m2=e[$2>>2]|0,W2=(U2|0)<(m2|0),W2;)S2=U2;P2=B+28|0,V2=e[P2>>2]|0,G2=le(V2,52)|0,q2=g0+56|0,e[q2>>2]=G2,Z2=e[P2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=o+8|0,i5=G2,g2=0;;){if(F5=i5+(g2*52|0)|0,_5=(B+2852|0)+(g2<<2)|0,j2=e[_5>>2]|0,I5=e[j2>>2]|0,b5=B+(I5<<2)|0,Y5=e[b5>>2]|0,g5=(Y5|0)/2&-1,B5=e[t5>>2]|0,Cb(F5,j2,N1,g5,B5),s5=g2+1|0,R2=e[P2>>2]|0,M2=(s5|0)<(R2|0),!M2)break t;d=e[q2>>2]|0,i5=d,g2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,N=M9(F)|0,G=t+8|0,e[G>>2]=N,V=M9(F)|0,X=t+12|0,e[X>>2]=V,K=(R|0)>0,K&&(a0=le(x,4)|0,e[N>>2]=a0,W=(R|0)>1,W))for(J=1;m=e[G>>2]|0,r0=le(x,4)|0,s0=m+(J<<2)|0,e[s0>>2]=r0,q=J+1|0,h0=(q|0)<(R|0),h0;)J=q;if(t0=t+36|0,e[t0>>2]=0,j=t+40|0,e[j>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,Z=B+16|0,I0=e[Z>>2]|0,f0=le(I0,4)|0,n0=g0+48|0,e[n0>>2]=f0,d0=B+20|0,p0=e[d0>>2]|0,C0=le(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[Z>>2]|0,b0=(Q0|0)>0,b0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,_0=e[B0>>2]|0,K0=25640+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(r5<<2)|0,U0=e[N0>>2]|0,O0=mi[T0&15](t,U0)|0,k0=e[n0>>2]|0,F0=k0+(r5<<2)|0,e[F0>>2]=O0,L0=r5+1|0,G0=e[Z>>2]|0,z0=(L0|0)<(G0|0),z0;)r5=L0;if(E0=e[d0>>2]|0,y0=(E0|0)>0,y0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,q0=e[J0>>2]|0,Z0=25648+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+8|0,o1=e[H0>>2]|0,i1=(B+1568|0)+(a5<<2)|0,x0=e[i1>>2]|0,n1=mi[o1&15](t,x0)|0,h1=e[S0>>2]|0,g1=h1+(a5<<2)|0,e[g1>>2]=n1,m1=a5+1|0,d1=e[d0>>2]|0,u1=(m1|0)<(d1|0),u1)a5=m1;else{$=0;break}return $|0}function lQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,C=C+64|0,g=M0,d=t+20|0,y=e[d>>2]|0,K=y<<2,o=K,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,T=u0+(B0<<2)|0,e[T>>2]=F,N=B0+1|0,G=(b|0)>(N|0),G;)B0=N;if(V=e[Q0>>2]|0,X=b-V|0,+cQ(u0,g,X,16),a0=e[d>>2]|0,W=e[Q0>>2]|0,a=a0-W|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,gQ(g,s0,16,r0,W),J=e[d>>2]|0,o0=(J|0)>0,o0)for(q=e[S>>2]|0,h0=q+(w0<<2)|0,t0=e[h0>>2]|0,_0=0;j=u0+(_0<<2)|0,c0=e[j>>2]|0,$0=_0^-1,l0=J+$0|0,Z=t0+(l0<<2)|0,e[Z>>2]=c0,I0=_0+1|0,g0=(J|0)>(I0|0),g0;)_0=I0;if(f0=w0+1|0,n0=e[m>>2]|0,d0=n0+4|0,p0=e[d0>>2]|0,S0=(f0|0)<(p0|0),S0)b=J,w0=f0;else break}C=M0}function PS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0;A2=C,O2(o,5653314,24),m=e[t>>2]|0,O2(o,m,16),I=t+4|0,G=e[I>>2]|0,O2(o,G,24),h0=e[I>>2]|0,n0=(h0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(S1=L0+O1|0,E=f[S1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(h0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(h0|0);e:do if(M){if(O2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,T=F<<24>>24,N=T+-1|0,O2(o,N,5),V=e[I>>2]|0,X=(V|0)>1,X)for(w=V,H1=0,W1=1;;){if(K=e[L>>2]|0,a0=K+W1|0,W=f[a0>>0]|0,r0=W1+-1|0,s0=K+r0|0,J=f[s0>>0]|0,o0=W<<24>>24>J<<24>>24,o0)for(q=J<<24>>24,t0=W<<24>>24,c0=w,Y1=H1,$2=q;;)if(j=W1-Y1|0,u0=c0-Y1|0,$0=O8(u0)|0,O2(o,j,$0),l0=$2+1|0,n2=(l0|0)==(t0|0),d=e[I>>2]|0,n2){g0=d,V1=W1;break}else c0=d,Y1=W1,$2=l0;else g0=w,V1=H1;if(Z=W1+1|0,I0=(Z|0)<(g0|0),I0)w=g0,H1=V1,W1=Z;else{$=g0,q1=V1,c2=Z;break}}else $=V,q1=0,c2=1;f0=c2-q1|0,d0=$-q1|0,p0=O8(d0)|0,O2(o,f0,p0)}else{O2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,s2=0;;){if(E0=b0+s2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){d2=s2;break t}if(B0=s2+1|0,K0=(B0|0)<(C0|0),K0)s2=B0;else{d2=B0;break}}else d2=0;while(!1);if(M0=(d2|0)==(C0|0),M0){if(O2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,E2=0;;)if(U0=e[N0>>2]|0,O0=U0+E2|0,k0=f[O0>>0]|0,V0=k0<<24>>24,F0=V0+-1|0,O2(o,F0,5),G0=E2+1|0,z0=e[I>>2]|0,J0=(G0|0)<(z0|0),J0)E2=G0;else break e}if(O2(o,1,1),q0=e[I>>2]|0,Z0=(q0|0)>0,Z0)for(P0=t+8|0,a2=0;H0=e[P0>>2]|0,o1=H0+a2|0,Y0=f[o1>>0]|0,i1=Y0<<24>>24==0,i1?O2(o,0,1):(O2(o,1,1),n1=e[P0>>2]|0,h1=n1+a2|0,g1=f[h1>>0]|0,m1=g1<<24>>24,d1=m1+-1|0,O2(o,d1,5)),u1=a2+1|0,A1=e[I>>2]|0,c1=(u1|0)<(A1|0),c1;)a2=u1}while(!1);if(s1=t+12|0,$1=e[s1>>2]|0,O2(o,$1,4),E1=e[s1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,O2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,O2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,D1=M1+-1|0,O2(o,D1,4),R1=t+28|0,F1=e[R1>>2]|0,O2(o,F1,1),U1=e[s1>>2]|0,(U1|0)==1)b1=Gb(t)|0,l2=b1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=o5(Z1,P1)|0,l2=G1;else break;if(x1=(l2|0)>0,x1)for(K1=0;z1=e[I1>>2]|0,Q=z1+(K1<<2)|0,B=e[Q>>2]|0,h2=(B|0)>-1,i2=0-B|0,S=h2?B:i2,b=e[L1>>2]|0,O2(o,S,b),v=K1+1|0,X1=(v|0)==(l2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Fu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0;return X=C,g=(o|0)<0,g||(d=t+12|0,y=e[d>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,T=e[F>>2]|0,N=T+(o<<2)|0,G=e[N>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,O2(a,G,B),S=e[d>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function tE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,d=(g|0)>0,!d||(m=Tu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function OS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,q=o0<<2,d=q,h0=C,C=C+((1*d|0)+15&-16)|0,t0=(o0|0)>0;e:do if(t0){for(j=t+16|0,l0=0;;){if(N=Tu(t,a)|0,G=(N|0)==-1,G){g=-1;break}if(V=e[j>>2]|0,X=e[t>>2]|0,K=o5(X,N)|0,a0=V+(K<<2)|0,W=h0+(l0<<2)|0,e[W>>2]=a0,r0=l0+1|0,J=(r0|0)<(o0|0),J)l0=r0;else{u0=X;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=t0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(Z=0,g0=0;;){for(I0=0;v=h0+(I0<<2)|0,w=e[v>>2]|0,D=w+(Z<<2)|0,y=+s[D>>2],x=I0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,T=I0+1|0,$0=(T|0)==(o0|0),!$0;)I0=T;if(B=Z+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)Z=B,g0=S;else{g=0;break}}return C=n0,g|0}function qS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0;if(t5=C,K=t+8|0,a0=e[K>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(z1=t+16|0,e2=0;;){if(t0=Tu(t,a)|0,j=(t0|0)==-1,j){g=-1,N1=29;break}if(u0=e[z1>>2]|0,c0=e[t>>2]|0,$0=o5(c0,t0)|0,l0=(c0|0)>0,l0){for(Z=(c0|0)>1,H2=Z?c0:1,f2=e2,m2=0;I0=m2+1|0,X=m2+$0|0,g0=u0+(X<<2)|0,n0=+s[g0>>2],d0=f2+1|0,p0=o+(f2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(I0|0)<(c0|0),Q0;)f2=d0,m2=I0;d2=e2+H2|0,o2=d2}else o2=e2;if(W=(o2|0)<($|0),W)e2=o2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=Tu(t,a)|0,o0=(J|0)==-1,o0){g=-1,N1=29;break e}switch(q=e[i1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=J,y=q,N1=19;break t}case 3:{S=J,x=q,N1=21;break t}case 7:{I=J,v=q,N1=13;break t}case 6:{E=J,w=q,N1=15;break t}case 8:{d=q,m=J,N1=12;break t}case 5:{Q=J,D=q,N1=17;break t}case 1:{K1=J,$2=q,U2=t2,A5=0;break t}case 2:{b=J,M=q,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=d+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,K0=+s[_0>>2],M0=K0+y0,s[_0>>2]=M0,N0=b0,O0=d,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,O0=v,k2=t2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,Z0=J0,H0=w,D2=t2,P2=0,N1=16):(N1|0)==17?(N1=0,g1=Q*5|0,d1=g1,A1=D,S2=t2,V2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,G2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,b1=F1,Z1=x,N2=t2,q2=0,N1=22):(N1|0)==23&&(N1=0,V1=b<<1,n2=V1,O1=M,L2=t2,Z2=0,N1=24),(N1|0)==14&&(N1=0,T0=W2+1|0,V=W2+N0|0,U0=O0+(V<<2)|0,k0=+s[U0>>2],V0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],z0=G0+k0,s[L0>>2]=z0,Z0=N0,H0=O0,D2=V0,P2=T0,N1=16),(N1|0)==16&&(N1=0,q0=P2+1|0,G=P2+Z0|0,P0=H0+(G<<2)|0,o1=+s[P0>>2],Y0=D2+1|0,x0=o+(D2<<2)|0,n1=+s[x0>>2],h1=n1+o1,s[x0>>2]=h1,d1=Z0,A1=H0,S2=Y0,V2=q0,N1=18),(N1|0)==18&&(N1=0,m1=V2+1|0,N=V2+d1|0,u1=A1+(N<<2)|0,c1=+s[u1>>2],s1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+c1,s[j0>>2]=I1,B1=d1,v1=A1,Q2=s1,G2=m1,N1=20),(N1|0)==20&&(N1=0,p1=G2+1|0,T=G2+B1|0,w1=v1+(T<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,S1=o+(Q2<<2)|0,D1=+s[S1>>2],R1=D1+k1,s[S1>>2]=R1,b1=B1,Z1=v1,N2=L1,q2=p1,N1=22),(N1|0)==22&&(N1=0,U1=q2+1|0,F=q2+b1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=N2+1|0,q1=o+(N2<<2)|0,H1=+s[q1>>2],Y1=H1+G1,s[q1>>2]=Y1,n2=b1,O1=Z1,L2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,X1=Z2+1|0,R=Z2+n2|0,j1=O1+(R<<2)|0,c2=+s[j1>>2],W1=L2+1|0,s2=o+(L2<<2)|0,E2=+s[s2>>2],a2=E2+c2,s[s2>>2]=a2,K1=n2,$2=O1,U2=W1,A5=X1),L=A5+K1|0,h2=$2+(L<<2)|0,i2=+s[h2>>2],l2=U2+1|0,r2=o+(U2<<2)|0,A2=+s[r2>>2],r0=A2+i2,s[r2>>2]=r0,s0=(l2|0)<($|0),s0)t2=l2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function HS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(r0=(a|0)/($|0)&-1,s0=d+a|0,J=(s0|0)/($|0)&-1,o0=(r0|0)<(J|0),!o0))return I=0,I|0;for(q=t+16|0,j=0,$0=r0;;){if(t0=Tu(t,g)|0,b=(t0|0)==-1,b){I=-1,g0=8;break}if(v=e[q>>2]|0,w=e[t>>2]|0,D=o5(w,t0)|0,y=(w|0)>0,y)for(c0=j,Z=$0,I0=0;;)if(Q=I0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,N=F+(Z<<2)|0,G=+s[N>>2],V=G+M,s[N>>2]=V,X=(L|0)==($|0),K=X&1,E=K+Z|0,m=X?0:L,a0=I0+1|0,W=(a0|0)<(w|0),W)c0=m,Z=E,I0=a0;else{u0=m,l0=E;break}else u0=j,l0=$0;if(h0=(l0|0)<(J|0),h0)j=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Tu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,d=e[g>>2]|0,y=t+36|0,K=e[y>>2]|0,u0=dC(o,K)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,h1=J0+(u0<<2)|0,g1=e[h1>>2]|0,m=(g1|0)<0,m){I=g1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=g1&32767,b=B-S|0,m1=b,u1=E;break}return v=g1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,fC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,u1=0;while(!1);if(T=dC(o,d)|0,N=(T|0)<0,G=(d|0)>1,V=N&G,V)for(j0=d;;)if(X=j0+-1|0,a0=dC(o,X)|0,W=(a0|0)<0,r0=(X|0)>1,s0=W&r0,s0)j0=X;else{$=W,s1=a0,$1=X;break}else $=N,s1=T,$1=d;if($)return a=-1,a|0;if(J=s1>>>16,o0=s1<<16,q=J|o0,h0=q>>>8,t0=h0&16711935,j=q<<8,c0=j&-16711936,$0=t0|c0,l0=$0>>>4,Z=l0&252645135,I0=$0<<4,g0=I0&-252645136,f0=Z|g0,n0=f0>>>2,d0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=d0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-u1|0,K0=(_0|0)>1,K0)for(M0=t+20|0,T0=e[M0>>2]|0,U0=_0,d1=m1,c1=u1;;)if(N0=U0>>1,O0=N0+c1|0,k0=T0+(O0<<2)|0,V0=e[k0>>2]|0,F0=V0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+c1|0,z0=F0?N0:0,q0=d1-z0|0,Z0=q0-G0|0,P0=(Z0|0)>1,P0)U0=Z0,d1=q0,c1=G0;else{A1=G0;break}else A1=u1;return H0=t+28|0,o1=e[H0>>2]|0,Y0=o1+A1|0,i1=f[Y0>>0]|0,x0=i1<<24>>24,n1=(x0|0)>($1|0),n1?(fC(o,$1),a=-1,a|0):(fC(o,x0),a=A1,a|0)}function YS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0;for(h1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,J=e[F>>2]|0,I0=t+4|0,e[I0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,q0=t+12|0,e[q0>>2]=J0,e[t>>2]=J,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=le(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,pC(x,128),M=e[y>>2]|0,Y0=0;L=+(Y0|0),R=L*.024736950028266088,T=+Hn(+R),N=T,G=M+(Y0<<2)|0,V=N*N,s[G>>2]=V,X=Y0+1|0,o1=(X|0)==128,!o1;)Y0=X;for(K=t+40|0,e[K>>2]=2,a0=t+44|0,e[a0>>2]=4,W=t+56|0,e[W>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,q=t+88|0,e[q>>2]=9,h0=t+92|0,e[h0>>2]=8,t0=t+104|0,e[t0>>2]=13,j=t+108|0,e[j>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(Z=g0<<2,f0=M9(Z)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Hn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,K0=M0+B0,v0=i1+1|0,P0=(v0|0)==(g0|0),P0){a=K0;break}else M0=K0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,U0=x0+1|0,H0=(U0|0)==7,H0)break;$=((t+40|0)+(U0<<4)|0)+4|0,d=e[$>>2]|0,g0=d,x0=U0}O0=J*7|0,V0=le(O0,144)|0,F0=t+152|0,e[F0>>2]=V0,L0=e[Z0>>2]|0,G0=le(L0,4)|0,z0=t+160|0,e[z0>>2]=G0}function VS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;N=C,o=t+16|0,EC(o),a=t+48|0,v=e[a>>2]|0,p2(v),D=t+64|0,y=e[D>>2]|0,p2(y),x=t+80|0,M=e[x>>2]|0,p2(M),L=t+96|0,R=e[L>>2]|0,p2(R),F=t+112|0,$=e[F>>2]|0,p2($),g=t+128|0,d=e[g>>2]|0,p2(d),m=t+144|0,I=e[m>>2]|0,p2(I),E=t+36|0,Q=e[E>>2]|0,p2(Q),B=t+152|0,S=e[B>>2]|0,p2(S),b=t+160|0,w=e[b>>2]|0,p2(w),g4(t|0,0,180)|0}function JS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,d=t+4|0,m=e[d>>2]|0,R=m+28|0,s0=e[R>>2]|0,Z=s0+2868|0,E0=t+104|0,O0=e[E0>>2]|0,H0=e[O0>>2]|0,A1=H0+168|0,v1=e[A1>>2]|0,I=H0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=H0+164|0,F=e[L>>2]|0,T=(M|0)>(F|0),T&&(e[L>>2]=M,N=H0+160|0,G=e[N>>2]|0,V=M<<2,X=J7(G,V)|0,e[N>>2]=X),K=(o|0)<(y|0),K)for(a0=H0+156|0,W=H0+160|0,r0=t+8|0,J=H0+40|0,o0=H0+152|0,x1=o;;){if(q=e[a0>>2]|0,h0=q+1|0,t0=(q|0)>23,$=t0?24:h0,e[a0>>2]=$,j=e[H0>>2]|0,u0=(j|0)>0,u0){for(G1=0,Y1=0;;)if(I0=e[r0>>2]|0,g0=I0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,d0=o5(n0,x1)|0,p0=f0+(d0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=WS(H0,Z,p0,J,Q0)|0,y0=b0|Y1,w0=G1+1|0,B0=e[H0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,Y1=y0;else{g=y0;break}K0=x1+2|0,M0=e[W>>2]|0,v0=M0+(K0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(U0=M0+(x1<<2)|0,e[U0>>2]=1,k0=x1+1|0,V0=M0+(k0<<2)|0,e[V0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,z0=(x1|0)>0,z0&&(J0=x1+-1|0,q0=M0+(J0<<2)|0,e[q0>>2]=1)),Z0=g&4,P0=(Z0|0)==0,P0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[W>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(o1=x1+1|0,Z1=(o1|0)==(y|0),Z1)break;x1=o1}if(Y0=e[I>>2]|0,i1=o5(Y0,y)|0,e[A1>>2]=i1,x0=t+48|0,n1=e[x0>>2]|0,h1=t+40|0,g1=e[h1>>2]|0,m1=s0+(g1<<2)|0,d1=e[m1>>2]|0,u1=(d1|0)/4&-1,c1=u1+n1|0,s1=s0+4|0,$1=e[s1>>2]|0,j0=($1|0)/2&-1,E1=c1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=H0+176|0,w1=e[B1>>2]|0,k1=i1-Y0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=H0+160|0,z1=w1;;){if(R1=(z1|0)<(p1|0),!R1){a=1,V1=22;break}if(e[B1>>2]=z1,F1=(z1|0)/(Y0|0)&-1,U1=e[M1>>2]|0,b1=U1+(F1<<2)|0,P1=e[b1>>2]|0,E=(P1|0)!=0,Q=(z1|0)>(n1|0),H1=Q&E,S1=Y0+z1|0,H1){q1=z1,V1=21;break}if(D1=(S1|0)<(k1|0),D1)z1=S1;else{a=-1,V1=22;break}}return(V1|0)==21?(B=H0+172|0,e[B>>2]=q1,a=0,a|0):(V1|0)==22?a|0:0}function zS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,d=e[g>>2]|0,y=e[d>>2]|0,K=t+4|0,u0=e[K>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,d0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=d0-Q|0,S=Q+d0|0,b=(m|0)==0,b?(G=e[f0>>2]|0,V=(G|0)/4&-1,a=V,$=V):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,T=e[F>>2]|0,N=(T|0)/4&-1,a=N,$=M),C0=B-$|0,S0=S+a|0,X=y+172|0,a0=e[X>>2]|0,W=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=W&r0,b0)return o=1,o|0;if(s0=y+8|0,J=e[s0>>2]|0,o0=(C0|0)/(J|0)&-1,q=(S0|0)/(J|0)&-1,h0=(o0|0)<(q|0),!h0)return o=0,o|0;for(t0=y+160|0,j=e[t0>>2]|0,Q0=o0;;){if(l0=j+(Q0<<2)|0,Z=e[l0>>2]|0,I0=(Z|0)==0,c0=Q0+1|0,!I0){o=1,E0=9;break}if($0=(c0|0)<(q|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function KS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,T=F+(L<<2)|0,g=M-L|0,d=g<<2,nA(F|0,T|0,d|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function WS(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0;if(m3=C,K=t+4|0,a0=e[K>>2]|0,l2=t+12|0,N2=+s[l2>>2],H2=a0<<2,x=H2,b2=C,C=C+((1*x|0)+15&-16)|0,L5=t+156|0,g2=e[L5>>2]|0,F2=(g2|0)>5,N5=(g2|0)/2&-1,d=F2?N5:2,W=o+60|0,$0=+s[W>>2],Q0=N5+-2|0,N0=+(Q0|0),Z0=$0-N0,d1=Z0<0,E6=d1?0:Z0,B1=E6>$0,k3=B1?$0:E6,b1=(a0|0)>0,b1)for(n2=t+36|0,$2=e[n2>>2]|0,V5=0;r2=a+(V5<<2)|0,A2=+s[r2>>2],e2=$2+(V5<<2)|0,o2=+s[e2>>2],f2=o2*A2,t2=b2+(V5<<2)|0,s[t2>>2]=f2,k2=V5+1|0,Q3=(k2|0)==(a0|0),!Q3;)V5=k2;D2=t+16|0,uQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,U2=b2+4|0,m2=+s[U2>>2],W2=m2,P2=W2*W2,V2=P2*.7,G2=V2+L2,q2=b2+8|0,Z2=+s[q2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,F5=G2+t5,i5=F5,_5=g+140|0,j2=e[_5>>2]|0,I5=(j2|0)==0,I5?(b5=g+136|0,Y5=+s[b5>>2],g5=Y5+i5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=i5,T=B5,Y2=g5):(s5=g+132|0,R2=+s[s5>>2],M2=R2+i5,s[s5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],T5=Q5+i5,s[y2>>2]=T5,T=s5,Y2=M2),m5=(g+72|0)+(j2<<2)|0,x5=+s[m5>>2],q5=Y2-x5,s[T>>2]=q5,s[m5>>2]=i5,p5=e[_5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[_5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=Y2*.0625,h5=(s[w2>>2]=D5,e[w2>>2]|0),l5=h5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,d5=a5*.5,z2=d5+-15,f5=z2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,U0=S5|1,O0=b2+(U0<<2)|0,k0=+s[O0>>2],V0=k0*k0,F0=V0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,z0=+(G0>>>0),J0=z0*35885571492144663e-23,q0=J0+-382.30810546875,P0=q0>1,Y0=b2+(o1<<2)|0,s[Y0>>2]=X,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;n1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=n1,T0=F,S5=i1}while(!1);if(n5=(d|0)>0,n5)l3=0,V3=0;else{for(n3=0,i6=0;;){if(h1=($+(n3<<4)|0)+4|0,g1=e[h1>>2]|0,m1=(g1|0)>0,m1)for(u1=$+(n3<<4)|0,A1=e[u1>>2]|0,c1=($+(n3<<4)|0)+8|0,s1=e[c1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=s1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(g1|0),k1)c3=w1,Y3=v1;else{T3=w1;break}else T3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],S1=M1*T3,D1=(g+(n3*144|0)|0)+68|0,R1=e[D1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=S1P1,S=x1?P1:S1,z1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=S1,Y1=e[D1>>2]|0,V1=Y1+1|0,X1=(Y1|0)>15,D=X1?0:V1,e[D1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],c2=O1+k3,W1=q1>c2,d2=i6|5,Z5=W1?d2:i6,s2=(o+32|0)+(n3<<2)|0,E2=+s[s2>>2],a2=E2-k3,K1=z1>2]|0,c5=(e5|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,G5=0;;)if(u0=c0+G5|0,l0=b2+(u0<<2)|0,Z=+s[l0>>2],I0=g0+(G5<<2)|0,f0=+s[I0>>2],n0=f0*Z,d0=n0+g3,p0=G5+1|0,C0=(p0|0)<(e5|0),C0)g3=d0,G5=p0;else{H3=d0;break}else H3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],d3=y0*H3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],K0=d3<_0,i3=K0?_0:d3,M0=d3>_0,b=M0?_0:d3,$6=0,N3=E,_3=-99999,S3=99999;;)if(s0=(N3|0)<1,w=s0?16:-1,v=w+N3|0,J=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[J>>2],q=_3o0,N=t0?o0:S3,j=$6+1|0,z5=(j|0)==(d|0),z5){L=h0,G=N;break}else $6=j,N3=v,_3=h0,S3=N;if(v5=b-G,J5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=d3,K5=e[r3>>2]|0,a3=K5+1|0,B3=(K5|0)>15,y=B3?0:a3,e[r3>>2]=y,W5=(o+4|0)+(l3<<2)|0,D3=+s[W5>>2],f3=D3+k3,y3=J5>f3,X3=V3|5,x3=y3?X3:V3,q3=(o+32|0)+(l3<<2)|0,X5=+s[q3>>2],b3=X5-k3,t3=v5>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,U3=o+1284|0,y6=e[U3>>2]|0,w9=(y6|0)>0,w9){for(mt=0;n4=Se+(mt<<2)|0,e[n4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(y6|0),!S4;)mt=k4;if(w9){for(W3=0;Ce=Ie+(W3<<2)|0,e[Ce>>2]=-200,r0=W3+1|0,fe=(r0|0)==(y6|0),!fe;)W3=r0;if(w9){for(l0=y6<<2,g4(Pt|0,0,l0|0)|0,_9=0;b0=F4+(_9<<2)|0,e[b0>>2]=1,U0=_9+1|0,J4=(U0|0)==(y6|0),!J4;)_9=U0;if(w9){if(u1=y6<<2,g4(t8|0,-1,u1|0)|0,w1=(y6|0)>1,!w1)return A4=0,C=ae,A4|0;for(P1=r6+-1|0,j1=W+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ve=F,S9=0,b4=0;;){Fe=S9+1|0,Te=o+(Fe<<2)|0,Ge=e[Te>>2]|0,qe=z6+(S9*56|0)|0,O4=qe,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[qe>>2]=ve,He=(z6+(S9*56|0)|0)+4|0,e[He>>2]=Ge,J9=(Ge|0)<(r6|0),s8=J9?Ge:P1,Ye=(s8|0)<(ve|0),Ye)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,Z9=0,jt=0,Tt=0,K8=0,W8=0;else for(xe=ve,pt=0,z4=0,Ke=0,oe=0,D4=0,gt=0,E3=0,F9=0,ht=0,b9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,V=+s[he>>2],Ue=V*7.314285755157471,Ee=Ue+1023.5,v4=~~Ee,W9=(v4|0)>1023,v9=(v4|0)<0,m=v9?0:v4,S=W9?1023:m,Y4=(S|0)==0;do if(Y4)zt=pt,at=z4,$t=Ke,Bt=oe,W4=D4,be=gt,wt=E3,Wt=F9,Ze=ht,et=b9,c4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Ve=+s[nt>>2],V4=+s[j1>>2],Je=V4+Ve,o4=!(Je>=V),o4){h4=xe+gt|0,ne=S+Nt|0,d4=o5(xe,xe)|0,f4=d4+oe|0,ke=o5(S,S)|0,s0=ke+b9|0,J=o5(S,xe)|0,o0=J+F9|0,q=z4+1|0,zt=pt,at=q,$t=Ke,Bt=f4,W4=D4,be=h4,wt=E3,Wt=o0,Ze=ht,et=s0,c4=u8,Xt=ne;break}else{R4=xe+D4|0,ot=S+u8|0,re=o5(xe,xe)|0,u4=re+Ke|0,N6=o5(S,S)|0,ze=N6+ht|0,P9=o5(S,xe)|0,de=P9+E3|0,Ne=pt+1|0,zt=Ne,at=z4,$t=u4,Bt=oe,W4=R4,be=gt,wt=de,Wt=F9,Ze=ze,et=b9,c4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,t0=(xe|0)<(s8|0),t0)xe=h0,pt=zt,z4=at,Ke=$t,oe=Bt,D4=W4,gt=be,E3=wt,F9=Wt,ht=Ze,b9=et,u8=c4,Nt=Xt;else{_t=zt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=be,a8=wt,Z9=Wt,jt=Ze,Tt=et,K8=c4,W8=Xt;break}}if(j=(z6+(S9*56|0)|0)+8|0,e[j>>2]=Qt,u0=(z6+(S9*56|0)|0)+12|0,e[u0>>2]=K8,c0=(z6+(S9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(S9*56|0)|0)+20|0,e[$0>>2]=jt,Z=(z6+(S9*56|0)|0)+24|0,e[Z>>2]=a8,I0=(z6+(S9*56|0)|0)+28|0,e[I0>>2]=_t,g0=(z6+(S9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(z6+(S9*56|0)|0)+36|0,e[f0>>2]=W8,n0=(z6+(S9*56|0)|0)+40|0,e[n0>>2]=Rt,d0=(z6+(S9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(S9*56|0)|0)+48|0,e[p0>>2]=Z9,C0=(z6+(S9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+b4|0,f6=(Fe|0)==(i2|0),f6){E8=S0;break}else ve=Ge,S9=Fe,b4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(P0=(y6|0)==0,!P0)return A4=0,C=ae,A4|0;N2=z6+4|0,O4=z6,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[N2>>2]=r6,H2=(r6|0)<1,H2)Vt=0,r8=0,Kt=0,Ct=0,ct=0,se=0,yt=0,$4=0,l8=0,c8=0,q8=0,H8=0;else for(b2=W+1112|0,me=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,We=0,l4=0,ut=0,X4=0,M8=0,dt=0;;){L5=$+(me<<2)|0,G=+s[L5>>2],g2=G*7.314285755157471,F2=g2+1023.5,N5=~~F2,T3=(N5|0)>1023,G5=(N5|0)<0,d=G5?0:N5,B=T3?1023:d,V3=(B|0)==0;do if(V3)Jt=xt,G4=Et,U4=At,lt=m4,K4=p4,_4=E4,Z4=We,j4=l4,Ft=ut,g8=X4,R8=M8,F8=dt;else if(d6=a+(me<<2)|0,K3=+s[d6>>2],A6=+s[b2>>2],c9=A6+K3,P6=!(c9>=G),P6){C9=me+E4|0,B9=B+dt|0,Q9=o5(me,me)|0,d9=Q9+m4|0,f9=o5(B,B)|0,H9=f9+X4|0,H6=o5(B,me)|0,A9=H6+l4|0,Y9=Et+1|0,Jt=xt,G4=Y9,U4=At,lt=d9,K4=p4,_4=C9,Z4=We,j4=A9,Ft=ut,g8=H9,R8=M8,F8=B9;break}else{J6=me+p4|0,T6=B+M8|0,i9=o5(me,me)|0,_6=i9+At|0,O6=o5(B,B)|0,q6=O6+ut|0,a9=o5(B,me)|0,h9=a9+We|0,o9=xt+1|0,Jt=o9,G4=Et,U4=_6,lt=m4,K4=J6,_4=E4,Z4=h9,j4=l4,Ft=q6,g8=X4,R8=T6,F8=dt;break}while(!1);if(y9=me+1|0,k9=(y9|0)==(r6|0),k9){Vt=Jt,r8=G4,Kt=U4,Ct=lt,ct=K4,se=_4,yt=Z4,$4=j4,l8=Ft,c8=g8,q8=R8,H8=F8;break}else me=y9,xt=Jt,Et=G4,At=U4,m4=lt,p4=K4,E4=_4,We=Z4,l4=j4,ut=Ft,X4=g8,M8=R8,dt=F8}ye=z6+8|0,e[ye>>2]=ct,ge=z6+12|0,e[ge>>2]=q8,pe=z6+16|0,e[pe>>2]=Kt,V9=z6+20|0,e[V9>>2]=l8,ie=z6+24|0,e[ie>>2]=yt,R9=z6+28|0,e[R9>>2]=Vt,W6=z6+32|0,e[W6>>2]=se,$9=z6+36|0,e[$9>>2]=H8,we=z6+40|0,e[we>>2]=Ct,Re=z6+44|0,e[Re>>2]=c8,ue=z6+48|0,e[ue>>2]=$4,D9=z6+52|0,e[D9>>2]=r8,E8=Vt}if(Q0=(E8|0)==0,Q0)return A4=0,C=ae,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,IC(z6,E0,$8,Zt,W)|0,y0=e[$8>>2]|0,e[Se>>2]=y0,e[Ie>>2]=y0,w0=e[Zt>>2]|0,B0=Ie+4|0,e[B0>>2]=w0,_0=Se+4|0,e[_0>>2]=w0,K0=(y6|0)>2;do if(K0){M0=W+1112|0,v0=W+1096|0,T0=W+1100|0,N0=W+1104|0,Oe=2;e:for(;;){O0=(o+520|0)+(Oe<<2)|0,k0=e[O0>>2]|0,V0=Pt+(k0<<2)|0,F0=e[V0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,z0=t8+(F0<<2)|0,J0=e[z0>>2]|0,q0=(J0|0)==(G0|0);t:do if(!q0){if(Z0=(o+520|0)+(F0<<2)|0,H0=e[Z0>>2]|0,o1=(o+520|0)+(G0<<2)|0,Y0=e[o1>>2]|0,e[z0>>2]=G0,i1=(W+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,n1=(W+836|0)+(G0<<2)|0,h1=e[n1>>2]|0,g1=Se+(F0<<2)|0,m1=e[g1>>2]|0,d1=(m1|0)<0,A1=Ie+(F0<<2)|0,c1=e[A1>>2]|0,d1?w=c1:(s1=(c1|0)<0,s1?w=m1:($1=c1+m1|0,j0=$1>>1,w=j0)),E1=Se+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=Ie+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,S1=(y|0)==-1,x8=M1|S1,x8){C4=38;break e}D1=y-w|0,R1=h1-x0|0,N4=(D1|0)>-1,x9=0-D1|0,F1=N4?D1:x9,U1=(D1|0)/(R1|0)&-1,b1=D1>>31,Z1=b1|1,G1=$+(x0<<2)|0,K=+s[G1>>2],x1=K*7.314285755157471,z1=x1+1023.5,q1=~~z1,H1=(q1|0)>1023,Y1=(q1|0)<0,I=Y1?0:q1,b=H1?1023:I,V1=o5(U1,R1)|0,f8=(V1|0)>-1,p8=0-V1|0,X1=f8?V1:p8,n2=F1-X1|0,O1=w-b|0,c2=o5(O1,O1)|0,W1=a+(x0<<2)|0,d2=+s[W1>>2],s2=+s[M0>>2],E2=s2+d2,a2=!(E2>=K),a2?C4=42:(K1=+(w|0),h2=+s[v0>>2],$2=h2+K1,l2=+(b|0),r2=$2>2],e2=K1-A2,o2=e2>l2,o2||(C4=42)));i:do if((C4|0)==42){if(C4=0,f2=x0+1|0,t2=(f2|0)<(h1|0),t2)for(m2=f2,s4=0,_8=c2,Yt=1,C8=w;;){if(k2=s4+n2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Pe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,U2=$+(m2<<2)|0,X=+s[U2>>2],W2=X*7.314285755157471,P2=W2+1023.5,V2=~~P2,G2=(V2|0)>1023,q2=(V2|0)<0,E=q2?0:V2,D=G2?1023:E,Z2=A8-D|0,A5=o5(Z2,Z2)|0,N1=A5+_8|0,t5=Yt+1|0,F5=a+(m2<<2)|0,i5=+s[F5>>2],_5=i5+s2,j2=_5>=X,I5=(D|0)!=0,o8=j2&I5,o8&&(b5=+(A8|0),Y5=+s[v0>>2],g5=Y5+b5,B5=+(D|0),s5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=m2+1|0,T5=(Q5|0)<(h1|0),T5)m2=Q5,s4=Pe,_8=N1,Yt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=c2,Ht=1;if(m5=+s[v0>>2],x5=m5*m5,q5=+(Ht|0),Y2=x5/q5,p5=+s[N0>>2],$5=Y2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(h5=(i8|0)/(Ht|0)&-1,l5=+(h5|0),X2=l5>p5,X2)))break;g3=Se+(Oe<<2)|0,e[g3>>2]=-200,u3=Ie+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(H0*56|0)|0,r5=k0-H0|0,a5=IC(w5,r5,Ot,qt,W)|0,d5=z6+(k0*56|0)|0,z2=Y0-k0|0,f5=IC(d5,z2,T4,st,W)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=w,M5=e[T4>>2]|0,e[qt>>2]=M5),e5=(f5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,n5)){v5=Se+(Oe<<2)|0,e[v5>>2]=-200,J5=Ie+(Oe<<2)|0,e[J5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[Se>>2]=i3),I3=e[qt>>2]|0,d3=Se+(Oe<<2)|0,e[d3>>2]=I3,K5=e[T4>>2]|0,r3=Ie+(Oe<<2)|0,e[r3>>2]=K5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),W5=K5&I3,D3=(W5|0)>-1,D3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(D8=e8+-1|0,X3=F4+(D8<<2)|0,q3=e[X3>>2]|0,X5=(q3|0)==(G0|0),!X5)break i;if(e[X3>>2]=Oe,b3=(e8|0)>1,b3)e8=D8;else break}while(!1);if(m8=k0+1|0,y3=(m8|0)<(y6|0),y3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,H3=(s6|0)==(F0|0),!H3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,z5=(Q3|0)<(y6|0),z5)Oe=Q3;else{C4=68;break}}if((C4|0)==38)mS(1);else if((C4|0)==68){T=e[Se>>2]|0,N=e[Ie>>2]|0,S5=T,$6=N;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,V5=z8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,N3=l3>>1,v=N3)),e[V5>>2]=v,E6=e[_0>>2]|0,k3=(E6|0)<0,_3=e[B0>>2]|0,k3?M=_3:(S3=(_3|0)<0,S3?M=E6:(a6=_3+E6|0,i6=a6>>1,M=i6)),Z5=V5+4|0,e[Z5>>2]=M,K0)a4=2;else return A4=V5,C=ae,A4|0;for(;;)if(x3=a4+-2|0,h3=(o+1032|0)+(x3<<2)|0,J3=e[h3>>2]|0,h6=(o+780|0)+(x3<<2)|0,m3=e[h6>>2]|0,L6=(W+836|0)+(J3<<2)|0,M6=e[L6>>2]|0,R6=(W+836|0)+(m3<<2)|0,S6=e[R6>>2]|0,b6=V5+(J3<<2)|0,G6=e[b6>>2]|0,X6=V5+(m3<<2)|0,v6=e[X6>>2]|0,L3=(W+836|0)+(a4<<2)|0,n6=e[L3>>2]|0,o6=G6&32767,C6=v6&32767,z3=C6-o6|0,M3=S6-M6|0,d8=(z3|0)>-1,Lt=0-z3|0,e6=d8?z3:Lt,F6=n6-M6|0,l6=o5(e6,F6)|0,o3=(l6|0)/(M3|0)&-1,K6=(z3|0)<0,A3=0-o3|0,L=K6?A3:o3,x=L+o6|0,c6=Se+(a4<<2)|0,B6=e[c6>>2]|0,R3=(B6|0)<0,Y6=Ie+(a4<<2)|0,D6=e[Y6>>2]|0,R3?Q=D6:(U6=(D6|0)<0,U6?Q=B6:(t9=D6+B6|0,Q6=t9>>1,Q=Q6)),e9=(Q|0)<0,G3=(x|0)==(Q|0),L8=e9|G3,n9=x|32768,g=L8?n9:Q,V6=V5+(a4<<2)|0,e[V6>>2]=g,s9=a4+1|0,I4=(s9|0)==(y6|0),I4){A4=V5;break}else a4=s9;return C=ae,A4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0;if(u0=C,d=o+1284|0,m=e[d>>2]|0,x=(a|0)!=0,X=($|0)!=0,h0=x&X,!h0)return t0=0,t0|0;if(K=m<<2,a0=z8(t,K)|0,W=(m|0)>0,!W)return t0=a0,t0|0;for(r0=65536-g|0,q=0;;)if(s0=a+(q<<2)|0,J=e[s0>>2]|0,I=J&32767,E=o5(I,r0)|0,Q=$+(q<<2)|0,B=e[Q>>2]|0,S=B&32767,b=o5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(q<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,T=F&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),V=q+1|0,o0=(V|0)==(m|0),o0){t0=a0;break}else q=V;return t0|0}function ZS(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;if(q6=C,C=C+336|0,P6=q6+64|0,h3=q6+32|0,G3=q6,D=a+1296|0,y=e[D>>2]|0,h2=a+1284|0,R2=e[h2>>2]|0,$5=o+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return O2(t,0,1),F5=o+36|0,i5=e[F5>>2]|0,_5=(i5|0)/2&-1,j2=_5<<2,g4(g|0,0,j2|0)|0,m=0,C=q6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;q0=$+(C6<<2)|0,m1=e[q0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(Z2=p1>>>4,J6=Z2):(U1|0)==1?(X1=p1>>>2,J6=X1):(U1|0)==2?($2=p1>>>3,J6=$2):(U1|0)==3?(S2=(p1>>>0)/12&-1,J6=S2):J6=p1,I5=m1&32768,b5=I5|J6,e[q0>>2]=b5,Y5=C6+1|0,v6=(Y5|0)==(R2|0),!v6;)C6=Y5;if(g5=e[$>>2]|0,e[P6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,s5=P6+4|0,e[s5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(z3=2;;){if(Q5=z3+-2|0,T5=(a+1032|0)+(Q5<<2)|0,m5=e[T5>>2]|0,x5=(a+780|0)+(Q5<<2)|0,q5=e[x5>>2]|0,L5=(y+836|0)+(m5<<2)|0,Y2=e[L5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,h5=e[D5>>2]|0,l5=(y+836|0)+(z3<<2)|0,X2=e[l5>>2]|0,g2=T1&32767,w5=h5&32767,r5=w5-g2|0,d5=u5-Y2|0,K3=(r5|0)>-1,n9=0-r5|0,z2=K3?r5:n9,f5=X2-Y2|0,n5=o5(z2,f5)|0,M5=(n5|0)/(d5|0)&-1,e5=(r5|0)<0,c5=0-M5|0,E=e5?c5:M5,I=E+g2|0,F2=$+(z3<<2)|0,v5=e[F2>>2]|0,J5=v5&32768,E5=(J5|0)!=0,I3=(v5|0)==(I|0),c9=E5|I3,c9)d3=I|32768,e[F2>>2]=d3,K5=P6+(z3<<2)|0,e[K5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),d=B3?a3:I,N5=v5-I|0,W5=(N5|0)<0;do if(W5)if(D3=0-d|0,y3=(N5|0)<(D3|0),y3){X3=N5^-1,q3=d+X3|0,T6=q3;break}else{X5=N5<<1,b3=X5^-1,T6=b3;break}else if(t3=(d|0)>(N5|0),t3){T3=N5<<1,T6=T3;break}else{s6=d+N5|0,T6=s6;break}while(!1);H3=P6+(z3<<2)|0,e[H3>>2]=T6,e[y5>>2]=g2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=z3+1|0,X6=(Q3|0)==(R2|0),X6)break;z3=Q3}S=e[P6>>2]|0,b=e[s5>>2]|0,a6=S,x3=b}else a6=g5,x3=B5;if(O2(t,1,1),z5=a+1308|0,H5=e[z5>>2]|0,V5=H5+1|0,e[z5>>2]=V5,S5=e[y2>>2]|0,Y3=S5+-1|0,G5=O8(Y3)|0,$6=G5<<1,n3=a+1304|0,N3=e[n3>>2]|0,E6=N3+$6|0,e[n3>>2]=E6,k3=e[y2>>2]|0,_3=k3+-1|0,S3=O8(_3)|0,O2(t,a6,S3),i6=e[y2>>2]|0,V3=i6+-1|0,Z5=O8(V3)|0,O2(t,x3,Z5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,M3=0,l6=2;;){if(F=(y+4|0)+(M3<<2)|0,T=e[F>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,V=(y+192|0)+(T<<2)|0,X=e[V>>2]|0,K=1<>2]=0,e[h3+4>>2]=0,e[h3+8>>2]=0,e[h3+12>>2]=0,e[h3+16>>2]=0,e[h3+20>>2]=0,e[h3+24>>2]=0,e[h3+28>>2]=0,W=(X|0)==0,!W){if(e[G3>>2]=0,e[G3+4>>2]=0,e[G3+8>>2]=0,e[G3+12>>2]=0,e[G3+16>>2]=0,e[G3+20>>2]=0,e[G3+24>>2]=0,e[G3+28>>2]=0,r0=(X|0)==31,!r0)for(A3=0;d0=((y+320|0)+(T<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=G3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(K|0),_0;)A3=B0;s0=(G|0)>0;e:do if(s0){if(r0)for(J3=0,L6=0,c6=0;;)if(K0=h3+(c6<<2)|0,M0=e[K0>>2]|0,v0=M0<>2]|0,Y6=0;;){if(J=G3+(Y6<<2)|0,o0=e[J>>2]|0,h0=(q|0)<(o0|0),h0){A6=Y6,U3=31;break}if(t0=Y6+1|0,j=(t0|0)<(K|0),j)Y6=t0;else{U3=33;break}}if((U3|0)==31?(U3=0,u0=h3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(U3|0)==33&&(U3=0,Q=h3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(V0*56|0)|0,L0=Fu(F0,m3,t)|0,G0=e[R>>2]|0,z0=G0+L0|0,e[R>>2]=z0}if(J0=(G|0)>0,J0)for(R3=0;Z0=h3+(R3<<2)|0,P0=e[Z0>>2]|0,H0=((y+320|0)+(T<<5)|0)+(P0<<2)|0,o1=e[H0>>2]|0,Y0=(o1|0)>-1,Y0&&(i1=R3+l6|0,x0=P6+(i1<<2)|0,n1=e[x0>>2]|0,h1=(a0+(o1*56|0)|0)+4|0,g1=e[h1>>2]|0,d1=(n1|0)<(g1|0),d1&&(u1=a0+(o1*56|0)|0,A1=Fu(u1,n1,t)|0,c1=e[n3>>2]|0,s1=c1+A1|0,e[n3>>2]=s1)),$1=R3+1|0,b6=($1|0)==(G|0),!b6;)R3=$1;if(j0=G+l6|0,E1=M3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)M3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=o5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,S1=l3+(M1<<2)|0,D1=e[S1>>2]|0,R1=(D1|0)/2&-1,F1=e[h2>>2]|0,b1=(F1|0)>1,b1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(z1=(a+260|0)+(o3<<2)|0,q1=e[z1>>2]|0,H1=$+(q1<<2)|0,Y1=e[H1>>2]|0,V1=Y1&32767,n2=(V1|0)==(Y1|0),n2)if(j1=e[w1>>2]|0,O1=o5(j1,Y1)|0,c2=(y+836|0)+(q1<<2)|0,W1=e[c2>>2]|0,d2=O1-Q6|0,s2=W1-D6|0,e6=(d2|0)>-1,V6=0-d2|0,E2=e6?d2:V6,a2=(d2|0)/(s2|0)&-1,K1=d2>>31,i2=K1|1,l2=o5(a2,s2)|0,F6=(l2|0)>-1,s9=0-l2|0,r2=F6?l2:s9,A2=E2-r2|0,e2=(R1|0)>(W1|0),i9=e2?W1:R1,o2=(i9|0)>(D6|0),o2&&(f2=g+(D6<<2)|0,e[f2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(i9|0),k2)for(m2=t2,R6=0,_6=Q6;;)if(D2=R6+A2|0,Q2=(D2|0)<(s2|0),N2=Q2?0:i2,L2=Q2?0:s2,S6=D2-L2|0,B=_6+a2|0,O6=B+N2|0,U2=g+(m2<<2)|0,e[U2>>2]=O6,W2=m2+1|0,d6=(W2|0)==(i9|0),d6){o6=W1,U6=W1,e9=O1;break}else m2=W2,R6=S6,_6=O6;else o6=W1,U6=W1,e9=O1;else o6=n6,U6=D6,e9=Q6;if(P2=o3+1|0,V2=e[h2>>2]|0,G2=(P2|0)<(V2|0),G2)n6=o6,o3=P2,D6=U6,Q6=e9;else{L3=o6,t9=e9;break}}else L3=0,t9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(L3|0)<(G1|0),x1)K6=L3;else return m=1,C=q6,m|0;for(;;)if(q2=g+(K6<<2)|0,e[q2>>2]=t9,A5=K6+1|0,H2=e[P1>>2]|0,N1=(H2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{m=1;break}return C=q6,m|0}function IC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,d1=+s[Z0>>2],i2=0,e2=0,f2=0,S2=0,U2=0,V2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,b1=e[B1>>2]|0,n2=(t+(e2*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+b1|0,J=+(T|0),o0=J*d1,q=S+1|0,h0=+(q|0),t0=o0/h0,j=t0,u0=j+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,Z=+(l0|0),I0=(t+(e2*56|0)|0)+8|0,g0=e[I0>>2]|0,f0=+(g0|0),n0=f0*u0,d0=Z+S2,p0=d0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+V2,K0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),U0=(t+(e2*56|0)|0)+16|0,O0=e[U0>>2]|0,k0=+(O0|0),V0=k0*u0,F0=T0+f2,L0=F0+V0,G0=(t+(e2*56|0)|0)+48|0,z0=e[G0>>2]|0,J0=+(z0|0),q0=(t+(e2*56|0)|0)+24|0,P0=e[q0>>2]|0,H0=+(P0|0),o1=H0*u0,Y0=J0+U2,i1=Y0+o1,x0=+(b1|0),n1=+(S|0),h1=u0*n1,g1=x0+i2,m1=g1+h1,u1=e2+1|0,A2=(u1|0)==(o|0),A2){$2=m1,o2=L0,D2=p0,L2=i1,P2=K0;break}else i2=m1,e2=u1,f2=L0,S2=p0,U2=i1,V2=K0;else $2=0,o2=0,D2=0,L2=0,P2=0;return A1=e[a>>2]|0,c1=(A1|0)>-1,c1?(s1=+(Q|0),$1=D2+s1,j0=+(A1|0),E1=j0+P2,I1=o5(Q,Q)|0,Q1=+(I1|0),p1=o2+Q1,w1=o5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=$2+1,l2=L1,t2=p1,Q2=$1,m2=k1,G2=E1):(l2=$2,t2=o2,Q2=D2,m2=L2,G2=P2),M1=e[$>>2]|0,S1=(M1|0)>-1,S1?(D1=+(Q0|0),R1=Q2+D1,F1=+(M1|0),U1=F1+G2,P1=o5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=o5(M1,Q0)|0,z1=+(x1|0),q1=z1+m2,H1=l2+1,r2=H1,k2=G1,N2=R1,W2=q1,q2=U1):(r2=l2,k2=t2,N2=Q2,W2=m2,q2=G2),Y1=k2*r2,V1=N2*N2,X1=Y1-V1,j1=X1>0,j1?(O1=q2*k2,c2=N2*W2,W1=O1-c2,d2=W1/X1,s2=W2*r2,E2=N2*q2,a2=s2-E2,K1=a2/X1,h2=+(Q|0),b=K1*h2,v=b+d2,w=+V7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+d2,L=+V7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,N=(F|0)>1023,N?(e[a>>2]=1023,m=e[$>>2]|0,G=m,r0=1023):(G=R,r0=F),V=(G|0)>1023,V?(e[$>>2]=1023,I=e[a>>2]|0,X=I,s0=1023):(X=r0,s0=G),K=(X|0)<0,K?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,W=(a0|0)<0,W?(e[$>>2]=0,d=0,d|0):(d=0,d|0)):(e[a>>2]=0,e[$>>2]=0,d=1,d|0)}function jS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,W=e[t>>2]|0,O2(o,W,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,z0=0,Y0=-1;;)if(B=N0+(z0<<2)|0,S=e[B>>2]|0,O2(o,S,4),b=e[B>>2]|0,v=(Y0|0)<(b|0),a=v?b:Y0,w=z0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)z0=w,Y0=a;else{$=a;break}if(O0=($|0)>-1,O0)for(k0=t+128|0,V0=t+192|0,E=t+256|0,Q=t+320|0,J0=0;;){if(x=k0+(J0<<2)|0,L=e[x>>2]|0,R=L+-1|0,O2(o,R,3),F=V0+(J0<<2)|0,T=e[F>>2]|0,O2(o,T,2),N=e[F>>2]|0,G=(N|0)==0,G?(Z0=0,i1=8):(V=E+(J0<<2)|0,X=e[V>>2]|0,O2(o,X,8),g=e[F>>2]|0,K=(g|0)==31,K||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(J0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,O2(o,s0,8),J=Z0+1|0,o0=e[F>>2]|0,q=1<>2]|0,c0=u0+-1|0,O2(o,c0,2),l0=M+-1|0,Z=O8(l0)|0,O2(o,Z,4),I0=O8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,d0=t+128|0,U0=g0,F0=0,q0=0,P0=0;;){if(p0=n0+(q0<<2)|0,C0=e[p0>>2]|0,S0=d0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(P0|0)<(E0|0),y0){for(o1=P0;w0=o1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,O2(o,_0,I0),K0=o1+1|0,L0=(K0|0)==(E0|0),!L0;)o1=K0;d=e[t>>2]|0,T0=d,H0=E0}else T0=U0,H0=P0;if(M0=q0+1|0,v0=(M0|0)<(T0|0),v0)U0=T0,F0=E0,q0=M0,P0=H0;else break}}function XS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,K=le(1,1120)|0,u0=r4(o,5)|0,e[K>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=K+4|0,Z1=0,n2=-1;;){if(L=r4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(T=(n2|0)<(L|0),g=T?L:n2,N=Z1+1|0,G=e[K>>2]|0,V=(N|0)<(G|0),V)Z1=N,n2=g;else{d=g;break}}if(J0=(d|0)>-1,J0)for(g1=K+128|0,Q1=K+192|0,F1=K+256|0,x=y+24|0,M=K+320|0,G1=0;;){if(X=r4(o,3)|0,a0=X+1|0,W=g1+(G1<<2)|0,e[W>>2]=a0,r0=r4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,J=(r0|0)<0,J||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,t0=I):(q=r4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=q,t0=q),j=(t0|0)<0,j)||(c0=e[x>>2]|0,$0=(t0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,Z=(l0|0)==31,!Z)for(H1=0;;){if(d0=r4(o,8)|0,p0=d0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(d0|0)<0,Q0||(b0=e[x>>2]|0,E0=(d0|0)>(b0|0),f0=H1+1|0,E0))break e;if(I0=e[s0>>2]|0,g0=1<>2]=_0,M0=r4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[K>>2]|0,U0=(N0|0)>0,U0)for(O0=K+4|0,k0=K+128|0,V0=K+836|0,F0=1<>2]|0,z0=k0+(G0<<2)|0,q0=e[z0>>2]|0,Z0=q0+P1|0,P0=(Z0|0)>63,P0)break e;if(H0=(Y1|0)<(Z0|0),H0){for(X1=Y1;;){if(o1=r4(o,M0)|0,Y0=X1+2|0,i1=V0+(Y0<<2)|0,e[i1>>2]=o1,x0=(o1|0)>-1,n1=(o1|0)<(F0|0),j1=x0&n1,!j1)break e;if(h1=X1+1|0,m1=(h1|0)<(Z0|0),m1)X1=h1;else{$=h1;break}}B=e[K>>2]|0,A1=B,V1=$}else A1=U1,V1=Y1;if(d1=x1+1|0,u1=(d1|0)<(A1|0),u1)U1=A1,P1=Z0,x1=d1,Y1=V1;else{E=V0,Q=F0,b1=Z0;break}}else v=K+836|0,w=1<>2]=0,c1=K+840|0,e[c1>>2]=Q,s1=b1+2|0,$1=(b1|0)>-2,$1)for(z1=0;j0=E+(z1<<2)|0,E1=O1+(z1<<2)|0,e[E1>>2]=j0,I1=z1+1|0,p1=(I1|0)<(s1|0),p1;)z1=I1;Nu(O1,s1,4,8),B1=(s1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,S1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,D1=(S1|0)==(M1|0),w1=q1+1|0,!D1;)if(v1=(w1|0)<(s1|0),v1)S1=M1,q1=w1;else break t;if(R1=(K|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=K,C=W1,a|0}while(!1);return p2(K),a=0,C=W1,a|0}function eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0;if(R1=C,C=C+272|0,S1=R1,$=le(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,X=o+840|0,j=e[X>>2]|0,p0=$+1288|0,e[p0>>2]=j,M0=e[o>>2]|0,z0=(M0|0)>0,z0){for(Y0=o+4|0,d=o+128|0,d1=0,k1=0;;)if(m=Y0+(d1<<2)|0,I=e[m>>2]|0,E=d+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=d1+1|0,b=(S|0)<(M0|0),b)d1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,D1=7):(Nu(S1,v,4,8),w1=a)}else o1=$+1284|0,e[o1>>2]=2,F=2,v1=0,D1=7;if((D1|0)==7){for(u1=0;x=D+(u1<<2)|0,M=S1+(u1<<2)|0,e[M>>2]=x,L=u1+1|0,R=(L|0)<(F|0),R;)u1=L;for(Nu(S1,F,4,8),T=D,N=$+260|0,A1=0;K=S1+(A1<<2)|0,a0=e[K>>2]|0,W=a0,r0=W-T|0,s0=r0>>2,J=N+(A1<<2)|0,e[J>>2]=s0,o0=A1+1|0,q=(o0|0)<(F|0),q;)A1=o0;for(G=$+260|0,V=$+520|0,c1=0;t0=G+(c1<<2)|0,u0=e[t0>>2]|0,c0=V+(u0<<2)|0,e[c0>>2]=c1,$0=c1+1|0,l0=($0|0)<(F|0),l0;)c1=$0;for(h0=$+260|0,s1=0;;)if(Z=h0+(s1<<2)|0,I0=e[Z>>2]|0,g0=D+(I0<<2)|0,f0=e[g0>>2]|0,n0=$+(s1<<2)|0,e[n0>>2]=f0,d0=s1+1|0,C0=(d0|0)<(F|0),C0)s1=d0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,K0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,U0=e[p0>>2]|0,x0=1,g1=U0,j0=0,E1=0,p1=0;;)if(O0=D+(j0<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=V0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(g1|0),G0=(k0|0)>(N0|0),M1=L0&G0,n1=M1?j0:x0,m1=M1?k0:g1,J0=j0+1|0,q0=(J0|0)<(v0|0),q0)x0=n1,g1=m1,j0=J0,E1=I1,p1=B1;else{h1=n1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,P0=K0+($1<<2)|0,e[P0>>2]=h1,H0=$1+1|0,i1=(H0|0)==(w1|0),i1)break;$1=H0}return C=R1,$|0}function tb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function ib(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function rb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+1296|0,m=e[d>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,U0=b0+4|0,P0=e[U0>>2]|0,u1=P0+28|0,w1=e[u1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=r4(I,1)|0,W=(M|0)==1,!W)return a=0,a|0;q=o+1284|0,h0=e[q>>2]|0,t0=h0<<2,j=z8(t,t0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,Z=O8($0)|0,I0=r4(I,Z)|0,e[j>>2]=I0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=O8(f0)|0,d0=r4(I,n0)|0,p0=j+4|0,e[p0>>2]=d0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,o2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,K0=(m+128|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(V0*56|0)|0,L0=tE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(z0=(M0|0)>0,z0)for(J0=N0+-1|0,l2=i2,f2=0;;){if(q0=l2&J0,Z0=((m+320|0)+(_0<<5)|0)+(q0<<2)|0,H0=e[Z0>>2]|0,o1=l2>>T0,Y0=(H0|0)>-1,Y0){if(i1=j1+(H0*56|0)|0,x0=tE(i1,I)|0,n1=f2+o2|0,h1=j+(n1<<2)|0,e[h1>>2]=x0,g1=(x0|0)==-1,g1){a=0,D2=25;break t}}else m1=f2+o2|0,d1=j+(m1<<2)|0,e[d1>>2]=0;if(A1=f2+1|0,c1=(A1|0)<(M0|0),c1)l2=o1,f2=A1;else break}if(s1=M0+o2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,o2=s1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[q>>2]|0,E0=(Q0|0)>2,!E0)return a=j,a|0;for(y0=o+1032|0,w0=o+780|0,A2=2;;){if(I1=A2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,S1=e[M1>>2]|0,D1=j+(p1<<2)|0,R1=e[D1>>2]|0,F1=j+(L1<<2)|0,U1=e[F1>>2]|0,b1=(m+836|0)+(A2<<2)|0,Z1=e[b1>>2]|0,G1=R1&32767,x1=U1&32767,z1=x1-G1|0,q1=S1-v1|0,e2=(z1|0)>-1,t2=0-z1|0,H1=e2?z1:t2,Y1=Z1-v1|0,V1=o5(H1,Y1)|0,X1=(V1|0)/(q1|0)&-1,n2=(z1|0)<0,O1=0-X1|0,g=n2?O1:X1,$=g+G1|0,c2=e[u0>>2]|0,W1=c2-$|0,d2=j+(A2<<2)|0,s2=e[d2>>2]|0,E2=(s2|0)==0,E2)r0=$|32768,e[d2>>2]=r0;else{a2=(W1|0)<($|0),K1=a2?W1:$,h2=K1<<1,$2=(s2|0)<(h2|0);do if($2)if(b=s2&1,v=(b|0)==0,v){x=s2>>1,k2=x;break}else{w=s2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=s2-$|0,k2=Q;break}else{B=s2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[d2>>2]=R,F=e[Q1>>2]|0,T=j+(F<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,V=e[k1>>2]|0,X=j+(V<<2)|0,K=e[X>>2]|0,a0=K&32767,e[X>>2]=a0}if(s0=A2+1|0,J=e[q>>2]|0,o0=(s0|0)<(J|0),o0)A2=s0;else{a=j;break}}return a|0}function nb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0;if(b1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,W=e[M>>2]|0,$0=W+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,g1=t+28|0,m1=e[g1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return h1=B<<2,g4($|0,0,h1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=o5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,T=e[F>>2]|0,N=(T|0)>1,N)for(G=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=G+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,J=e[s0>>2]|0,o0=J&32767,q=(o0|0)==(J|0),q)if(h0=(I+836|0)+(r0<<2)|0,t0=e[h0>>2]|0,j=o5(w,J)|0,u0=(j|0)<0,c0=(j|0)>255,l0=c0?255:j,Z=u0?0:l0,I0=Z-k1|0,g0=t0-B1|0,E1=(I0|0)>-1,M1=0-I0|0,f0=E1?I0:M1,n0=(I0|0)/(g0|0)&-1,d0=I0>>31,p0=d0|1,C0=o5(n0,g0)|0,I1=(C0|0)>-1,S1=0-C0|0,S0=I1?C0:S1,b0=f0-S0|0,E0=(B|0)>(t0|0),D1=E0?t0:B,y0=(D1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,K0=+s[_0>>2],M0=K0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(D1|0),T0)for(z0=v0,d1=0,R1=k1;;)if(U0=d1+b0|0,O0=(U0|0)<(g0|0),k0=O0?0:p0,V0=O0?0:g0,u1=U0-V0|0,d=R1+n0|0,F1=d+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(z0<<2)|0,J0=+s[G0>>2],q0=J0*L0,s[G0>>2]=q0,P0=z0+1|0,c1=(P0|0)==(D1|0),c1){j0=t0,w1=t0,L1=Z;break}else z0=P0,d1=u1,R1=F1;else j0=t0,w1=t0,L1=Z;else j0=$1,w1=B1,L1=k1;if(H0=Q1+1|0,o1=(H0|0)<(T|0),o1)$1=j0,Q1=H0,B1=w1,k1=L1;else{s1=j0,v1=L1;break}}else s1=0,v1=R;if(V=(s1|0)<(B|0),!V)return g=1,g|0;for(X=1768+(v1<<2)|0,K=+s[X>>2],p1=s1;;)if(Y0=$+(p1<<2)|0,i1=+s[Y0>>2],x0=i1*K,s[Y0>>2]=x0,n1=p1+1|0,A1=(n1|0)==(B|0),A1){g=1;break}else p1=n1;return g|0}function ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$-d|0,m|0}function sb(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function ab(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0;u0=C,g=tl(o|0)|0,d=tl(a|0)|0,y=g+2|0,K=y+d|0,$=K,W=C,C=C+((1*$|0)+15&-16)|0,BC(W|0,o|0)|0,t0=tl(W|0)|0,h0=W+t0|0,f[h0>>0]=61,f[h0+1>>0]=0,xQ(W|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,J=e[s0>>2]|0,o0=J<<2,q=o0+8|0,m=J7(r0,q)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=J7(E,S)|0,e[I>>2]=b,v=tl(W|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=M9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,T=F+(w<<2)|0,N=e[T>>2]|0,BC(N|0,W|0)|0,G=e[s0>>2]|0,V=G+1|0,e[s0>>2]=V,X=e[t>>2]|0,a0=X+(V<<2)|0,e[a0>>2]=0,C=u0}function Ab(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0;if(K=C,g=(t|0)==0,!g){if(d=e[t>>2]|0,y=(d|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,T=d,V=0;F=T+(V<<2)|0,N=e[F>>2]|0,G=(N|0)==0,G?E=x:(p2(N),a=e[M>>2]|0,E=a),m=V+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,T=o,V=m;$=e[t>>2]|0,Q=$}else Q=d;p2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||p2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||p2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function $b(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=le(1,3664)|0,a=t+28|0,e[a>>2]=o}function mC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,d=t+28|0,m=e[d>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(d1=c0,$1=0;s1=(m+32|0)+($1<<2)|0,I=e[s1>>2]|0,E=(I|0)==0,E?S=d1:(p2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)d1=S,$1=Q;if(T0=m+12|0,q0=e[T0>>2]|0,m1=(q0|0)>0,m1)for(u1=q0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?K=u1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,T=e[F>>2]|0,N=T+8|0,G=e[N>>2]|0,ss[G&7](y),a=e[T0>>2]|0,K=a),V=j0+1|0,X=(V|0)<(K|0),X;)u1=K,j0=V;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;J=(m+1056|0)+(E1<<2)|0,o0=e[J>>2]|0,q=(o0|0)==0,q?g0=A1:(h0=(m+800|0)+(E1<<2)|0,t0=e[h0>>2]|0,j=25640+(t0<<2)|0,u0=e[j>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,ss[l0&7](o0),$=e[b>>2]|0,g0=$),Z=E1+1|0,I0=(Z|0)<(g0|0),I0;)A1=g0,E1=Z;if(W=m+20|0,r0=e[W>>2]|0,s0=(r0|0)>0,s0)for(c1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=c1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,K0=e[_0>>2]|0,ss[K0&7](Q0),g=e[W>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)c1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,d0=(n0|0)>0,p0=m+2848|0,d0)for(Q1=0;U0=(m+1824|0)+(Q1<<2)|0,O0=e[U0>>2]|0,k0=(O0|0)==0,k0||CC(O0),V0=e[p0>>2]|0,F0=(V0|0)==0,F0||(L0=V0+(Q1*56|0)|0,Pb(L0)),G0=Q1+1|0,z0=e[f0>>2]|0,J0=(G0|0)<(z0|0),J0;)Q1=G0;if(Z0=e[p0>>2]|0,P0=(Z0|0)==0,P0||p2(Z0),H0=m+28|0,o1=e[H0>>2]|0,Y0=(o1|0)>0,Y0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,Eb(x0),n1=p1+1|0,h1=e[H0>>2]|0,g1=(n1|0)<(h1|0),g1;)p1=n1;p2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function lb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,Q=e[E>>2]|0,c1=t+104|0,k1=e[c1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,d=-129,C=X2,d|0;if(c2=Q+4|0,r2=e[c2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(uC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,J=(F|0)<64,J)D5=-130,l5=27;else if(I0=B5+4|0,y0=e[I0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{O2(T1,1,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),O2(T1,0,32),o1=e[c2>>2]|0,O2(T1,o1,8),d1=Q+8|0,u1=e[d1>>2]|0,O2(T1,u1,32),A1=Q+12|0,s1=e[A1>>2]|0,O2(T1,s1,32),$1=Q+16|0,j0=e[$1>>2]|0,O2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,O2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=O8(p1)|0,O2(T1,B1,4),w1=e[I0>>2]|0,v1=w1+-1|0,L1=O8(v1)|0,O2(T1,L1,4),O2(T1,1,1),M1=k1+64|0,S1=e[M1>>2]|0,D1=(S1|0)==0,D1||p2(S1),R1=b8(T1)|0,F1=M9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,b1=e[U1>>2]|0,P1=b8(T1)|0,ce(F1|0,b1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=b8(T1)|0,z1=a+4|0,e[z1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,Ii(T1),cb(T1,o),Y1=k1+68|0,V1=e[Y1>>2]|0,X1=(V1|0)==0,X1||p2(V1),n2=b8(T1)|0,j1=M9(n2)|0,e[Y1>>2]=j1,O1=e[U1>>2]|0,W1=b8(T1)|0,ce(j1|0,O1|0,W1|0)|0,d2=e[Y1>>2]|0,e[$>>2]=d2,s2=b8(T1)|0,E2=$+4|0,e[E2>>2]=s2,a2=$+8|0,K1=$+24|0,e[a2>>2]=0,e[a2+4>>2]=0,e[a2+8>>2]=0,e[a2+12>>2]=0,h2=K1,$2=h2,e[$2>>2]=1,i2=h2+4|0,l2=i2,e[l2>>2]=0,Ii(T1),A2=e[N1>>2]|0,e2=(A2|0)==0;e:do if(!e2){if(O2(T1,5,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),o2=A2+24|0,f2=e[o2>>2]|0,t2=f2+-1|0,O2(T1,t2,8),k2=e[o2>>2]|0,D2=(k2|0)>0,D2)for(Y2=0;;){if(U2=(A2+1824|0)+(Y2<<2)|0,m2=e[U2>>2]|0,W2=PS(m2,T1)|0,P2=(W2|0)==0,Q2=Y2+1|0,!P2)break e;if(S2=e[o2>>2]|0,N2=(Q2|0)<(S2|0),N2)Y2=Q2;else break}if(O2(T1,0,6),O2(T1,0,16),V2=A2+16|0,G2=e[V2>>2]|0,q2=G2+-1|0,O2(T1,q2,6),Z2=e[V2>>2]|0,A5=(Z2|0)>0,A5)for(p5=0;;){if(H2=(A2+800|0)+(p5<<2)|0,t5=e[H2>>2]|0,O2(T1,t5,16),F5=e[H2>>2]|0,i5=25640+(F5<<2)|0,_5=e[i5>>2]|0,j2=e[_5>>2]|0,I5=(j2|0)==0,I5)break e;if(b5=(A2+1056|0)+(p5<<2)|0,Y5=e[b5>>2]|0,vC[j2&3](Y5,T1),g5=p5+1|0,b2=e[V2>>2]|0,s5=(g5|0)<(b2|0),s5)p5=g5;else break}if(R2=A2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,O2(T1,y2,6),Q5=e[R2>>2]|0,T5=(Q5|0)>0,T5)for($5=0;m5=(A2+1312|0)+($5<<2)|0,x5=e[m5>>2]|0,O2(T1,x5,16),q5=e[m5>>2]|0,L5=25648+(q5<<2)|0,S=e[L5>>2]|0,b=e[S>>2]|0,v=(A2+1568|0)+($5<<2)|0,w=e[v>>2]|0,vC[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=A2+12|0,L=e[M>>2]|0,R=L+-1|0,O2(T1,R,6),T=e[M>>2]|0,N=(T|0)>0,N)for(u5=0;G=(A2+288|0)+(u5<<2)|0,V=e[G>>2]|0,O2(T1,V,16),X=e[G>>2]|0,K=25664+(X<<2)|0,a0=e[K>>2]|0,W=e[a0>>2]|0,r0=(A2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,NQ[W&1](Q,s0,T1),o0=u5+1|0,q=e[M>>2]|0,h0=(o0|0)<(q|0),h0;)u5=o0;if(t0=A2+8|0,j=e[t0>>2]|0,u0=j+-1|0,O2(T1,u0,6),c0=e[t0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=(A2+32|0)+(y5<<2)|0,Z=e[l0>>2]|0,g0=e[Z>>2]|0,O2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,d0=e[n0>>2]|0,O2(T1,d0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,O2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,O2(T1,E0,8),w0=y5+1|0,B0=e[t0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return O2(T1,1,1),K0=k1+72|0,M0=e[K0>>2]|0,v0=(M0|0)==0,v0||p2(M0),T0=b8(T1)|0,N0=M9(T0)|0,e[K0>>2]=N0,U0=e[U1>>2]|0,O0=b8(T1)|0,ce(N0|0,U0|0,O0|0)|0,V0=e[K0>>2]|0,e[g>>2]=V0,F0=b8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,z0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,J0=z0,q0=J0,e[q0>>2]=2,Z0=J0+4|0,P0=Z0,e[P0>>2]=0,hC(T1),d=0,C=X2,d|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,h5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,h5=D5),hC(T1),H0=e[I>>2]|0,Y0=(H0|0)==0,Y0||p2(H0),i1=k1+68|0,x0=e[i1>>2]|0,n1=(x0|0)==0,n1||p2(x0),h1=k1+72|0,g1=e[h1>>2]|0,m1=(g1|0)==0,m1||p2(g1),e[I>>2]=0,e[i1>>2]=0,e[h1>>2]=0,d=h5,C=X2,d|0}function cb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0;for($0=C,O2(t,3,8),O2(t,118,8),O2(t,111,8),O2(t,114,8),O2(t,98,8),O2(t,105,8),O2(t,115,8),O2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,W=M<<24>>24,O2(t,W,8),J=(m|0)==0,!J;)a=I,g=m;if(o0=o+8|0,q=e[o0>>2]|0,O2(t,q,32),h0=e[o0>>2]|0,t0=(h0|0)>0,!t0){O2(t,1,1);return}for(j=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)O2(t,0,32);else if(b=e[j>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,O2(t,w,32),D=e[j>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,T=e[F>>2]|0,$=T,d=x;N=d+-1|0,G=$+1|0,V=f[$>>0]|0,X=V<<24>>24,O2(t,X,8),K=(N|0)==0,!K;)$=G,d=N;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}O2(t,1,1)}function cQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0;if(V1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,Z=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)N=0;else{for(O0=$;;){if(H0=(O0|0)<(a|0),H0)for(Q1=0,R1=O0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-O0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,D1=(x|0)==(a|0),D1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(O0<<3)|0,l1[M>>3]=I1,L=O0+-1|0,F=(O0|0)==0,F)break;O0=L}I=+l1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,V=G+1e-10,X=($|0)>0,X)B1=T,F1=0;else return k1=T,j0=k1,C=V1,+j0;for(;;){if(b1=F1+1|0,K=B1>3],q=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=q;;)if(u0=Z+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,I0=+l1[l0>>3],g0=I0*c0,f0=q1-g0,n0=P1+1|0,S1=(n0|0)==(F1|0),S1){m=f0;break}else P1=n0,q1=f0;if(d0=m/B1,p0=Z+(F1<<3)|0,l1[p0>>3]=d0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=Z+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=Z+(B0<<3)|0,K0=+l1[_0>>3],M0=K0*d0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*d0,N0=+l1[_0>>3],U0=N0+T0,l1[_0>>3]=U0,k0=G1+1|0,V0=(k0|0)<(C0|0),V0;)G1=k0;H1=b0?C0:1,q0=d0,Z1=H1}else q0=d0,Z1=0}else t0=q/B1,j=Z+(F1<<3)|0,l1[j>>3]=t0,q0=t0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=Z+(Z1<<3)|0,z0=+l1[G0>>3],J0=z0*q0,Z0=J0+z0,l1[G0>>3]=Z0),P0=q0*q0,o1=1-P0,Y0=o1*B1,i1=(b1|0)<($|0),i1)B1=Y0,F1=b1;else{v1=Y0;break}}if((Y1|0)==8&&(a0=Z+(U1<<3)|0,W=$-U1|0,r0=W<<3,g4(a0|0,0,r0|0)|0,v1=w1),X)p1=.99,x1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;x0=Z+(x1<<3)|0,n1=+l1[x0>>3],h1=n1*p1,l1[x0>>3]=h1,g1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=g1,x1=m1;if(X)z1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;;)if(d1=Z+(z1<<3)|0,u1=+l1[d1>>3],c1=u1,s1=o+(z1<<2)|0,s[s1>>2]=c1,$1=z1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else z1=$1;return j0=k1,C=V1,+j0}function gQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0;if(j=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,F=(o|0)==0,T=(a|0)>0,F?T&&(G=a<<2,g4(L|0,0,G|0)|0):T&&(N=a<<2,ce(L|0,o|0,N|0)|0),V=(g|0)>0,!V){C=j;return}if(X=(a|0)>0,X)r0=0,s0=a;else{K=g<<2,g4(L|0,0,K|0)|0,g4($|0,0,K|0)|0,C=j;return}for(;;){for(o0=r0,q=a,h0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=q+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=h0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,q=D,h0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,J=s0+1|0,W=(S|0)==(g|0),W)break;r0=S,s0=J}C=j}function gb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,d=(g|0)>1,d?(O2(a,1,1),y=e[o>>2]|0,K=y+-1|0,O2(a,K,4)):O2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(O2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,O2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=O8(v)|0,O2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=O8(L)|0,O2(a,x,R),F=E0+1|0,T=e[u0>>2]|0,N=(F|0)<(T|0),N;)E0=F}else O2(a,0,1);if(O2(a,0,2),G=e[o>>2]|0,V=(G|0)>1,V){if(X=t+4|0,a0=e[X>>2]|0,W=(a0|0)>0,W){for(r0=o+4|0,y0=0;h0=r0+(y0<<2)|0,t0=e[h0>>2]|0,O2(a,t0,4),j=y0+1|0,c0=e[X>>2]|0,$0=(j|0)<(c0|0),$0;)y0=j;$=e[o>>2]|0,s0=$,B0=13}}else s0=G,B0=13;if(!((B0|0)==13&&(J=(s0|0)>0,!J)))for(o0=o+1028|0,q=o+1092|0,w0=0;O2(a,0,8),l0=o0+(w0<<2)|0,Z=e[l0>>2]|0,O2(a,Z,8),I0=q+(w0<<2)|0,g0=e[I0>>2]|0,O2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,d0=(f0|0)<(n0|0),d0;)w0=f0}function ub(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0;s1=C,g=le(1,3208)|0,d=t+28|0,y=e[d>>2]|0,g4(g|0,0,3208)|0,K=t+4|0,u0=e[K>>2]|0,C0=(u0|0)<1;e:do if(C0)c1=24;else if(v0=r4(o,1)|0,J0=(v0|0)<0,J0)c1=24;else{if(Y0=(v0|0)==0,Y0)e[g>>2]=1;else if(i1=r4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=r4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=r4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[K>>2]|0,T=$,x0=0;;){if(F=T+-1|0,N=O8(F)|0,G=r4(o,N)|0,V=D+(x0<<2)|0,e[V>>2]=G,X=e[K>>2]|0,a0=X+-1|0,W=O8(a0)|0,r0=r4(o,W)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,J=r0|G,o0=(J|0)<0,q=(G|0)==(r0|0),g1=q|o0,g1||(h0=e[K>>2]|0,t0=(G|0)<(h0|0),j=(r0|0)<(h0|0),m1=t0&j,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)T=h0,x0=L;else break}}if(c0=r4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,Z=(l0|0)>1,Z){if(I0=e[K>>2]|0,g0=(I0|0)>0,g0)for(f0=g+4|0,n1=0;;){if(B0=r4(o,4)|0,_0=f0+(n1<<2)|0,e[_0>>2]=B0,K0=e[g>>2]|0,M0=(B0|0)>=(K0|0),T0=(B0|0)<0,d1=T0|M0,y0=n1+1|0,d1)break e;if(E0=e[K>>2]|0,w0=(y0|0)<(E0|0),w0)n1=y0;else{n0=K0,c1=17;break}}}else n0=l0,c1=17;if((c1|0)==17&&(d0=(n0|0)>0,!d0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,h1=0;;){if(r4(o,8)|0,k0=r4(o,8)|0,V0=p0+(h1<<2)|0,e[V0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,u1=G0|L0,u1||(z0=r4(o,8)|0,q0=Q0+(h1<<2)|0,e[q0>>2]=z0,Z0=e[b0>>2]|0,P0=(z0|0)>=(Z0|0),H0=(z0|0)<0,A1=H0|P0,U0=h1+1|0,A1))break e;if(N0=e[g>>2]|0,O0=(U0|0)<(N0|0),O0)h1=U0;else{a=g;break}}return a|0}}}while(!1);return(c1|0)==24&&(o1=(g|0)==0,o1)?(a=0,a|0):(p2(g),a=0,a|0)}function hb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function db(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,hs=0,Kn=0,ds=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,rr=0,Ts=0,$o=0,hn=0,lo=0,dn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,nr=0,br=0,z7=0,Dr=0,Io=0,K7=0,S7=0,b7=0,t7=0,D7=0,_r=0,or=0,sr=0,xr=0,p7=0,Ps=0,di=0,rl=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,V3=e[i2>>2]|0,Ne=V3+28|0,Ze=e[Ne>>2]|0,Cs=M+104|0,I7=e[Cs>>2]|0,Ls=t+104|0,hn=e[Ls>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=V3+4|0,b0=e[l0>>2]|0,U0=b0<<2,$=U0,P0=C,C=C+((1*$|0)+15&-16)|0,u1=z8(t,U0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=z8(t,P1)|0,l2=e[l0>>2]|0,N2=l2<<2,H2=z8(t,N2)|0,b2=hn+4|0,L5=+s[b2>>2],g2=e[l0>>2]|0,F2=g2<<2,g=F2,N5=C,C=C+((1*g|0)+15&-16)|0,T3=hn+8|0,G5=e[T3>>2]|0,Z5=t+28|0,d6=e[Z5>>2]|0,K3=(Ze+544|0)+(d6<<2)|0,A6=e[K3>>2]|0,P6=I7+56|0,C9=e[P6>>2]|0,ye=(d6|0)!=0,ue=ye?2:0,D=ue+G5|0,he=C9+(D*52|0)|0,Je=t+40|0,e[Je>>2]=d6,h4=(g2|0)>0,h4)for(fe=+(r0|0),W3=4/fe,m8=(s[w2>>2]=W3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),be=ct*7177114298428933e-22,j4=be+-764.6162109375,c8=j4,c4=c8+.345,Ai=c4,$i=I7+4|0,zi=t+24|0,d7=t+32|0,V8=Ai+-764.6162109375,nn=r0+-1|0,gs=(nn|0)>1,Xn=Ai+-382.30810546875,Dr=L5,K7=0;;){if(Bs=e[t>>2]|0,ln=Bs+(K7<<2)|0,f7=e[ln>>2]|0,io=z8(t,Lt)|0,Qs=j1+(K7<<2)|0,e[Qs>>2]=io,ys=z8(t,Lt)|0,ro=u1+(K7<<2)|0,e[ro>>2]=ys,no=e[zi>>2]|0,oo=e[Z5>>2]|0,ws=e[d7>>2]|0,Kb(f7,$i,Ze,no,oo,ws),cn=e[Z5>>2]|0,vs=(I7+12|0)+(cn<<2)|0,so=e[vs>>2]|0,ks=e[so>>2]|0,Ss=e[ro>>2]|0,uQ(ks,f7,Ss),bs=e[Z5>>2]|0,ao=(I7+20|0)+(bs*12|0)|0,Hb(ao,f7),Ds=e[f7>>2]|0,_s=Ds&2147483647,xs=+(_s>>>0),Ao=xs*7177114298428933e-22,Ms=V8+Ao,Rs=Ms,gn=Rs+.345,vr=gn,s[f7>>2]=vr,un=N5+(K7<<2)|0,s[un>>2]=vr,gs)for(V=vr,_r=1;;)if(Fs=f7+(_r<<2)|0,rr=+s[Fs>>2],Ts=rr*rr,$o=_r+1|0,lo=f7+($o<<2)|0,dn=+s[lo>>2],Ns=dn*dn,co=Ns+Ts,go=(s[w2>>2]=co,e[w2>>2]|0),Gs=go&2147483647,uo=+(Gs>>>0),ho=uo*35885571492144663e-23,Us=Xn+ho,kr=Us,R=kr+.345,F=R,T=$o>>1,N=f7+(T<<2)|0,s[N>>2]=F,G=F>V,G?(s[un>>2]=F,wr=F):wr=V,X=_r+2|0,K=(X|0)<(nn|0),K)V=wr,_r=X;else{W=wr;break}else W=vr;if(a0=W>0,a0?(s[un>>2]=0,J=0):J=W,s0=J>Dr,Io=s0?J:Dr,o0=K7+1|0,q=e[l0>>2]|0,h0=(o0|0)<(q|0),h0)Dr=Io,K7=o0;else{Q=Lt,S=_t,z7=Io;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,z7=L5;t0=z8(t,Q)|0,j=z8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,Z=I7+48|0,$0)b7=0;else{for(S7=0;;){o6=(A6+4|0)+(S7<<2)|0,C6=e[o6>>2]|0,z3=u1+(S7<<2)|0,M3=e[z3>>2]|0,e6=e[t>>2]|0,F6=e6+(S7<<2)|0,l6=e[F6>>2]|0,o3=l6+(S<<2)|0,e[Je>>2]=d6,K6=z8(t,60)|0,A3=H2+(S7<<2)|0,e[A3>>2]=K6,di=K6,mn=di+60|0;do e[di>>2]=0,di=di+4|0;while((di|0)<(mn|0));if(IQ(he,o3,t0),c6=N5+(S7<<2)|0,B6=+s[c6>>2],mQ(he,l6,j,z7,B6),el(he,t0,j,1,l6,M3,o3),R3=(A6+1028|0)+(C6<<2)|0,Y6=e[R3>>2]|0,D6=(Ze+800|0)+(Y6<<2)|0,U6=e[D6>>2]|0,t9=(U6|0)==1,!t9){a=-1;break}if(Q6=e[Z>>2]|0,e9=Q6+(Y6<<2)|0,G3=e[e9>>2]|0,n9=X$(t,G3,o3,l6)|0,V6=e[A3>>2]|0,s9=V6+28|0,e[s9>>2]=n9,c9=Ru(t)|0,J6=(c9|0)==0,J6||(T6=e[A3>>2]|0,i9=T6+28|0,_6=e[i9>>2]|0,O6=(_6|0)==0,O6||(el(he,t0,j,2,l6,M3,o3),U3=e[R3>>2]|0,q6=e[Z>>2]|0,a9=q6+(U3<<2)|0,h9=e[a9>>2]|0,o9=X$(t,h9,o3,l6)|0,B9=e[A3>>2]|0,Q9=B9+56|0,e[Q9>>2]=o9,el(he,t0,j,0,l6,M3,o3),d9=e[R3>>2]|0,f9=e[Z>>2]|0,H9=f9+(d9<<2)|0,y6=e[H9>>2]|0,H6=X$(t,y6,o3,l6)|0,A9=e[A3>>2]|0,e[A9>>2]=H6,Y9=e[R3>>2]|0,y9=e[Z>>2]|0,ge=y9+(Y9<<2)|0,pe=e[ge>>2]|0,V9=e[A3>>2]|0,ie=e[V9>>2]|0,R9=V9+28|0,w9=e[R9>>2]|0,W6=Gt(t,pe,ie,w9,9362)|0,$9=e[A3>>2]|0,we=$9+4|0,e[we>>2]=W6,Re=e[R3>>2]|0,D9=e[Z>>2]|0,Fe=D9+(Re<<2)|0,Te=e[Fe>>2]|0,Ge=e[A3>>2]|0,qe=e[Ge>>2]|0,n4=Ge+28|0,ve=e[n4>>2]|0,He=Gt(t,Te,qe,ve,18724)|0,J9=e[A3>>2]|0,Ye=J9+8|0,e[Ye>>2]=He,Ue=e[R3>>2]|0,Ee=e[Z>>2]|0,v4=Ee+(Ue<<2)|0,W9=e[v4>>2]|0,v9=e[A3>>2]|0,k4=e[v9>>2]|0,Y4=v9+28|0,nt=e[Y4>>2]|0,Ve=Gt(t,W9,k4,nt,28086)|0,V4=e[A3>>2]|0,o4=V4+12|0,e[o4>>2]=Ve,R4=e[R3>>2]|0,ot=e[Z>>2]|0,re=ot+(R4<<2)|0,u4=e[re>>2]|0,Ce=e[A3>>2]|0,N6=e[Ce>>2]|0,ze=Ce+28|0,P9=e[ze>>2]|0,de=Gt(t,u4,N6,P9,37449)|0,ne=e[A3>>2]|0,d4=ne+16|0,e[d4>>2]=de,f4=e[R3>>2]|0,ke=e[Z>>2]|0,s4=ke+(f4<<2)|0,Pe=e[s4>>2]|0,I4=e[A3>>2]|0,k9=e[I4>>2]|0,f6=I4+28|0,J4=e[f6>>2]|0,S4=Gt(t,Pe,k9,J4,46811)|0,Se=e[A3>>2]|0,Ie=Se+20|0,e[Ie>>2]=S4,z6=e[R3>>2]|0,F4=e[Z>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,me=e[A3>>2]|0,xe=e[me>>2]|0,mt=me+28|0,_9=e[mt>>2]|0,S9=Gt(t,st,xe,_9,56173)|0,Oe=e[A3>>2]|0,a4=Oe+24|0,e[a4>>2]=S9,d8=e[R3>>2]|0,N4=e[Z>>2]|0,f8=N4+(d8<<2)|0,D8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,D8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,_8=e[R3>>2]|0,Ht=e[Z>>2]|0,Yt=Ht+(_8<<2)|0,Vt=e[Yt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,Jt=e[pt>>2]|0,zt=xt+56|0,r8=e[zt>>2]|0,n8=Gt(t,Vt,Jt,r8,18724)|0,Et=e[A3>>2]|0,z4=Et+36|0,e[z4>>2]=n8,G4=e[R3>>2]|0,at=e[Z>>2]|0,x9=at+(G4<<2)|0,p8=e[x9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,x8=e[E8>>2]|0,o8=b4+56|0,L8=e[o8>>2]|0,A4=Gt(t,p8,x8,L8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=A4,At=e[R3>>2]|0,Ke=e[Z>>2]|0,U4=Ke+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,oe=Ct+56|0,lt=e[oe>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,Qt=e[A3>>2]|0,p4=Qt+44|0,e[p4>>2]=Bt,D4=e[R3>>2]|0,K4=e[Z>>2]|0,W4=K4+(D4<<2)|0,se=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,_4=P4+56|0,yt=e[_4>>2]|0,a8=Gt(t,se,gt,yt,46811)|0,We=e[A3>>2]|0,E3=We+48|0,e[E3>>2]=a8,Z4=e[R3>>2]|0,wt=e[Z>>2]|0,$4=wt+(Z4<<2)|0,Z9=e[$4>>2]|0,l4=e[A3>>2]|0,F9=l4+28|0,Wt=e[F9>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,Z9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=S7+1|0,ut=e[l0>>2]|0,ht=(jt|0)<(ut|0),ht)S7=jt;else{B=Z,Tt=ut;break e}}return C=In,a|0}for(;;){G6=(A6+4|0)+(b7<<2)|0,C0=e[G6>>2]|0,X6=u1+(b7<<2)|0,d0=e[X6>>2]|0,v6=e[t>>2]|0,L3=v6+(b7<<2)|0,n0=e[L3>>2]|0,I0=n0+(S<<2)|0,e[Je>>2]=d6,n6=z8(t,60)|0,v0=H2+(b7<<2)|0,e[v0>>2]=n6,di=n6,mn=di+60|0;do e[di>>2]=0,di=di+4|0;while((di|0)<(mn|0));for(or=0;i6=d0+(or<<2)|0,x3=e[i6>>2]|0,h3=x3&2147483647,J3=+(h3>>>0),h6=J3*7177114298428933e-22,m3=h6+-764.6162109375,L6=m3,M6=L6+.345,R6=M6,y=or+S|0,S6=n0+(y<<2)|0,s[S6>>2]=R6,r6=or+1|0,b6=(r6|0)<(S|0),b6;)or=r6;if(IQ(he,I0,t0),g0=N5+(b7<<2)|0,f0=+s[g0>>2],mQ(he,n0,j,z7,f0),el(he,t0,j,1,n0,d0,I0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(Ze+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[Z>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,K0=X$(t,_0,I0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=K0,N0=Ru(t)|0,O0=(N0|0)==0,O0||(k0=e[v0>>2]|0,V0=k0+28|0,F0=e[V0>>2]|0,L0=(F0|0)==0,L0||(el(he,t0,j,2,n0,d0,I0),G0=e[p0>>2]|0,z0=e[Z>>2]|0,J0=z0+(G0<<2)|0,q0=e[J0>>2]|0,Z0=X$(t,q0,I0,n0)|0,H0=e[v0>>2]|0,o1=H0+56|0,e[o1>>2]=Z0,el(he,t0,j,0,n0,d0,I0),Y0=e[p0>>2]|0,i1=e[Z>>2]|0,x0=i1+(Y0<<2)|0,n1=e[x0>>2]|0,h1=X$(t,n1,I0,n0)|0,g1=e[v0>>2]|0,e[g1>>2]=h1,m1=e[p0>>2]|0,d1=e[Z>>2]|0,A1=d1+(m1<<2)|0,c1=e[A1>>2]|0,s1=e[v0>>2]|0,$1=e[s1>>2]|0,j0=s1+28|0,E1=e[j0>>2]|0,I1=Gt(t,c1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[Z>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,S1=e[M1>>2]|0,D1=M1+28|0,R1=e[D1>>2]|0,F1=Gt(t,L1,S1,R1,18724)|0,U1=e[v0>>2]|0,b1=U1+8|0,e[b1>>2]=F1,Z1=e[p0>>2]|0,G1=e[Z>>2]|0,x1=G1+(Z1<<2)|0,z1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,Y1=q1+28|0,V1=e[Y1>>2]|0,X1=Gt(t,z1,H1,V1,28086)|0,n2=e[v0>>2]|0,O1=n2+12|0,e[O1>>2]=X1,c2=e[p0>>2]|0,W1=e[Z>>2]|0,d2=W1+(c2<<2)|0,s2=e[d2>>2]|0,E2=e[v0>>2]|0,a2=e[E2>>2]|0,K1=E2+28|0,h2=e[K1>>2]|0,$2=Gt(t,s2,a2,h2,37449)|0,r2=e[v0>>2]|0,A2=r2+16|0,e[A2>>2]=$2,e2=e[p0>>2]|0,o2=e[Z>>2]|0,f2=o2+(e2<<2)|0,t2=e[f2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,U2=e[v0>>2]|0,m2=U2+20|0,e[m2>>2]=L2,W2=e[p0>>2]|0,P2=e[Z>>2]|0,V2=P2+(W2<<2)|0,G2=e[V2>>2]|0,q2=e[v0>>2]|0,Z2=e[q2>>2]|0,A5=q2+28|0,N1=e[A5>>2]|0,t5=Gt(t,G2,Z2,N1,56173)|0,F5=e[v0>>2]|0,i5=F5+24|0,e[i5>>2]=t5,_5=e[p0>>2]|0,j2=e[Z>>2]|0,I5=j2+(_5<<2)|0,b5=e[I5>>2]|0,Y5=e[v0>>2]|0,g5=Y5+28|0,B5=e[g5>>2]|0,s5=Y5+56|0,R2=e[s5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,T5=e[p0>>2]|0,m5=e[Z>>2]|0,x5=m5+(T5<<2)|0,q5=e[x5>>2]|0,Y2=e[v0>>2]|0,p5=Y2+28|0,$5=e[p5>>2]|0,u5=Y2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,h5=D5+36|0,e[h5>>2]=T1,l5=e[p0>>2]|0,X2=e[Z>>2]|0,w5=X2+(l5<<2)|0,r5=e[w5>>2]|0,a5=e[v0>>2]|0,d5=a5+28|0,z2=e[d5>>2]|0,f5=a5+56|0,n5=e[f5>>2]|0,M5=Gt(t,r5,z2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=M5,v5=e[p0>>2]|0,J5=e[Z>>2]|0,i3=J5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,d3=I3+28|0,K5=e[d3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,K5,a3,37449)|0,W5=e[v0>>2]|0,D3=W5+44|0,e[D3>>2]=B3,f3=e[p0>>2]|0,y3=e[Z>>2]|0,X3=y3+(f3<<2)|0,q3=e[X3>>2]|0,X5=e[v0>>2]|0,b3=X5+28|0,t3=e[b3>>2]|0,s6=X5+56|0,H3=e[s6>>2]|0,c3=Gt(t,q3,t3,H3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,z5=e[Z>>2]|0,H5=z5+(Q3<<2)|0,V5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,N3=Gt(t,V5,$6,l3,56173)|0,E6=e[v0>>2]|0,k3=E6+52|0,e[k3>>2]=N3)),_3=b7+1|0,S3=e[l0>>2]|0,a6=(_3|0)<(S3|0),a6)b7=_3;else{B=Z,Tt=S3;break e}}return C=In,a|0}else w=I7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=z7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,m=Ft,b9=C,C=C+((1*m|0)+15&-16)|0,g8=Ru(t)|0,et=(g8|0)!=0,q8=et?0:7,K8=I7+44|0,M8=t+24|0,u8=t+32|0,R8=Ze+2868|0,H8=I7+52|0,p7=q8;;){if(W8=(hn+12|0)+(p7<<2)|0,dt=e[W8>>2]|0,O2(dt,0,1),Nt=e[K8>>2]|0,O2(dt,d6,Nt),F8=e[Z5>>2]|0,Xt=(F8|0)==0,Xt||(O4=e[M8>>2]|0,O2(dt,O4,1),C4=e[u8>>2]|0,O2(dt,C4,1)),ae=e[l0>>2]|0,T8=(ae|0)>0,T8)for(t7=0;;)if(Oi=(A6+4|0)+(t7<<2)|0,qi=e[Oi>>2]|0,Hi=j1+(t7<<2)|0,pi=e[Hi>>2]|0,Z8=(A6+1028|0)+(qi<<2)|0,Ei=e[Z8>>2]|0,j8=e[B>>2]|0,Ci=j8+(Ei<<2)|0,X8=e[Ci>>2]|0,Bi=H2+(t7<<2)|0,c7=e[Bi>>2]|0,Yi=c7+(p7<<2)|0,Qi=e[Yi>>2]|0,yi=ZS(dt,t,X8,Qi,pi)|0,g7=P0+(t7<<2)|0,e[g7>>2]=yi,wi=t7+1|0,li=e[l0>>2]|0,u7=(wi|0)<(li|0),u7)t7=wi;else{I=li;break}else I=ae;if(Vi=e[Z5>>2]|0,Ji=((Ze+3240|0)+(Vi*60|0)|0)+(p7<<2)|0,Ki=e[Ji>>2]|0,Qb(p7,R8,he,A6,u1,j1,P0,Ki,I),ci=e[A6>>2]|0,vi=(ci|0)>0,vi)for(D7=0;;){if(Wi=(A6+1092|0)+(D7<<2)|0,ei=e[Wi>>2]|0,gi=e[l0>>2]|0,Y8=(gi|0)>0,Y8)for($n=gi,m7=0,sr=0;;)if(ti=(A6+4|0)+(sr<<2)|0,h7=e[ti>>2]|0,Zi=(h7|0)==(D7|0),Zi?(ki=b9+(m7<<2)|0,ji=P0+(sr<<2)|0,Si=e[ji>>2]|0,Ps=(Si|0)!=0,o=Ps&1,e[ki>>2]=o,bi=j1+(sr<<2)|0,Xi=e[bi>>2]|0,Di=m7+1|0,ii=X4+(m7<<2)|0,e[ii>>2]=Xi,E=e[l0>>2]|0,ui=E,fn=Di):(ui=$n,fn=m7),_i=sr+1|0,e7=(_i|0)<(ui|0),e7)$n=ui,m7=fn,sr=_i;else{fo=fn;break}else fo=0;if(xi=(Ze+1312|0)+(ei<<2)|0,x4=e[xi>>2]|0,Li=25648+(x4<<2)|0,N8=e[Li>>2]|0,hi=N8+20|0,l9=e[hi>>2]|0,B8=e[H8>>2]|0,vt=B8+(ei<<2)|0,Q8=e[vt>>2]|0,G8=kC[l9&7](t,Q8,X4,b9,fo)|0,yr=e[l0>>2]|0,as=(yr|0)>0,as)for(nr=0,xr=0;;)if(Vn=(A6+4|0)+(xr<<2)|0,As=e[Vn>>2]|0,Jn=(As|0)==(D7|0),Jn?($s=j1+(xr<<2)|0,ls=e[$s>>2]|0,zn=nr+1|0,cs=X4+(nr<<2)|0,e[cs>>2]=ls,br=zn):br=nr,on=xr+1|0,us=(on|0)<(yr|0),us)nr=br,xr=on;else{Sr=br;break}else Sr=0;if(hs=e[xi>>2]|0,Kn=25648+(hs<<2)|0,ds=e[Kn>>2]|0,Wn=ds+24|0,Zn=e[Wn>>2]|0,fs=e[H8>>2]|0,sn=fs+(ei<<2)|0,jn=e[sn>>2]|0,GQ[Zn&3](dt,t,jn,X4,b9,Sr,G8,D7)|0,an=D7+1|0,eo=e[A6>>2]|0,Is=(an|0)<(eo|0),Is)D7=an;else break}if(ms=p7+1|0,ps=Ru(t)|0,An=(ps|0)!=0,to=An?14:7,Es=(p7|0)<(to|0),Es)p7=ms;else{a=0;break}}return C=In,a|0}function fb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,V1=F1+28|0,K1=e[V1>>2]|0,k2=v+104|0,G2=e[k2>>2]|0,I5=t+28|0,T5=e[I5>>2]|0,w=K1+(T5<<2)|0,V=e[w>>2]|0,t0=t+36|0,e[t0>>2]=V,d0=F1+4|0,K0=e[d0>>2]|0,G0=K0<<2,g=G0,n1=C,C=C+((1*g|0)+15&-16)|0,d=G0,j0=C,C=C+((1*d|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[d0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=G2+48|0,L1=V<<1,M1=L1&2147483646,X2=0;;)if(P1=w1+(X2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,z1=(K1+800|0)+(x1<<2)|0,q1=e[z1>>2]|0,H1=25640+(q1<<2)|0,Y1=e[H1>>2]|0,X1=Y1+20|0,n2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,c2=e[O1>>2]|0,W1=mi[n2&15](t,c2)|0,d2=I1+(X2<<2)|0,e[d2>>2]=W1,s2=E1+(X2<<2)|0,e5=(W1|0)!=0,a=e5&1,e[s2>>2]=a,E2=e[t>>2]|0,a2=E2+(X2<<2)|0,h2=e[a2>>2]|0,g4(h2|0,0,M1|0)|0,$2=X2+1|0,i2=e[d0>>2]|0,l2=($2|0)<(i2|0),l2)X2=$2;else{s1=i2;break}else s1=p1;if(S1=o+1156|0,D1=e[S1>>2]|0,R1=(D1|0)>0,R1)for(U1=o+1160|0,b1=o+2184|0,g2=0;t2=U1+(g2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,N2=(Q2|0)==0,L2=b1+(g2<<2)|0,U2=e[L2>>2]|0,N2?(m2=E1+(U2<<2)|0,W2=e[m2>>2]|0,P2=(W2|0)==0,P2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,V2=E1+(U2<<2)|0,e[V2>>2]=1),q2=g2+1|0,Z2=(q2|0)<(D1|0),Z2;)g2=q2;if(r2=e[o>>2]|0,A2=(r2|0)>0,A2){for(e2=o+1092|0,o2=G2+52|0,f2=o+4|0,A5=s1,w5=0;;){if(H2=(A5|0)>0,H2)for($1=A5,h5=0,f5=0;;)if(N1=f2+(f5<<2)|0,t5=e[N1>>2]|0,F5=(t5|0)==(w5|0),F5?(i5=E1+(f5<<2)|0,_5=e[i5>>2]|0,j2=j0+(h5<<2)|0,M5=(_5|0)!=0,$=M5&1,e[j2>>2]=$,b5=e[t>>2]|0,Y5=b5+(f5<<2)|0,g5=e[Y5>>2]|0,b2=h5+1|0,B5=n1+(h5<<2)|0,e[B5>>2]=g5,B=e[d0>>2]|0,M2=B,l5=b2):(M2=$1,l5=h5),s5=f5+1|0,R2=(s5|0)<(M2|0),R2)$1=M2,h5=l5,f5=s5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,x5=e[m5>>2]|0,q5=25648+(x5<<2)|0,L5=e[q5>>2]|0,Y2=L5+28|0,p5=e[Y2>>2]|0,$5=e[o2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,kC[p5&7](t,y5,n1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[d0>>2]|0,A5=Q,w5=T1}S=e[S1>>2]|0,x=S}else x=D1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,T=(V|0)/2&-1,N=(V|0)>1,a5=x;;){if(r5=a5+-1|0,s0=L+(r5<<2)|0,J=e[s0>>2]|0,o0=R+(J<<2)|0,q=e[o0>>2]|0,h0=F+(r5<<2)|0,j=e[h0>>2]|0,u0=R+(j<<2)|0,c0=e[u0>>2]|0,N)for(n5=0;;){$0=q+(n5<<2)|0,l0=+s[$0>>2],Z=c0+(n5<<2)|0,I0=+s[Z>>2],g0=l0>0,f0=I0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-I0,s[Z>>2]=n0;break}else{s[Z>>2]=l0,p0=I0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=I0+l0,s[Z>>2]=C0;break}else{s[Z>>2]=l0,S0=l0-I0,s[$0>>2]=S0;break}while(!1);if(Q0=n5+1|0,b0=(Q0|0)<(T|0),b0)n5=Q0;else break}if(G=(a5|0)>1,G)a5=r5;else break}if(X=e[d0>>2]|0,K=(X|0)>0,!K)return C=F2,0;for(a0=o+4|0,W=o+1028|0,r0=G2+48|0,d5=0;;)if(y0=e[t>>2]|0,w0=y0+(d5<<2)|0,B0=e[w0>>2]|0,_0=a0+(d5<<2)|0,M0=e[_0>>2]|0,v0=W+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,U0=e[N0>>2]|0,O0=25640+(U0<<2)|0,k0=e[O0>>2]|0,V0=k0+24|0,F0=e[V0>>2]|0,L0=e[r0>>2]|0,z0=L0+(T0<<2)|0,J0=e[z0>>2]|0,q0=I1+(d5<<2)|0,Z0=e[q0>>2]|0,wC[F0&3](t,J0,Z0,B0)|0,P0=d5+1|0,H0=e[d0>>2]|0,o1=(P0|0)<(H0|0),o1)d5=P0;else{E=H0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(z2=0;Y0=e[t>>2]|0,i1=Y0+(z2<<2)|0,x0=e[i1>>2]|0,h1=e[I5>>2]|0,g1=(G2+12|0)+(h1<<2)|0,m1=e[g1>>2]|0,d1=e[m1>>2]|0,Ib(d1,x0,x0),u1=z2+1|0,A1=e[d0>>2]|0,c1=(u1|0)<(A1|0),c1;)z2=u1;return C=F2,0}function pC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0;if(S1=C,a=(o|0)/4&-1,$=a<<2,w=M9($)|0,V=a+o|0,t0=V<<2,d0=M9(t0)|0,K0=o>>1,G0=+(o|0),n1=G0,E1=+tn(+n1),g=E1*1.4426950408889634,d=+V7(g),m=~~d,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,T=+(F|0),N=b*T,G=+iA(+N),X=G,K=w1<<1,a0=d0+(K<<2)|0,s[a0>>2]=X,W=+Hn(+N),r0=W,s0=-r0,J=K|1,o0=d0+(J<<2)|0,s[o0>>2]=s0,q=+(J|0),h0=y*q,j=+iA(+h0),u0=j,c0=K+K0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Hn(+h0),Z=l0,I0=c0+1|0,g0=d0+(I0<<2)|0,s[g0>>2]=Z,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+iA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=d0+(B0<<2)|0,s[_0>>2]=y0,M0=+Hn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,U0=d0+(N0<<2)|0,s[U0>>2]=T0,O0=v1+1|0,k0=(O0|0)<(x|0),k0;)v1=O0;if(V0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=J0,Q1=0,L1=0;;)if(q0=Z0&k1,P0=(q0|0)==0,H0=1<>Y0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=Y0;if(h1=B1^-1,g1=L0&h1,m1=g1+-1|0,d1=k1<<1,u1=w+(d1<<2)|0,e[u1>>2]=m1,A1=d1|1,c1=w+(A1<<2)|0,e[c1>>2]=B1,s1=k1+1|0,$1=(s1|0)<(x|0),$1)k1=s1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function EC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||p2($),d=t+12|0,m=e[d>>2]|0,I=(m|0)==0,I||p2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function Ib(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,W2=o+($<<2)|0,g=I+j1|0,i5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,d5=u5+(j1<<2)|0,u3=d5,H5=W2,_3=i5;E5=_3+-16|0,y3=H5+8|0,E=+s[y3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,U0=+s[H5>>2],P0=u3+8|0,u1=+s[P0>>2],w1=u1*U0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],l2=+s[L>>2],k2=l2*O1,D2=+s[y3>>2],S2=+s[P0>>2],Q2=S2*D2,N2=k2-Q2,L2=_3+-12|0,s[L2>>2]=N2,U2=H5+24|0,m2=+s[U2>>2],P2=u3+4|0,V2=+s[P2>>2],G2=m2*V2,q2=-G2,Z2=H5+16|0,A5=+s[Z2>>2],H2=+s[u3>>2],N1=H2*A5,t5=q2-N1,F5=_3+-8|0,s[F5>>2]=t5,_5=+s[Z2>>2],j2=+s[P2>>2],I5=j2*_5,b5=+s[U2>>2],Y5=+s[u3>>2],g5=Y5*b5,b2=I5-g5,B5=_3+-4|0,s[B5>>2]=b2,s5=H5+-32|0,R2=u3+16|0,y2=s5>>>0>>0,!y2;)u3=R2,H5=s5,_3=E5;for(Q5=a+(I<<2)|0,d=I+-8|0,T5=o+(d<<2)|0,Q3=d5,V5=T5,S3=i5;m5=Q3+-16|0,x5=V5+16|0,q5=+s[x5>>2],L5=Q3+-4|0,Y2=+s[L5>>2],p5=Y2*q5,$5=V5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],h5=D5*y5,l5=h5+p5,s[S3>>2]=l5,X2=+s[x5>>2],g2=+s[T1>>2],w5=g2*X2,r5=+s[$5>>2],a5=+s[L5>>2],z2=a5*r5,f5=w5-z2,n5=S3+4|0,s[n5>>2]=f5,M5=+s[V5>>2],e5=Q3+-12|0,c5=+s[e5>>2],F2=c5*M5,v5=V5+8|0,J5=+s[v5>>2],i3=+s[m5>>2],I3=i3*J5,d3=I3+F2,K5=S3+8|0,s[K5>>2]=d3,r3=+s[V5>>2],a3=+s[m5>>2],B3=a3*r3,N5=+s[v5>>2],W5=+s[e5>>2],D3=W5*N5,f3=B3-D3,X3=S3+12|0,s[X3>>2]=f3,q3=V5+-32|0,X5=S3+16|0,b3=q3>>>0>>0,!b3;)Q3=m5,V5=q3,S3=X5;for($6=t+4|0,n3=e[$6>>2]|0,hQ(n3,u5,Q5,I),l3=e[t>>2]|0,N3=e[M2>>2]|0,E6=t+12|0,k3=e[E6>>2]|0,dQ(l3,N3,k3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,z5=s6,S5=a,a6=i5,Z5=i5;T3=a6+-16|0,H3=+s[S5>>2],c3=z5+4|0,g3=+s[c3>>2],Q=g3*H3,B=S5+4|0,S=+s[B>>2],b=+s[z5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[z5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],T=F*R,N=M+T,G=-N,s[Z5>>2]=G,V=S5+8|0,X=+s[V>>2],K=z5+12|0,a0=+s[K>>2],W=a0*X,s0=S5+12|0,J=+s[s0>>2],o0=z5+8|0,q=+s[o0>>2],h0=q*J,t0=W-h0,j=a6+-8|0,s[j>>2]=t0,u0=+s[V>>2],c0=+s[o0>>2],$0=c0*u0,Z=+s[s0>>2],I0=+s[K>>2],g0=I0*Z,f0=$0+g0,n0=-f0,d0=Z5+4|0,s[d0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=z5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=z5+16|0,_0=+s[B0>>2],K0=_0*w0,M0=E0-K0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],O0=N0*T0,k0=+s[y0>>2],V0=+s[S0>>2],F0=V0*k0,L0=O0+F0,G0=-L0,z0=Z5+8|0,s[z0>>2]=G0,J0=S5+24|0,q0=+s[J0>>2],Z0=z5+28|0,H0=+s[Z0>>2],o1=H0*q0,Y0=S5+28|0,i1=+s[Y0>>2],x0=z5+24|0,n1=+s[x0>>2],h1=n1*i1,g1=o1-h1,s[T3>>2]=g1,m1=+s[J0>>2],d1=+s[x0>>2],A1=d1*m1,c1=+s[Y0>>2],s1=+s[Z0>>2],$1=s1*c1,j0=A1+$1,E1=-j0,I1=Z5+12|0,s[I1>>2]=E1,Q1=Z5+16|0,p1=S5+32|0,B1=z5+32|0,v1=p1>>>0>>0,v1;)z5=B1,S5=p1,a6=T3,Z5=Q1;for(k1=a+(j1<<2)|0,Y3=i5,i6=k1,x3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,S1=Y3+-4|0,D1=+s[S1>>2],R1=i6+-4|0,s[R1>>2]=D1,F1=-D1,s[x3>>2]=F1,U1=Y3+-8|0,b1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=b1,G1=-b1,x1=x3+4|0,s[x1>>2]=G1,z1=Y3+-12|0,q1=+s[z1>>2],H1=i6+-12|0,s[H1>>2]=q1,Y1=-q1,V1=x3+8|0,s[V1>>2]=Y1,X1=+s[M1>>2],s[L1>>2]=X1,n2=-X1,c2=x3+12|0,s[c2>>2]=n2,W1=x3+16|0,d2=W1>>>0>>0,d2)Y3=M1,i6=L1,x3=W1;else{G5=i5,V3=i5;break}for(;s2=V3+-16|0,E2=G5+12|0,a2=e[E2>>2]|0,e[s2>>2]=a2,K1=G5+8|0,h2=e[K1>>2]|0,$2=V3+-12|0,e[$2>>2]=h2,i2=G5+4|0,r2=e[i2>>2]|0,A2=V3+-8|0,e[A2>>2]=r2,e2=e[G5>>2]|0,o2=V3+-4|0,e[o2>>2]=e2,f2=G5+16|0,t2=s2>>>0>Q5>>>0,t2;)G5=f2,V3=s2}function uQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,v=e[t>>2]|0,w=v>>1,o1=v>>2,c1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,c2=G1+(w<<2)|0,g=w+o1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,X=(c1|0)>0,X){for(d=g+1|0,j=o+(d<<2)|0,p0=c1+-1|0,M0=p0>>>1,z0=M0<<1,q0=w+-2|0,Z0=q0-z0|0,P0=g+-4|0,H0=M0<<2,Y0=P0-H0|0,s5=D,x5=0,d5=r2,M5=j;i1=d5+-16|0,x0=s5+-8|0,n1=d5+-8|0,h1=+s[n1>>2],g1=+s[M5>>2],m1=g1+h1,d1=+s[i1>>2],u1=M5+8|0,A1=+s[u1>>2],s1=A1+d1,$1=s5+-4|0,j0=+s[$1>>2],E1=s1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=x5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*s1,L1=+s[$1>>2],M1=L1*m1,S1=v1-M1,D1=x5|1,b=D1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=S1,F1=M5+16|0,U1=x5+2|0,b1=(U1|0)<(c1|0),b1;)s5=x0,x5=U1,d5=i1,M5=F1;P1=z0+2|0,g2=N1+(Z0<<2)|0,w5=o+(Y0<<2)|0,H2=Z0,B5=g2,m5=P1,a5=w5}else H2=w,B5=D,m5=0,a5=r2;if(Z1=o+4|0,x1=w-c1|0,z1=(m5|0)<(x1|0),z1){for(q1=w+-1|0,H1=q1-m5|0,Y1=H1-c1|0,V1=Y1>>>1,X1=V1<<1,n2=m5+X1|0,j1=V1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,L5=m5,z2=a5,c5=Z1;d2=M2+-8|0,s2=z2+-16|0,E2=z2+-8|0,a2=+s[E2>>2],K1=+s[c5>>2],h2=a2-K1,$2=+s[s2>>2],i2=c5+8|0,l2=+s[i2>>2],A2=$2-l2,e2=M2+-4|0,o2=+s[e2>>2],f2=A2*o2,t2=+s[d2>>2],k2=t2*h2,D2=k2+f2,E=L5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[d2>>2],N2=Q2*A2,U2=+s[e2>>2],m2=U2*h2,W2=N2-m2,P2=L5|1,Q=P2+w|0,V2=G1+(Q<<2)|0,s[V2>>2]=W2,G2=c5+16|0,q2=L5+2|0,Z2=(q2|0)<(x1|0),Z2;)M2=d2,L5=q2,z2=s2,c5=G2;A5=n2+2|0,l5=o+(O1<<2)|0,B=H2+W1|0,X2=N1+(B<<2)|0,R2=X2,q5=A5,e5=l5}else R2=B5,q5=m5,e5=Z1;if(t5=(q5|0)<(w|0),t5)for(F5=o+(v<<2)|0,y2=R2,Y2=q5,f5=F5,F2=e5;i5=y2+-8|0,_5=f5+-16|0,j2=f5+-8|0,I5=+s[j2>>2],b5=-I5,Y5=+s[F2>>2],g5=b5-Y5,b2=+s[_5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],T=L*F,N=+s[i5>>2],G=N*g5,V=G+T,m=Y2+w|0,K=G1+(m<<2)|0,s[K>>2]=V,a0=+s[i5>>2],W=a0*L,r0=+s[R>>2],s0=r0*g5,J=W-s0,o0=Y2|1,I=o0+w|0,q=G1+(I<<2)|0,s[q>>2]=J,h0=F2+16|0,t0=Y2+2|0,u0=(t0|0)<(w|0),u0;)y2=i5,Y2=t0,f5=_5,F2=h0;if($5=t+4|0,u5=e[$5>>2]|0,hQ(u5,N1,c2,w),h5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,dQ(h5,y5,D5,G1),c0=(o1|0)>0,!c0){C=J5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,Z=l0+(w<<2)|0,I0=t+16|0,Q5=Z,p5=0,r5=G1,n5=$0;g0=n5+-4|0,f0=+s[r5>>2],n0=+s[Q5>>2],d0=n0*f0,C0=r5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+d0,w0=+s[I0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,K0=+s[r5>>2],v0=+s[Q0>>2],T0=v0*K0,N0=+s[C0>>2],U0=+s[Q5>>2],O0=U0*N0,k0=T0-O0,V0=+s[I0>>2],F0=k0*V0,s[g0>>2]=F0,L0=r5+8|0,G0=Q5+8|0,J0=p5+1|0,T5=(J0|0)==(o1|0),!T5;)Q5=G0,p5=J0,r5=L0,n5=g0;C=J5}function hQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0;if(yr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,Y5=a+(I<<2)|0,R3=$>>1,B=R3+-8|0,e8=a+(B<<2)|0,g=o,B8=Y5,Q8=e8;dt=B8+24|0,Hi=+s[dt>>2],Qi=Q8+24|0,vi=+s[Qi>>2],Si=Hi-vi,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,d1=+s[Z0>>2],B1=N0-d1,b1=vi+Hi,s[dt>>2]=b1,n2=+s[Z0>>2],$2=n2+N0,s[Q0>>2]=$2,S2=g+4|0,Z2=+s[S2>>2],g5=Z2*B1,q5=+s[g>>2],X2=q5*Si,c5=X2+g5,s[Qi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*Si,S6=s6-i6,s[Z0>>2]=S6,z3=B8+16|0,Y6=+s[z3>>2],c9=Q8+16|0,o9=+s[c9>>2],y9=Y6-o9,Re=B8+20|0,Ye=+s[Re>>2],V4=Q8+20|0,de=+s[V4>>2],f6=Ye-de,xe=o9+Y6,s[z3>>2]=xe,I8=+s[V4>>2],Vt=I8+Ye,s[Re>>2]=Vt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*f6,_4=g+16|0,F9=+s[_4>>2],Ft=F9*y9,u8=Ft+Bt,s[c9>>2]=u8,W8=+s[_4>>2],Nt=W8*f6,F8=+s[at>>2],Xt=F8*y9,O4=Nt-Xt,s[V4>>2]=O4,C4=B8+8|0,ae=+s[C4>>2],T8=Q8+8|0,Ai=+s[T8>>2],Oi=ae-Ai,qi=B8+12|0,pi=+s[qi>>2],Z8=Q8+12|0,Ei=+s[Z8>>2],j8=pi-Ei,Ci=Ai+ae,s[C4>>2]=Ci,X8=+s[Z8>>2],Bi=X8+pi,s[qi>>2]=Bi,$i=g+36|0,c7=+s[$i>>2],Yi=c7*j8,yi=g+32|0,g7=+s[yi>>2],wi=g7*Oi,li=wi+Yi,s[T8>>2]=li,u7=+s[yi>>2],Vi=u7*j8,Ji=+s[$i>>2],zi=Ji*Oi,Ki=Vi-zi,s[Z8>>2]=Ki,ci=+s[B8>>2],Wi=+s[Q8>>2],ei=ci-Wi,gi=B8+4|0,Y8=+s[gi>>2],ti=Q8+4|0,h7=+s[ti>>2],Zi=Y8-h7,d7=Wi+ci,s[B8>>2]=d7,ki=+s[ti>>2],ji=ki+Y8,s[gi>>2]=ji,bi=g+52|0,Xi=+s[bi>>2],Di=Xi*Zi,ii=g+48|0,_i=+s[ii>>2],e7=_i*ei,ui=e7+Di,s[Q8>>2]=ui,V8=+s[ii>>2],xi=V8*Zi,x4=+s[bi>>2],b0=x4*ei,E0=xi-b0,s[ti>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(K0=(C0|0)>1,K0)for(N8=1;;){if(M0=1<>N8,U0=4<>1,S=O0+-8|0,N=U0+1|0,h0=U0<<1,$0=h0|1,I0=U0*3|0,f0=I0+1|0,d0=U0<<2,hi=0;;){for(V0=o5(hi,T0)|0,F0=a+(V0<<2)|0,m=E+V0|0,L0=a+(m<<2)|0,u0=S+V0|0,G0=a+(u0<<2)|0,d=o,vt=L0,G8=G0;z0=vt+24|0,J0=+s[z0>>2],q0=G8+24|0,P0=+s[q0>>2],H0=J0-P0,o1=vt+28|0,Y0=+s[o1>>2],i1=G8+28|0,x0=+s[i1>>2],n1=Y0-x0,h1=P0+J0,s[z0>>2]=h1,g1=+s[i1>>2],m1=g1+Y0,s[o1>>2]=m1,u1=d+4|0,A1=+s[u1>>2],c1=A1*n1,s1=+s[d>>2],$1=s1*H0,j0=$1+c1,s[q0>>2]=j0,E1=+s[d>>2],I1=E1*n1,Q1=+s[u1>>2],p1=Q1*H0,w1=I1-p1,s[i1>>2]=w1,v1=d+(U0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=G8+16|0,S1=+s[M1>>2],D1=L1-S1,R1=vt+20|0,F1=+s[R1>>2],U1=G8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=S1+L1,s[k1>>2]=G1,x1=+s[U1>>2],z1=x1+F1,s[R1>>2]=z1,q1=d+(N<<2)|0,H1=+s[q1>>2],Y1=H1*Z1,V1=+s[v1>>2],X1=V1*D1,j1=X1+Y1,s[M1>>2]=j1,O1=+s[v1>>2],c2=O1*Z1,W1=+s[q1>>2],d2=W1*D1,s2=c2-d2,s[U1>>2]=s2,E2=d+(h0<<2)|0,a2=vt+8|0,K1=+s[a2>>2],h2=G8+8|0,i2=+s[h2>>2],l2=K1-i2,r2=vt+12|0,A2=+s[r2>>2],e2=G8+12|0,o2=+s[e2>>2],f2=A2-o2,t2=i2+K1,s[a2>>2]=t2,k2=+s[e2>>2],D2=k2+A2,s[r2>>2]=D2,Q2=d+($0<<2)|0,N2=+s[Q2>>2],L2=N2*f2,U2=+s[E2>>2],m2=U2*l2,W2=m2+L2,s[h2>>2]=W2,P2=+s[E2>>2],V2=P2*f2,G2=+s[Q2>>2],q2=G2*l2,A5=V2-q2,s[e2>>2]=A5,H2=d+(I0<<2)|0,N1=+s[vt>>2],t5=+s[G8>>2],F5=N1-t5,i5=vt+4|0,_5=+s[i5>>2],j2=G8+4|0,I5=+s[j2>>2],b5=_5-I5,b2=t5+N1,s[vt>>2]=b2,B5=+s[j2>>2],s5=B5+_5,s[i5>>2]=s5,R2=d+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[H2>>2],T5=Q5*F5,m5=T5+y2,s[G8>>2]=m5,x5=+s[H2>>2],L5=x5*b5,Y2=+s[R2>>2],p5=Y2*F5,$5=L5-p5,s[j2>>2]=$5,u5=d+(d0<<2)|0,y5=vt+-32|0,T1=G8+-32|0,D5=T1>>>0>>0,!D5;)d=u5,vt=y5,G8=T1;if(h5=hi+1|0,l5=(h5|0)<(M0|0),l5)hi=h5;else break}if(g2=N8+1|0,Li=(g2|0)==(C0|0),Li)break;N8=g2}if(k0=($|0)>0,k0)l9=0;else return;for(;w5=a+(l9<<2)|0,Q=l9|30,r5=a+(Q<<2)|0,a5=+s[r5>>2],T=l9|14,d5=a+(T<<2)|0,z2=+s[d5>>2],f5=a5-z2,q=l9|31,n5=a+(q<<2)|0,M5=+s[n5>>2],c0=l9|15,e5=a+(c0<<2)|0,F2=+s[e5>>2],v5=M5-F2,J5=z2+a5,s[r5>>2]=J5,i3=F2+M5,s[n5>>2]=i3,s[d5>>2]=f5,s[e5>>2]=v5,l0=l9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],Z=l9|12,d3=a+(Z<<2)|0,K5=+s[d3>>2],r3=I3-K5,g0=l9|29,a3=a+(g0<<2)|0,N5=+s[a3>>2],n0=l9|13,W5=a+(n0<<2)|0,D3=+s[W5>>2],f3=N5-D3,y3=K5+I3,s[E5>>2]=y3,X3=D3+N5,s[a3>>2]=X3,q3=r3*.9238795042037964,X5=f3*.3826834261417389,b3=q3-X5,s[d3>>2]=b3,t3=r3*.3826834261417389,T3=f3*.9238795042037964,H3=T3+t3,s[W5>>2]=H3,p0=l9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=l9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],z5=g3-Q3,v=l9|27,H5=a+(v<<2)|0,V5=+s[H5>>2],w=l9|11,S5=a+(w<<2)|0,G5=+s[S5>>2],$6=V5-G5,n3=Q3+g3,s[c3>>2]=n3,l3=G5+V5,s[H5>>2]=l3,N3=z5-$6,E6=N3*.7071067690849304,s[u3>>2]=E6,k3=$6+z5,_3=k3*.7071067690849304,s[S5>>2]=_3,D=l9|24,S3=a+(D<<2)|0,a6=+s[S3>>2],y=l9|8,V3=a+(y<<2)|0,Z5=+s[V3>>2],x3=a6-Z5,x=l9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],M=l9|9,h6=a+(M<<2)|0,m3=+s[h6>>2],L6=J3-m3,M6=Z5+a6,s[S3>>2]=M6,R6=m3+J3,s[h3>>2]=R6,r6=x3*.3826834261417389,d6=L6*.9238795042037964,b6=r6-d6,G6=L6*.3826834261417389,X6=x3*.9238795042037964,v6=G6+X6,L=l9|22,L3=a+(L<<2)|0,n6=+s[L3>>2],R=l9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],M3=n6-C6,F=l9|7,K3=a+(F<<2)|0,e6=+s[K3>>2],G=l9|23,F6=a+(G<<2)|0,l6=+s[F6>>2],o3=e6-l6,K6=C6+n6,s[L3>>2]=K6,A3=l6+e6,s[F6>>2]=A3,s[o6>>2]=o3,s[K3>>2]=M3,V=l9|4,c6=a+(V<<2)|0,B6=+s[c6>>2],X=l9|20,A6=a+(X<<2)|0,D6=+s[A6>>2],U6=B6-D6,K=l9|5,t9=a+(K<<2)|0,Q6=+s[t9>>2],a0=l9|21,e9=a+(a0<<2)|0,G3=+s[e9>>2],n9=Q6-G3,V6=D6+B6,s[A6>>2]=V6,s9=G3+Q6,s[e9>>2]=s9,P6=n9*.9238795042037964,J6=U6*.3826834261417389,T6=P6+J6,i9=n9*.3826834261417389,_6=U6*.9238795042037964,O6=i9-_6,W=l9|2,U3=a+(W<<2)|0,q6=+s[U3>>2],r0=l9|18,a9=a+(r0<<2)|0,h9=+s[a9>>2],C9=q6-h9,s0=l9|3,B9=a+(s0<<2)|0,Q9=+s[B9>>2],J=l9|19,d9=a+(J<<2)|0,f9=+s[d9>>2],H9=Q9-f9,y6=h9+q6,s[a9>>2]=y6,H6=f9+Q9,s[d9>>2]=H6,A9=H9+C9,Y9=A9*.7071067690849304,ye=H9-C9,ge=ye*.7071067690849304,pe=+s[w5>>2],o0=l9|16,V9=a+(o0<<2)|0,ie=+s[V9>>2],R9=pe-ie,t0=l9|1,w9=a+(t0<<2)|0,W6=+s[w9>>2],j=l9|17,$9=a+(j<<2)|0,we=+s[$9>>2],ue=W6-we,D9=ie+pe,s[V9>>2]=D9,Fe=we+W6,s[$9>>2]=Fe,Te=ue*.3826834261417389,Ge=R9*.9238795042037964,qe=Te+Ge,n4=ue*.9238795042037964,ve=R9*.3826834261417389,He=n4-ve,J9=He-v6,he=qe-b6,Ue=qe+b6,Ee=He+v6,v4=he+J9,W9=J9-he,v9=+s[S5>>2],k4=ge-v9,Y4=+s[u3>>2],nt=Y4-Y9,Ve=Y4+Y9,Je=v9+ge,o4=+s[d3>>2],R4=o4-T6,ot=+s[W5>>2],re=ot-O6,u4=o4+T6,Ce=ot+O6,N6=R4-re,ze=re+R4,P9=+s[d5>>2],Ne=P9-o3,h4=+s[e5>>2],ne=h4-M3,d4=o3+P9,f4=M3+h4,ke=Ne+k4,s4=Ne-k4,Pe=N6+v4,I4=Pe*.7071067690849304,k9=N6-v4,J4=k9*.7071067690849304,fe=I4+ke,s[o6>>2]=fe,S4=ke-I4,s[c6>>2]=S4,Se=ze-W9,Ie=Se*.7071067690849304,z6=ne-nt,F4=Ie+s4,s[w5>>2]=F4,T4=s4-Ie,s[U3>>2]=T4,st=ze+W9,me=st*.7071067690849304,mt=ne+nt,W3=z6+J4,s[B9>>2]=W3,_9=z6-J4,s[w9>>2]=_9,S9=mt+me,s[K3>>2]=S9,Oe=mt-me,s[t9>>2]=Oe,a4=d4+Ve,d8=d4-Ve,N4=Ue+u4,f8=u4-Ue,D8=a4+N4,s[d5>>2]=D8,m8=a4-N4,s[d3>>2]=m8,Ut=Ce-Ee,Pt=f4-Je,Ot=d8+Ut,s[V3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Ce+Ee,i8=f4+Je,_8=Pt+f8,s[S5>>2]=_8,Ht=Pt-f8,s[h6>>2]=Ht,Yt=i8+t8,s[e5>>2]=Yt,_t=i8-t8,s[W5>>2]=_t,xt=+s[h3>>2],pt=Fe-xt,Jt=+s[S3>>2],zt=D9-Jt,r8=Jt+D9,n8=xt+Fe,Et=zt+pt,z4=pt-zt,G4=+s[d9>>2],Lt=+s[H5>>2],x9=G4-Lt,p8=+s[c3>>2],b4=+s[a9>>2],E8=p8-b4,x8=b4+p8,o8=Lt+G4,L8=+s[E5>>2],A4=+s[A6>>2],s8=L8-A4,Mt=+s[a3>>2],At=+s[e9>>2],Ke=Mt-At,U4=A4+L8,$t=At+Mt,Ct=s8-Ke,Rt=Ke+s8,m4=+s[r5>>2],oe=+s[L3>>2],lt=m4-oe,ct=+s[n5>>2],Qt=+s[F6>>2],p4=ct-Qt,D4=oe+m4,K4=Qt+ct,W4=lt+x9,se=lt-x9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,be=gt*.7071067690849304,yt=E4+W4,s[L3>>2]=yt,a8=W4-E4,s[A6>>2]=a8,We=Rt-z4,E3=We*.7071067690849304,Z4=p4-E8,wt=E3+se,s[V9>>2]=wt,$4=se-E3,s[a9>>2]=$4,Z9=Rt+z4,l4=Z9*.7071067690849304,j4=p4+E8,Wt=Z4+be,s[d9>>2]=Wt,C8=Z4-be,s[$9>>2]=C8,A8=j4+l4,s[F6>>2]=A8,$8=j4-l4,s[e9>>2]=$8,Zt=D4+x8,l8=D4-x8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,s[r5>>2]=ht,Ze=Zt-jt,s[E5>>2]=Ze,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[S3>>2]=X4,b9=l8-c8,s[c3>>2]=b9,g8=$t+n8,et=K4+o8,q8=Tt+ut,s[H5>>2]=q8,K8=Tt-ut,s[h3>>2]=K8,M8=et+g8,s[n5>>2]=M8,R8=et-g8,s[a3>>2]=R8,c4=l9+32|0,H8=(c4|0)<($|0),H8;)l9=c4}function dQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,G=o+(t<<2)|0,s1=G,$1=a,j0=$,E1=v;h0=e[$1>>2]|0,g=h0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,d=L0+b|0,x0=$+(d<<2)|0,m=g+1|0,A1=$+(m<<2)|0,c1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=c1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[s1>>2],F=L*R,T=s1+4|0,N=+s[T>>2],V=N*y,X=V+F,K=N*L,a0=R*y,W=K-a0,r0=E1+-16|0,s0=D+c1,J=s0*.5,o0=x-M,q=o0*.5,t0=X+J,s[j0>>2]=t0,j=J-X,u0=E1+-8|0,s[u0>>2]=j,c0=W+q,$0=j0+4|0,s[$0>>2]=c0,l0=W-q,Z=E1+-4|0,s[Z>>2]=l0,I0=$1+8|0,g0=e[I0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],K0=B0+w0,M0=s1+8|0,v0=+s[M0>>2],T0=K0*v0,N0=s1+12|0,U0=+s[N0>>2],O0=U0*y0,k0=O0+T0,V0=U0*K0,F0=v0*y0,G0=V0-F0,z0=E0+Q0,J0=z0*.5,q0=w0-B0,Z0=q0*.5,P0=k0+J0,H0=j0+8|0,s[H0>>2]=P0,o1=J0-k0,s[r0>>2]=o1,Y0=G0+Z0,i1=j0+12|0,s[i1>>2]=Y0,n1=G0-Z0,h1=E1+-12|0,s[h1>>2]=n1,g1=s1+16|0,m1=$1+16|0,d1=j0+16|0,u1=d1>>>0>>0,u1;)s1=g1,$1=m1,j0=d1,E1=r0}function mb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=le(1,36)|0,d=t+4|0,m=e[d>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function pb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&p2(t)}function Eb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function Cb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0;A9=C,y6=t,Y9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,h3=+V7(l3),G6=h3+-1,F6=~~G6,L=t+32|0,e[L>>2]=F6,r0=+(g|0),l0=r0*.25,b0=l0,U0=b0*.5,P0=+($|0),u1=U0/P0,w1=+tn(+u1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,l2=F6+1|0,N2=1<>2]=c5,v5=+($|0),J5=v5+.25,E5=J5*r0,I3=E5,d3=I3*.5,K5=d3/P0,r3=+tn(+K5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,N5=H2*B3,W5=N5+.5,D3=~~W5,y3=1-c5|0,X3=y3+D3|0,q3=t+40|0,e[q3>>2]=X3,X5=$<<2,b3=M9(X5)|0,t3=t+16|0,e[t3>>2]=b3,s6=M9(X5)|0,T3=t+20|0,e[T3>>2]=s6,H3=M9(X5)|0,c3=t+24|0,e[c3>>2]=H3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,z5=t+48|0,s[z5>>2]=1,H5=(g|0)<26e3;do if(H5)s[z5>>2]=0;else{if(V5=(g|0)<38e3,V5){s[z5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[z5>>2]=1.274999976158142)}while(!1);Y3=P0*2,G5=+(g|0),$6=($|0)>0,k3=$6,i9=0,o9=0;e:for(;;){for(Q=k3^1,_6=i9;;){if(S3=_6+1|0,a6=+(S3|0),i6=a6*.08664337545633316,V3=i6+2.7488713472395148,Z5=+Yn(+V3),x3=Y3*Z5,J3=x3/G5,h6=+V7(J3),m3=~~h6,E=(m3|0)<=(o9|0),t9=E|Q,!t9){m=S3,I=m3,O6=_6;break}if(L6=(S3|0)<87,L6)_6=S3;else{h9=o9;break e}}for(M6=1272+(O6<<2)|0,R6=+s[M6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],d6=r6-R6,b6=I-o9|0,X6=+(b6|0),v6=d6/X6,L3=o9-I|0,n6=o9-$|0,o6=L3>>>0>n6>>>0,H9=o6?L3:n6,n3=o9-H9|0,U6=R6,C9=o9;C6=U6+100,z3=b3+(C9<<2)|0,s[z3>>2]=C6,M3=U6+v6,K3=C9+1|0,V6=(K3|0)==(n3|0),!V6;)U6=M3,C9=K3;if(N3=(n3|0)<($|0),E6=(m|0)<87,E6)k3=N3,i9=m,o9=n3;else{h9=n3;break}}if(_3=(h9|0)<($|0),_3)for(B9=h9;Y6=B9+-1|0,A6=b3+(Y6<<2)|0,D6=e[A6>>2]|0,R=b3+(B9<<2)|0,e[R>>2]=D6,F=B9+1|0,n9=(F|0)==($|0),!n9;)B9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,K6=o+120|0,A3=e[K6>>2]|0,c6=o+124|0,B6=o+116|0,R3=o+112|0,P6=1,U3=0,Q9=-99;;){K=o5(o3,U3)|0,a0=+(K|0),W=a0*.0007399999885819852,s0=W,J=+ts(+s0),o0=J*13.100000381469727,q=o5(K,K)|0,h0=+(q|0),t0=h0*18499999754340024e-24,j=t0,u0=+ts(+j),c0=u0*2.240000009536743,$0=c0+o0,Z=a0*9999999747378752e-20,I0=Z,g0=$0+I0,f0=g0,n0=A3+Q9|0,d0=(n0|0)<(U3|0);e:do if(d0)for(p0=+s[R3>>2],C0=f0-p0,S0=C0,f9=Q9;;){if(Q0=o5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+ts(+w0),_0=B0*13.100000381469727,K0=o5(Q0,Q0)|0,M0=+(K0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+ts(+T0),O0=N0*2.240000009536743,k0=E0*9999999747378752e-20,V0=k0,F0=_0+V0,L0=F0+O0,G0=L0($|0);e:do if(z0)J6=P6;else for(J0=e[c6>>2]|0,q0=J0+U3|0,T6=P6;;){if(Y0=(T6|0)<(q0|0),!Y0&&(i1=o5(T6,o3)|0,x0=+(i1|0),n1=x0*.0007399999885819852,h1=n1,g1=+ts(+h1),m1=g1*13.100000381469727,d1=o5(i1,i1)|0,A1=+(d1|0),c1=A1*18499999754340024e-24,s1=c1,$1=+ts(+s1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,b1=U3+1|0,G3=(b1|0)==($|0),G3)break;P6=J6,U3=b1,Q9=d9}if(e6)for(T=G5*.5,N=e[L>>2]|0,G=N+1|0,V=1<>2]=O1,W1=q6+1|0,e9=(W1|0)==($|0),e9){v=T;break}else q6=W1;else H6=19}else H6=19;if((H6|0)==19&&(y=G5*.5,v=y),d2=o+36|0,s2=v/P0,E2=s2,a2=o+24|0,K1=+s[a2>>2],h2=o+28|0,$2=+s[h2>>2],r2=yb(d2,E2,$,K1,$2)|0,A2=t+8|0,e[A2>>2]=r2,e2=M9(12)|0,o2=t+12|0,e[o2>>2]=e2,f2=M9(X5)|0,e[e2>>2]=f2,t2=M9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=M9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,a9=0;L2=+(a9|0),U2=L2+.5,m2=U2*G5,W2=m2/Y3,P2=+tn(+W2),V2=P2*2.885390043258667,G2=V2+-11.931568145751953,q2=G2,Z2=q2<0,s9=Z2?0:q2,d=s9>=16,c9=d?16:s9,A5=~~c9,N1=+(A5|0),t5=c9-N1,F5=t5,i5=1-F5,_5=A5+1|0,j2=(Q2+132|0)+(A5<<2)|0,I5=+s[j2>>2],b5=I5,Y5=b5*i5,g5=(Q2+132|0)+(_5<<2)|0,B5=+s[g5>>2],s5=B5*t5,R2=s5,M2=R2+Y5,y2=M2,Q5=b+(a9<<2)|0,s[Q5>>2]=y2,T5=(Q2+200|0)+(A5<<2)|0,m5=+s[T5>>2],x5=m5,q5=x5*i5,Y2=(Q2+200|0)+(_5<<2)|0,p5=+s[Y2>>2],$5=p5*t5,u5=$5,y5=u5+q5,T1=y5,D5=w+(a9<<2)|0,s[D5>>2]=T1,h5=(Q2+268|0)+(A5<<2)|0,l5=+s[h5>>2],X2=l5,w5=X2*i5,r5=(Q2+268|0)+(_5<<2)|0,a5=+s[r5>>2],d5=a5*t5,z2=d5,f5=z2+w5,n5=f5,M5=D+(a9<<2)|0,s[M5>>2]=n5,e5=a9+1|0,Q6=(e5|0)==($|0),!Q6;)a9=e5}function fQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;if(P0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,V=(w|0)==0,V||p2(w),t0=t+20|0,d0=e[t0>>2]|0,K0=(d0|0)==0,K0||p2(d0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||p2(L0),g=t+8|0,d=e[g>>2]|0,m=(d|0)==0,!m){for(E=d,J0=0;I=E+(J0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,p2(B),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,p2(y),x=e[g>>2]|0,M=x+(J0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,p2(F),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,X=G+12|0,K=e[X>>2]|0,p2(K),a0=e[g>>2]|0,W=a0+(J0<<2)|0,r0=e[W>>2]|0,s0=r0+16|0,J=e[s0>>2]|0,p2(J),o0=e[g>>2]|0,q=o0+(J0<<2)|0,h0=e[q>>2]|0,j=h0+20|0,u0=e[j>>2]|0,p2(u0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,Z=l0+24|0,I0=e[Z>>2]|0,p2(I0),g0=e[g>>2]|0,f0=g0+(J0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,p2(C0),S0=e[g>>2]|0,Q0=S0+(J0<<2)|0,b0=e[Q0>>2]|0,p2(b0),E0=J0+1|0,z0=(E0|0)==17,!z0;)o=e[g>>2]|0,E=o,J0=E0;y0=e[g>>2]|0,p2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,p2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,p2(N0),U0=e[w0>>2]|0,O0=U0+8|0,k0=e[O0>>2]|0,p2(k0),V0=e[w0>>2]|0,p2(V0)),q0=t,H0=q0+52|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0))}}function IQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,W=t+24|0,u0=e[W>>2]|0,pQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],Z=a+(d0<<2)|0,I0=+s[Z>>2],E=l0-I0,Q=M+(d0<<2)|0,s[Q>>2]=E,B=d0+1|0,f0=(B|0)==(m|0),!f0;)d0=B;if(S=e[W>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,pQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],T=L-F,s[R>>2]=T,N=p0+1|0,n0=(N|0)==(m|0),!n0;)p0=N;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;G=a+(C0<<2)|0,V=+s[G>>2],X=V,K=X+.5,a0=~~K,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,J=M+(C0<<2)|0,o0=+s[J>>2],q=(y+336|0)+(g<<2)|0,h0=+s[q>>2],t0=h0+o0,s[G>>2]=t0,j=C0+1|0,g0=(j|0)==(m|0),!g0;)C0=j;C=Q0}function mQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,T=t+40|0,u1=e[T>>2]|0,w1=u1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,N=(u1|0)>0,N)for($5=0;q=P1+($5<<2)|0,s[q>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(u1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],h1=g50,g1){for(m1=t+16|0,d1=e[m1>>2]|0,h5=0;A1=d1+(h5<<2)|0,c1=+s[A1>>2],s1=c1+q5,$1=a+(h5<<2)|0,s[$1>>2]=s1,j0=h5+1|0,Y2=(j0|0)==(F|0),!Y2;)h5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,g1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,S1=t+28|0,u5=0;;){D1=o+(u5<<2)|0,R1=+s[D1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,a5=R1;e:for(;;)for(y5=D5;;){if(b1=y5+1|0,Z1=(b1|0)<(F|0),!Z1){S=0,v=b1,T1=y5,d5=a5;break e}if(G1=k1+(b1<<2)|0,x1=e[G1>>2]|0,z1=(x1|0)==(U1|0),!z1){S=1,v=b1,T1=y5,d5=a5;break e}if(q1=o+(b1<<2)|0,H1=+s[q1>>2],Y1=H1>a5,Y1){D5=b1,a5=H1;continue e}else y5=b1}if(V1=d5+6,X1=a+(T1<<2)|0,n2=+s[X1>>2],O1=V1>n2,O1&&(c2=e[L1>>2]|0,W1=U1>>c2,d2=(W1|0)>16,m=d2?16:W1,s2=(m|0)<0,d=s2?0:m,E2=I1+(d<<2)|0,a2=e[E2>>2]|0,K1=e[M1>>2]|0,h2=B1+d5,$2=h2,l2=$2+-30,r2=l2*.10000000149011612,A2=~~r2,e2=(A2|0)<0,o2=e2?0:A2,f2=(o2|0)>7,t2=f2?7:o2,k2=a2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,N2=+s[S2>>2],L2=~~N2,U2=+s[D2>>2],m2=~~U2,W2=(m2|0)<(L2|0),W2))for(P2=k1+(T1<<2)|0,V2=e[P2>>2]|0,G2=e[S1>>2]|0,q2=V2-G2|0,Z2=+(q2|0),H2=K1>>1,N1=+(H2|0),t5=U2+-16,F5=+(K1|0),i5=t5*F5,_5=i5-N1,j2=_5+Z2,I5=~~j2,p5=m2,J5=I5;b5=(J5|0)>0,b5&&(R=p5+2|0,Y5=D2+(R<<2)|0,b2=+s[Y5>>2],B5=b2+d5,s5=P1+(J5<<2)|0,R2=+s[s5>>2],M2=R2>2]=B5)),y2=J5+K1|0,Q5=(y2|0)<(u1|0),T5=p5+1|0,m5=(T5|0)<(L2|0),c5=m5&Q5,c5;)p5=T5,J5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),x5=e[M>>2]|0,wb(P1,x5,u1),G=e[t>>2]|0,V=(G|0)>1;e:do if(V)for(X=t+20|0,K=t+28|0,a0=e[X>>2]|0,W=e[a0>>2]|0,r0=x5>>1,s0=W-r0|0,J=e[K>>2]|0,o0=s0-J|0,h0=e[j1>>2]|0,t0=h0+32|0,Z=1,n0=W,X2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(Z<<2)|0,I0=e[l0>>2]|0,g0=I0+n0|0,d0=g0>>1,p0=d0-J|0,C0=+s[t0>>2],S0=$0>C0,z2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,n5=z2;;){for(b0=n5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(K0=w0=(G|0),U0=(n0|0)>(T0|0),M5=N0|U0;t:do if(M5)g2=X2;else for(w5=X2;;){if(O0=a+(w5<<2)|0,k0=+s[O0>>2],V0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(G|0),!G0){g2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,z0=(L|0)>(T0|0),z0){g2=L0;break}else w5=L0}while(!1);if(j=g2+1|0,u0=(j|0)<(G|0),!u0){l5=g2;break e}w=a0+(g2<<2)|0,x=e[w>>2]|0,Z=j,n0=x,X2=g2,F2=v5}else l5=0;while(!1);if(J0=e[T>>2]|0,q0=J0+-1|0,Z0=P1+(q0<<2)|0,P0=+s[Z0>>2],H0=(l5|0)<(G|0),H0)r5=l5;else{C=E5;return}for(;o1=a+(r5<<2)|0,Y0=+s[o1>>2],x0=Y0>2]=P0),n1=r5+1|0,L5=(n1|0)==(G|0),!L5;)r5=n1;C=E5}function el(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,Z=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],T=F+M,N=+s[b>>2],G=T>N,_0=G?N:T,V=a+(B0<<2)|0,X=+s[V>>2],K=X+Z,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,J=+s[r0>>2],o0=_0-J,q=o0>-17.200000762939453,h0=o0+17.200000762939453,t0=h0,q?(j=D*t0,u0=1-j,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*t0,I0=1-l0,g0=I0,y0=g0),f0=d+(B0<<2)|0,n0=+s[f0>>2],d0=n0*y0,s[f0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Bb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;return N=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),d=g+8|0,m=e[d>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function Qb(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0;if(Ye=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?W5=16:(h6=A5+508|0,v6=e[h6>>2]|0,W5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,U0=e[b0>>2]|0,P0=1624+(U0<<3)|0,u1=+l1[P0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,H2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,L5=C,C=C+((1*M|0)+15&-16)|0,g2=$+1156|0,F2=(c0|0)>1e3,He=F2?1696:1624,qe=He+(P1<<3)|0,Ge=+l1[qe>>3],N5=o5(j1,W5)|0,L=N5,D3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=D3,v=N5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=N5,y3=C,C=C+((1*w|0)+15&-16)|0,e[H2>>2]=y3,D=N5,q3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=q3,X5=(E|0)>1,X5&&(b3=D3+(W5<<2)|0,t3=i2+4|0,e[t3>>2]=b3,s6=f3+(W5<<2)|0,T3=Q2+4|0,e[T3>>2]=s6,H3=y3+(W5<<2)|0,c3=H2+4|0,e[c3>>2]=H3,g3=q3+(W5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,C9=(E|0)==2,!C9))for(S5=2;F=e[i2>>2]|0,G=e[Q2>>2]|0,V=e[H2>>2]|0,X=e[b2>>2]|0,V5=o5(S5,W5)|0,Y3=F+(V5<<2)|0,G5=i2+(S5<<2)|0,e[G5>>2]=Y3,$6=G+(V5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=V+(V5<<2)|0,N3=H2+(S5<<2)|0,e[N3>>2]=l3,k3=X+(V5<<2)|0,_3=b2+(S5<<2)|0,e[_3>>2]=k3,S3=S5+1|0,o9=(S3|0)==(E|0),!o9;)S5=S3;if(z5=e[g2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,V3=c0^-1,Z5=W5^-1,H6=0,y9=V3;;){if(J3=(y9|0)>(Z5|0),n4=J3?y9:Z5,m3=n4^-1,L6=c0-H6|0,M6=(W5|0)>(L6|0),Q=M6?L6:W5,ce(L5|0,m|0,j1|0)|0,g4(a6|0,0,N5|0)|0,i6)for(R6=(Q|0)>0,S6=l0-H6|0,$9=0;;){if(L3=d+($9<<2)|0,n6=e[L3>>2]|0,o6=n6+(H6<<2)|0,C6=L5+($9<<2)|0,z3=e[C6>>2]|0,M3=(z3|0)==0,M3){if(R6)for(F6=H2+($9<<2)|0,l6=e[F6>>2]|0,K6=i2+($9<<2)|0,A3=e[K6>>2]|0,c6=Q2+($9<<2)|0,B6=e[c6>>2]|0,R3=b2+($9<<2)|0,Y6=e[R3>>2]|0,w9=0;G0=l6+(w9<<2)|0,s[G0>>2]=1000000013351432e-25,z0=A3+(w9<<2)|0,s[z0>>2]=0,J0=B6+(w9<<2)|0,s[J0>>2]=0,q0=Y6+(w9<<2)|0,e[q0>>2]=0,q=w9+H6|0,Z0=n6+(q<<2)|0,e[Z0>>2]=0,H0=w9+1|0,q6=(H0|0)==(m3|0),!q6;)w9=H0}else{if(K3=H2+($9<<2)|0,e6=e[K3>>2]|0,R6){for(ie=0;h0=ie+H6|0,A6=n6+(h0<<2)|0,D6=e[A6>>2]|0,U6=1768+(D6<<2)|0,t9=e[U6>>2]|0,e9=e6+(ie<<2)|0,e[e9>>2]=t9,G3=ie+1|0,_6=(G3|0)==(m3|0),!_6;)ie=G3;if(n9=g+($9<<2)|0,V6=e[n9>>2]|0,s9=b2+($9<<2)|0,c9=e[s9>>2]|0,R6){for(V9=0;P6=(V9|0)>=(S6|0),u0=P6?Ge:u1,J6=u0,t0=V9+H6|0,T6=V6+(t0<<2)|0,i9=+s[T6>>2],Q9=+tr(+i9),Z=e6+(V9<<2)|0,I0=+s[Z>>2],g0=Q9/I0,f0=c9+(V9<<2)|0,D9=!(g0>2]=B,n0=V9+1|0,O6=(n0|0)==(Q|0),!O6;)V9=n0;if(R6)for(d0=i2+($9<<2)|0,p0=e[d0>>2]|0,C0=Q2+($9<<2)|0,S0=e[C0>>2]|0,R9=0;;)if(Q0=R9+H6|0,E0=V6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(R9<<2)|0,s[B0>>2]=w0,_0=S0+(R9<<2)|0,s[_0>>2]=w0,K0=+s[E0>>2],M0=K0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(R9<<2)|0,O0=+s[N0>>2],k0=O0*O0,s[N0>>2]=k0,V0=R9+1|0,U3=(V0|0)==(m3|0),U3){T=C0,L0=p0;break}else R9=V0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,R=i2+($9<<2)|0,K=e[R>>2]|0,J=Q2+($9<<2)|0,T=J,L0=K),F0=e[T>>2]|0,Fe=e[$0>>2]|0,+EQ(Fe,l0,L0,F0,e6,0,H6,Q,o6)}if(o1=$9+1|0,a9=(o1|0)==(E|0),a9)break;$9=o1}if(r6=e[g2>>2]|0,d6=(r6|0)>0,d6)for(b6=(Q|0)>0,G6=I-H6|0,X6=l0-H6|0,B3=r6,ve=0;;){if(Y0=($+1160|0)+(ve<<2)|0,i1=e[Y0>>2]|0,x0=($+2184|0)+(ve<<2)|0,n1=e[x0>>2]|0,h1=d+(i1<<2)|0,g1=e[h1>>2]|0,m1=g1+(H6<<2)|0,d1=d+(n1<<2)|0,A1=e[d1>>2]|0,c1=i2+(i1<<2)|0,s1=e[c1>>2]|0,$1=i2+(n1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(n1<<2)|0,p1=e[Q1>>2]|0,B1=H2+(i1<<2)|0,v1=e[B1>>2]|0,k1=H2+(n1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,S1=e[M1>>2]|0,D1=b2+(n1<<2)|0,R1=e[D1>>2]|0,F1=L5+(i1<<2)|0,U1=e[F1>>2]|0,b1=(U1|0)==0,Z1=L5+(n1<<2)|0,b1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?X2=B3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(W6=0;;){z1=(W6|0)<(G6|0);do if(z1){if(q1=S1+(W6<<2)|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,V1=R1+(W6<<2)|0,Y1&&(X1=e[V1>>2]|0,n2=(X1|0)==0,n2)){i5=(W6|0)<(X6|0);do if(i5)_5=j0+(W6<<2)|0,j2=+s[_5>>2],I5=s1+(W6<<2)|0,b5=+s[I5>>2],Y5=b5+j2,s[I5>>2]=Y5,f9=+tr(+Y5),g5=I1+(W6<<2)|0,s[g5>>2]=f9,N=_5;else if(B5=s1+(W6<<2)|0,s5=+s[B5>>2],R2=j0+(W6<<2)|0,M2=+s[R2>>2],y2=M2+s5,Q5=y2<0,B9=+tr(+s5),d9=+tr(+M2),T5=d9+B9,m5=I1+(W6<<2)|0,s[m5>>2]=T5,Q5){x5=-T5,s[B5>>2]=x5,N=R2;break}else{s[B5>>2]=T5,N=R2;break}while(!1);q5=p1+(W6<<2)|0,s[q5>>2]=0,s[N>>2]=0,e[V1>>2]=1,o0=W6+H6|0,Y2=A1+(o0<<2)|0,e[Y2>>2]=0;break}O1=s1+(W6<<2)|0,c2=+s[O1>>2],H9=+tr(+c2),W1=j0+(W6<<2)|0,d2=+s[W1>>2],y6=+tr(+d2),s2=y6+H9,s[O1>>2]=s2,E2=I1+(W6<<2)|0,a2=+s[E2>>2],K1=p1+(W6<<2)|0,h2=+s[K1>>2],$2=h2+a2,s[E2>>2]=$2,e[V1>>2]=1,e[q1>>2]=1,j=W6+H6|0,l2=g1+(j<<2)|0,r2=e[l2>>2]|0,A2=A1+(j<<2)|0,e2=e[A2>>2]|0,ye=(r2|0)>-1,we=0-r2|0,o2=ye?r2:we,ge=(e2|0)>-1,ue=0-e2|0,f2=ge?e2:ue,t2=(o2|0)>(f2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,N2=k2?D2:S2,e[A2>>2]=N2,W=e[l2>>2]|0,P2=W,q2=N2):(L2=(e2|0)>0,U2=r2-e2|0,m2=e2-r2|0,W2=L2?U2:m2,e[A2>>2]=W2,e[l2>>2]=e2,a0=e[A2>>2]|0,P2=e2,q2=a0),pe=(P2|0)>-1,Re=0-P2|0,V2=pe?P2:Re,G2=V2<<1,Z2=(q2|0)<(G2|0),Z2||(N1=0-q2|0,e[A2>>2]=N1,t5=e[l2>>2]|0,F5=0-t5|0,e[l2>>2]=F5)}while(!1);if(p5=v1+(W6<<2)|0,$5=+s[p5>>2],u5=L1+(W6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=W6+1|0,h9=(D5|0)==(m3|0),h9)break;W6=D5}Te=e[$0>>2]|0,+EQ(Te,l0,s1,I1,v1,S1,H6,Q,m1),r0=e[g2>>2]|0,X2=r0}if(h5=ve+1|0,l5=(h5|0)<(X2|0),l5)B3=X2,ve=h5;else{a3=X2;break}}else a3=r6;if(w5=H6+W5|0,r5=(c0|0)>(w5|0),Y9=y9+W5|0,r5)H6=w5,y9=Y9;else{x3=a3;break}}else x3=z5;if(h3=(x3|0)>0,h3)r3=x3,A9=0;else{C=Ye;return}for(;a5=($+1160|0)+(A9<<2)|0,d5=e[a5>>2]|0,z2=m+(d5<<2)|0,f5=e[z2>>2]|0,n5=(f5|0)==0,M5=($+2184|0)+(A9<<2)|0,n5?(e5=e[M5>>2]|0,c5=m+(e5<<2)|0,v5=e[c5>>2]|0,J5=(v5|0)==0,J5?K5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[z2>>2]=1,i3=e[M5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[g2>>2]|0,K5=s0),I3=A9+1|0,d3=(I3|0)<(K5|0),d3;)r3=K5,A9=I3;C=Ye}function yb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0;for(et=C,C=C+32480|0,W3=et+32256|0,b9=et+1792|0,_9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=M9(68)|0,g4(b9|0,0,30464)|0,x3=$>0,ge=$<0,x9=0;;){for(h4=x9<<2,A4=0;s5=A4+h4|0,p5=(s5|0)<88,p5?(r5=1272+(s5<<2)|0,J5=+s[r5>>2],Z9=J5):Z9=-30,D3=s5+1|0,c3=(D3|0)<88,c3?(P6=1272+(D3<<2)|0,J6=+s[P6>>2],i9=Z9>J6,i9?l4=J6:l4=Z9):(c9=Z9>-30,c9?l4=-30:l4=Z9),_6=s5+2|0,O6=(_6|0)<88,O6?(q6=1272+(_6<<2)|0,a9=+s[q6>>2],h9=l4>a9,h9?F9=a9:F9=l4):(U3=l4>-30,U3?F9=-30:F9=l4),o9=s5+3|0,C9=(o9|0)<88,C9?(d9=1272+(o9<<2)|0,f9=+s[d9>>2],H9=F9>f9,H9?j4=f9:j4=F9):(B9=F9>-30,B9?j4=-30:j4=F9),y6=W3+(A4<<2)|0,s[y6>>2]=j4,H6=A4+1|0,Ot=(H6|0)==56,!Ot;)A4=H6;if(fe=(b9+(x9*1792|0)|0)+448|0,F=2792+(x9*1344|0)|0,ce(fe|0,F|0,224)|0,J=(b9+(x9*1792|0)|0)+672|0,I0=(2792+(x9*1344|0)|0)+224|0,ce(J|0,I0|0,224)|0,y0=(b9+(x9*1792|0)|0)+896|0,k0=(2792+(x9*1344|0)|0)+448|0,ce(y0|0,k0|0,224)|0,o1=(b9+(x9*1792|0)|0)+1120|0,c1=(2792+(x9*1344|0)|0)+672|0,ce(o1|0,c1|0,224)|0,k1=(b9+(x9*1792|0)|0)+1344|0,G1=(2792+(x9*1344|0)|0)+896|0,ce(k1|0,G1|0,224)|0,c2=(b9+(x9*1792|0)|0)+1568|0,A2=(2792+(x9*1344|0)|0)+1120|0,ce(c2|0,A2|0,224)|0,U2=b9+(x9*1792|0)|0,ce(U2|0,F|0,224)|0,t5=(b9+(x9*1792|0)|0)+224|0,ce(t5|0,F|0,224)|0,x3)for(At=0;;){if(ge)for(Bt=0;pe=16-Bt|0,x8=(pe|0)>-1,$8=0-pe|0,V9=x8?pe:$8,ie=+(V9|0),R9=ie*g,w9=R9+$,W6=w9<0,I=W6?0:w9,$9=I>0,d=$9?0:I,we=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Re=+s[we>>2],ue=Re+d,s[we>>2]=ue,Fe=Bt+1|0,Vt=(Fe|0)==56,!Vt;)Bt=Fe;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,G6=o8?h3:Zt,F6=+(G6|0),U6=F6*g,T6=U6+$,Q9=T6<0,E=Q9?0:T6,A9=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[A9>>2],y9=Y9+E,s[A9>>2]=y9,ye=ct+1|0,Yt=(ye|0)==56,!Yt;)ct=ye;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ge)for(Qt=0;n4=16-Qt|0,L8=(n4|0)>-1,l8=0-n4|0,ve=L8?n4:l8,He=+(ve|0),J9=He*g,Ye=J9+$,he=Ye>0,m=he?0:Ye,Ee=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,v4=+s[Ee>>2],W9=v4+m,s[Ee>>2]=W9,v9=Qt+1|0,t8=(v9|0)==56,!t8;)Qt=v9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,Y4=E8?k4:A8,nt=+(Y4|0),Ve=nt*g,V4=Ve+$,Je=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[Je>>2],ot=R4+V4,s[Je>>2]=ot,re=lt+1|0,qt=(re|0)==56,!qt;)lt=re;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Te=t+(x9<<2)|0,Ge=+s[Te>>2],qe=Ge,Ke=0;;){for(Ce=(Ke|0)<2,N6=+(Ke|0),v=N6*10,w=70-v,ze=Ce?50:w,P9=ze+qe,de=P9,Et=0;Ne=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(Et<<2)|0,ne=+s[Ne>>2],d4=ne+de,s[Ne>>2]=d4,f4=Et+1|0,Oe=(f4|0)==56,!Oe;)Et=f4;for(ke=_9+(Ke*224|0)|0,ce(ke|0,W3|0,224)|0,s4=+(Ke|0),Pe=s4*10,I4=70-Pe,Lt=0;;)if(k9=(_9+(Ke*224|0)|0)+(Lt<<2)|0,f6=+s[k9>>2],J4=I4+f6,s[k9>>2]=J4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;Se=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(at<<2)|0,Ie=+s[Se>>2],z6=(_9+(Ke*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=Ie>F4,T4&&(s[z6>>2]=Ie),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(me=Ke+1|0,_8=(me|0)==8,_8){U4=1;break}else Ke=me}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(_9+(xe*224|0)|0)+(G4<<2)|0,T=+s[mt>>2],N=(_9+(U4*224|0)|0)+(G4<<2)|0,G=+s[N>>2],V=T>2]=T),X=G4+1|0,d8=(X|0)==56,d8){z4=0;break}else G4=X;for(;K=(_9+(U4*224|0)|0)+(z4<<2)|0,a0=+s[K>>2],W=((b9+(x9*1792|0)|0)+(U4*224|0)|0)+(z4<<2)|0,r0=+s[W>>2],s0=a0>2]=a0),o0=z4+1|0,a4=(o0|0)==56,!a4;)z4=o0;if(q=U4+1|0,Ht=(q|0)==8,Ht)break;U4=q}if(h0=x9+1|0,xt=(h0|0)==17,xt)break;x9=h0}for(D9=o,Ue=(a|0)>0,o4=a^-1,b4=0;;){for(t0=M9(32)|0,j=r2+(b4<<2)|0,e[j>>2]=t0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,Z=+Yn(+l0),g0=Z/D9,f0=+tA(+g0),n0=~~f0,d0=+(n0|0),p0=d0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+gC(+E0),B0=~~w0,_0=n0+1|0,K0=+(_0|0),M0=K0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,U0=N0+-11.931568145751953,O0=+tA(+U0),V0=~~O0,F0=(B0|0)>(b4|0),p8=F0?b4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(V0|0)>16,Q=G0?16:V0,z0=(wt|0)>(Q|0),J0=b4+1|0,q0=(J0|0)<17,Z0=c0+3.9657840728759766,$4=0;;){if(P0=M9(232)|0,H0=t0+($4<<2)|0,e[H0>>2]=P0,Ue)for($t=0;Y0=R+($t<<2)|0,s[Y0>>2]=999,i1=$t+1|0,S9=(i1|0)==(a|0),!S9;)$t=i1;if(!z0)for(p4=wt;;){for(x0=+(p4|0),n1=x0*.5,Ct=0,D4=0;;){if(d1=+(Ct|0),u1=d1*.125,A1=u1+n1,s1=A1+3.9032840728759766,$1=s1*.6931470036506653,j0=+Yn(+$1),E1=j0/D9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Yn(+p1),w1=B1/D9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,S1=(B|0)>(a|0),a8=S1?a:B,D1=(a8|0)<(D4|0),We=D1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(We|0)<(Wt|0),b1=(We|0)<(a|0),jt=U1&b1,jt)for(P1=((b9+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(D4|0)<(a|0),z1=x1?D4:a,q1=z1^-1,H1=(I1|0)>0,x=I1^-1,Y1=H1?x:-1,V1=(Y1|0)<(q1|0),Ze=V1?q1:Y1,X1=Ze^-1,n2=(L1|0)>0,M=L1^-1,j1=n2?M:-1,O1=(j1|0)<(o4|0),c8=O1?o4:j1,W1=c8-Ze|0,d2=Ze+a|0,s2=d2^-1,E2=W1>>>0>s2>>>0,Tt=E2?W1:s2,a2=X1-Tt|0,se=We;;)if(K1=R+(se<<2)|0,h2=+s[K1>>2],$2=h2>Z1,$2&&(s[K1>>2]=Z1),i2=se+1|0,pt=(i2|0)==(a2|0),pt){K4=a2;break}else se=i2;else K4=We;if(l2=Ct+1|0,Jt=(l2|0)==56,Jt){W4=K4;break}else Ct=l2,D4=K4}if(h1=(W4|0)<(a|0),h1)for(g1=((b9+(p4*1792|0)|0)+($4*224|0)|0)+220|0,m1=+s[g1>>2],P4=W4;e2=R+(P4<<2)|0,o2=+s[e2>>2],f2=o2>m1,f2&&(s[e2>>2]=m1),t2=P4+1|0,zt=(t2|0)==(a|0),!zt;)P4=t2;if(k2=p4+1|0,D2=(p4|0)<(Q|0),D2)p4=k2;else break}if(q0){for(Rt=0,E4=0;;){if(P2=+(Rt|0),V2=P2*.125,G2=V2+c0,q2=G2+3.9032840728759766,Z2=q2*.6931470036506653,A5=+Yn(+Z2),H2=A5/D9,N1=~~H2,F5=G2+4.028284072875977,i5=F5*.6931470036506653,_5=+Yn(+i5),j2=_5/D9,I5=j2+1,b5=~~I5,Y5=(N1|0)<0,S=Y5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(E4|0),Z4=b2?E3:E4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((b9+(J0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,T5=+s[Q5>>2],m5=(E4|0)<(a|0),x5=m5?E4:a,q5=x5^-1,L5=(N1|0)>0,D=N1^-1,Y2=L5?D:-1,$5=(Y2|0)<(q5|0),ht=$5?q5:Y2,u5=ht^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(o4|0),Ft=D5?o4:T1,h5=Ft-ht|0,l5=ht+a|0,X2=l5^-1,g2=h5>>>0>X2>>>0,X4=g2?h5:X2,w5=u5-X4|0,be=Z4;;)if(a5=R+(be<<2)|0,d5=+s[a5>>2],z2=d5>T5,z2&&(s[a5>>2]=T5),f5=be+1|0,D8=(f5|0)==(w5|0),D8){gt=w5;break}else be=f5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,E4=gt}if(L2=(_4|0)<(a|0),L2)for(m2=((b9+(J0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+s[m2>>2],yt=_4;M5=R+(yt<<2)|0,e5=+s[M5>>2],c5=e5>W2,c5&&(s[M5>>2]=W2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=t0+($4<<2)|0,Q2=t0+($4<<2)|0,N2=t0+($4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,K5=Z0+d3,r3=K5*.6931470036506653,a3=+Yn(+r3),B3=a3/D9,N5=~~B3,W5=(N5|0)<0;do if(W5)f3=m4+2|0,y3=e[S2>>2]|0,X3=y3+(f3<<2)|0,s[X3>>2]=-999;else if(q3=(N5|0)<(a|0),q3){s6=R+(N5<<2)|0,T3=e[s6>>2]|0,H3=m4+2|0,g3=e[Q2>>2]|0,u3=g3+(H3<<2)|0,e[u3>>2]=T3;break}else{X5=m4+2|0,b3=e[N2>>2]|0,t3=b3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=P0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)oe=0;else if(z5=P0+12|0,H5=+s[z5>>2],V5=H5>-200,V5)oe=1;else if(S3=P0+16|0,a6=+s[S3>>2],i6=a6>-200,i6)oe=2;else if(V3=P0+20|0,Z5=+s[V3>>2],J3=Z5>-200,J3)oe=3;else if(h6=P0+24|0,m3=+s[h6>>2],L6=m3>-200,L6)oe=4;else if(M6=P0+28|0,R6=+s[M6>>2],S6=R6>-200,S6)oe=5;else if(r6=P0+32|0,d6=+s[r6>>2],b6=d6>-200,b6)oe=6;else if(X6=P0+36|0,v6=+s[X6>>2],L3=v6>-200,L3)oe=7;else if(n6=P0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)oe=8;else if(z3=P0+44|0,M3=+s[z3>>2],K3=M3>-200,K3)oe=9;else if(e6=P0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)oe=10;else if(K6=P0+52|0,A3=+s[K6>>2],c6=A3>-200,c6)oe=11;else if(B6=P0+56|0,R3=+s[B6>>2],Y6=R3>-200,Y6)oe=12;else if(A6=P0+60|0,D6=+s[A6>>2],t9=D6>-200,t9)oe=13;else{if(Q6=P0+64|0,e9=+s[Q6>>2],G3=e9>-200,G3){oe=14;break}if(n9=P0+68|0,V6=+s[n9>>2],s9=V6>-200,s9){oe=15;break}oe=16}while(!1);for(s[P0>>2]=oe,Kt=55;;){if(S5=Kt+2|0,Y3=P0+(S5<<2)|0,G5=+s[Y3>>2],$6=G5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,N3=(l3|0)>17,N3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),k3=P0+4|0,s[k3>>2]=E6,_3=$4+1|0,Ut=(_3|0)==8,Ut)break;$4=_3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,r2|0}function pQ(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0;if(Te=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,a2=C,C=C+((1*I|0)+15&-16)|0,E=v,e5=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,R6=a6<1,ue=R6?1:a6,C6=ue*ue,D=C6*.5,X=D*ue,s[w>>2]=D,s[a2>>2]=D,s[e5>>2]=0,s[a3>>2]=X,s[t3>>2]=0,j=(t|0)>1,j)for(U3=1,y6=D,H6=D,A9=0,Y9=0,y9=X,ye=1;h1=a+(U3<<2)|0,I1=+s[h1>>2],R1=I1+g,Y1=R1<1,D9=Y1?1:R1,K1=D9*D9,k2=K1+y6,G2=K1*ye,I5=G2+H6,T5=G2*ye,D5=T5+A9,z2=K1*D9,f5=z2+y9,n5=G2*D9,M5=n5+Y9,c5=w+(U3<<2)|0,s[c5>>2]=k2,F2=a2+(U3<<2)|0,s[F2>>2]=I5,v5=e5+(U3<<2)|0,s[v5>>2]=D5,J5=a3+(U3<<2)|0,s[J5>>2]=f5,i3=t3+(U3<<2)|0,s[i3>>2]=M5,E5=U3+1|0,I3=ye+1,O6=(E5|0)==(t|0),!O6;)U3=E5,y6=k2,H6=I5,A9=D5,Y9=M5,y9=f5,ye=I3;if(p0=e[o>>2]|0,M0=p0>>16,z0=(M0|0)>-1,z0)K5=p0,B6=0,D6=0,e9=1,q6=0,ge=0;else for(N5=p0,y3=M0,a9=0,pe=0;;)if(B3=N5&65535,W5=w+(B3<<2)|0,D3=+s[W5>>2],f3=0-y3|0,X3=w+(f3<<2)|0,q3=+s[X3>>2],X5=q3+D3,b3=a2+(B3<<2)|0,s6=+s[b3>>2],T3=a2+(f3<<2)|0,H3=+s[T3>>2],c3=s6-H3,g3=e5+(B3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,z5=+s[Q3>>2],H5=z5+u3,V5=a3+(B3<<2)|0,Y3=+s[V5>>2],G5=a3+(f3<<2)|0,$6=+s[G5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,N3=+s[l3>>2],E6=t3+(f3<<2)|0,k3=+s[E6>>2],_3=N3-k3,S3=n3*H5,i6=_3*c3,V3=S3-i6,Z5=_3*X5,x3=n3*c3,h3=Z5-x3,J3=H5*X5,h6=c3*c3,m3=J3-h6,L6=h3*pe,M6=L6+V3,S6=M6/m3,r6=S6<0,s9=r6?0:S6,d6=s9-g,b6=$+(a9<<2)|0,s[b6>>2]=d6,G6=a9+1|0,X6=pe+1,v6=o+(G6<<2)|0,L3=e[v6>>2]|0,n6=L3>>16,o6=(n6|0)>-1,o6){K5=L3,B6=V3,D6=h3,e9=m3,q6=G6,ge=X6;break}else N5=L3,y3=n6,a9=G6,pe=X6;if(d3=K5&65535,r3=(d3|0)<(t|0),r3)for(S=K5,e6=d3,o9=q6,ie=ge;;)if(M3=S>>16,K3=w+(e6<<2)|0,F6=+s[K3>>2],l6=w+(M3<<2)|0,o3=+s[l6>>2],K6=F6-o3,A3=a2+(e6<<2)|0,c6=+s[A3>>2],y=a2+(M3<<2)|0,x=+s[y>>2],M=c6-x,L=e5+(e6<<2)|0,R=+s[L>>2],F=e5+(M3<<2)|0,T=+s[F>>2],N=R-T,G=a3+(e6<<2)|0,V=+s[G>>2],K=a3+(M3<<2)|0,a0=+s[K>>2],W=V-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],J=t3+(M3<<2)|0,o0=+s[J>>2],q=s0-o0,h0=W*N,t0=q*M,u0=h0-t0,c0=q*K6,$0=W*M,l0=c0-$0,Z=N*K6,I0=M*M,g0=Z-I0,f0=l0*ie,n0=f0+u0,d0=n0/g0,C0=d0<0,c9=C0?0:d0,S0=c9-g,Q0=$+(o9<<2)|0,s[Q0>>2]=S0,b0=o9+1|0,E0=ie+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,o9=b0,ie=E0;else{R3=u0,U6=l0,G3=g0,h9=b0,V9=E0;break}else R3=B6,U6=D6,G3=e9,h9=q6,V9=ge;if(z3=(h9|0)<(t|0),z3)for(C9=h9,R9=V9;K0=R9*U6,v0=K0+R3,T0=v0/G3,N0=T0<0,P6=N0?0:T0,U0=P6-g,O0=$+(C9<<2)|0,s[O0>>2]=U0,k0=C9+1|0,V0=R9+1,_6=(k0|0)==(t|0),!_6;)C9=k0,R9=V0;if(F0=(d|0)<1,F0){C=Te;return}if(L0=(d|0)/2&-1,G0=L0-d|0,J0=(G0|0)>-1,J0)Y6=R3,t9=U6,n9=G3,B9=0,w9=0;else for(q0=d-L0|0,Y0=L0,n1=G0,Q9=0,W6=0;;)if(o1=w+(Y0<<2)|0,i1=+s[o1>>2],x0=0-n1|0,g1=w+(x0<<2)|0,m1=+s[g1>>2],d1=m1+i1,u1=a2+(Y0<<2)|0,A1=+s[u1>>2],c1=a2+(x0<<2)|0,s1=+s[c1>>2],$1=A1-s1,j0=e5+(Y0<<2)|0,E1=+s[j0>>2],Q1=e5+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(Y0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,S1=t3+(Y0<<2)|0,D1=+s[S1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],b1=D1-U1,P1=M1*B1,Z1=b1*$1,G1=P1-Z1,x1=b1*d1,z1=M1*$1,q1=x1-z1,H1=B1*d1,V1=$1*$1,X1=H1-V1,n2=q1*W6,j1=n2+G1,O1=j1/X1,c2=O1-g,W1=$+(Q9<<2)|0,d2=+s[W1>>2],s2=c2>2]=c2),E2=Q9+1|0,h2=W6+1,$2=L0+E2|0,i2=$2-d|0,i9=(E2|0)==(q0|0),i9){Y6=G1,t9=q1,n9=X1,B9=q0,w9=h2;break}else Y0=$2,n1=i2,Q9=E2,W6=h2;if(Z0=B9+L0|0,P0=(Z0|0)<(t|0),P0)for(H0=t-L0|0,b=Z0,f9=B9,we=w9;;)if(r2=b-d|0,A2=w+(b<<2)|0,e2=+s[A2>>2],o2=w+(r2<<2)|0,f2=+s[o2>>2],t2=e2-f2,D2=a2+(b<<2)|0,S2=+s[D2>>2],Q2=a2+(r2<<2)|0,N2=+s[Q2>>2],L2=S2-N2,U2=e5+(b<<2)|0,m2=+s[U2>>2],W2=e5+(r2<<2)|0,P2=+s[W2>>2],V2=m2-P2,q2=a3+(b<<2)|0,Z2=+s[q2>>2],A5=a3+(r2<<2)|0,H2=+s[A5>>2],N1=Z2-H2,t5=t3+(b<<2)|0,F5=+s[t5>>2],i5=t3+(r2<<2)|0,_5=+s[i5>>2],j2=F5-_5,b5=N1*V2,Y5=j2*L2,g5=b5-Y5,b2=j2*t2,B5=N1*L2,s5=b2-B5,R2=V2*t2,M2=L2*L2,y2=R2-M2,Q5=s5*we,m5=Q5+g5,x5=m5/y2,q5=x5-g,L5=$+(f9<<2)|0,Y2=+s[L5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=we+1,y5=$5+L0|0,T6=($5|0)==(H0|0),T6){A6=g5,Q6=s5,V6=y2,d9=H0,$9=u5;break}else b=y5,f9=$5,we=u5;else A6=Y6,Q6=t9,V6=n9,d9=B9,$9=w9;if(l2=(d9|0)<(t|0),l2)H9=d9,Re=$9;else{C=Te;return}for(;T1=Re*Q6,h5=T1+A6,l5=h5/V6,X2=l5-g,g2=$+(H9<<2)|0,w5=+s[g2>>2],r5=X2>2]=X2),a5=H9+1|0,d5=Re+1,J6=(a5|0)==(t|0),!J6;)H9=a5,Re=d5;C=Te}function wb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0;if(h1=C,d=a<<2,$=d,m=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,q0=0;else{C=h1;return}for(;;){_0=(q0|0)<2;do if(_0)v0=m+(q0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(q0<<2)|0,e[Q>>2]=E,Y0=q0;else{for(K0=t+(k0<<2)|0,M0=+s[K0>>2],Z0=q0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){H0=Z0,n1=12;break}if(T=Z0+-2|0,N=x+(T<<2)|0,G=+s[N>>2],V=!(b<=G),V){H0=Z0,n1=12;break}if(X=m+(T<<2)|0,K=e[X>>2]|0,W=K+o|0,r0=(k0|0)<(W|0),r0)Z0=B;else{H0=Z0,n1=12;break}}if((n1|0)==8){n1=0,w=m+(P0<<2)|0,e[w>>2]=k0,D=x+(P0<<2)|0,s[D>>2]=M0,Y0=P0;break}else if((n1|0)==12){n1=0,s0=m+(H0<<2)|0,e[s0>>2]=k0,J=x+(H0<<2)|0,s[J>>2]=M0,Y0=H0;break}}while(!1);if(o1=Y0+1|0,o0=k0+1|0,O0=(o0|0)==(a|0),O0){i1=Y0,x0=o1;break}else k0=o0,q0=o1}if(c0=(i1|0)>-1,!c0){C=h1;return}for(S0=o+1|0,V0=0,G0=0;;){if(q=(V0|0)<(i1|0),q?(h0=V0+1|0,t0=x+(h0<<2)|0,j=+s[t0>>2],u0=x+(V0<<2)|0,$0=+s[u0>>2],l0=j>$0,l0?(Z=m+(h0<<2)|0,I0=e[Z>>2]|0,T0=I0):n1=17):n1=17,(n1|0)==17&&(n1=0,g0=m+(V0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),d0=(T0|0)>(a|0),F0=d0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(V0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,J0=G0;;)if(y0=t+(J0<<2)|0,e[y0>>2]=Q0,w0=J0+1|0,N0=(w0|0)==(E0|0),N0){z0=E0;break}else J0=w0;else z0=G0;if(B0=V0+1|0,U0=(B0|0)==(x0|0),U0)break;V0=B0,G0=z0}C=h1}function EQ(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0;if(c2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,Z=e[s0>>2]|0,E0=(Z|0)==0,E0?v1=I:(O0=t+504|0,H0=e[O0>>2]|0,A1=H0-m|0,v1=A1),F1=(v1|0)>(I|0),V1=F1?I:v1,F=(V1|0)>0,F)for(T=(d|0)==0,N=(v1|0)<(I|0),G=N?v1:I,q1=0;;){T?O1=9:(a0=d+(q1<<2)|0,W=e[a0>>2]|0,r0=(W|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,J=$+(q1<<2)|0,o0=+s[J>>2],q=g+(q1<<2)|0,h0=+s[q>>2],t0=o0/h0,j=a+(q1<<2)|0,u0=+s[j>>2],c0=u0<0,$0=t0,l0=+qn(+$0),I0=+V7(l0),c0){g0=-I0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{d0=~~I0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(G|0),x1){z1=G;break}else q1=C0}else z1=0;if(V=(z1|0)<(I|0),!V)return w=0,C=c2,+w;for(X=(d|0)!=0,K=o-m|0,Q=0,U1=0,H1=z1;;){X?(S0=d+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,b1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],K0=w0/_0,M0=!(K0<.25),v0=(H1|0)<(K|0),X1=X&v0,n2=M0|X1,n2){k0=a+(H1<<2)|0,V0=+s[k0>>2],F0=V0<0,L0=K0,G0=+qn(+L0),z0=+V7(G0),J0=-z0,x=F0?J0:z0,y=~~x,q0=E+(H1<<2)|0,e[q0>>2]=y,Z0=o5(y,y)|0,P0=+(Z0|0),o1=+s[B0>>2],Y0=P0*o1,s[y0>>2]=Y0,B=Q,b1=U1;break}else{T0=K0+Q,N0=U1+1|0,U0=R+(U1<<2)|0,e[U0>>2]=y0,B=T0,b1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=b1;break}else Q=B,U1=b1,H1=i1}if(x0=(P1|0)==0,x0||(Nu(R,P1,4,9),n1=(P1|0)>0,!n1))return w=S,C=c2,+w;for(h1=$,g1=t+512|0,m1=+l1[g1>>3],b=S,Y1=0;;)if(d1=R+(Y1<<2)|0,u1=e[d1>>2]|0,c1=u1,s1=c1-h1|0,$1=s1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,S1=+s[M1>>2],v=L1,M=k1,j1=S1),D1=E+($1<<2)|0,e[D1>>2]=M,s[u1>>2]=j1,R1=Y1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,Y1=R1;return C=c2,+w}function vb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],m=$d,Q=E&1,B=I-Q|0,B|0}function kb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||p2(t)}function Sb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,K=0;T=e[F>>2]|0,N=T+(K<<2)|0,G=e[N>>2]|0,V=(G|0)==0,V?d=L:(p2(G),o=e[$>>2]|0,d=o),X=K+1|0,g=(X|0)<(d|0),g;)L=d,K=X;if(m=e[F>>2]|0,p2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,p2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,p2(M),p2(t)}}function bb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0;if(d0=C,g=e[t>>2]|0,O2(o,g,24),d=t+4|0,y=e[d>>2]|0,O2(o,y,24),K=t+8|0,q=e[K>>2]|0,h0=q+-1|0,O2(o,h0,24),t0=t+12|0,j=e[t0>>2]|0,u0=j+-1|0,O2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,O2(o,m,8),I=e[t0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,Z=0;;){if(b=Q+(Z<<2)|0,v=e[b>>2]|0,w=O8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(O2(o,x,3),O2(o,1,1),M=e[b>>2]|0,L=M>>3,O2(o,L,5)):O2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(T=a&1,N=T+f0|0,G=a>>>1,V=(G|0)==0,V){g0=N;break}else a=G,f0=N;if(X=g0+$0|0,a0=Z+1|0,W=e[t0>>2]|0,r0=(a0|0)<(W|0),r0)$0=X,Z=a0;else{$=X;break}}if(B=($|0)>0,!!B)for(S=t+280|0,I0=0;s0=S+(I0<<2)|0,J=e[s0>>2]|0,O2(o,J,8),o0=I0+1|0,l0=(o0|0)==($|0),!l0;)I0=o0}}function Db(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0;s1=C,m=le(1,2840)|0,I=t+28|0,M=e[I>>2]|0,W=r4(o,24)|0,e[m>>2]=W,$0=r4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=r4(o,24)|0,Z0=N0+1|0,H0=m+8|0,e[H0>>2]=Z0,o1=r4(o,6)|0,E=o1+1|0,Q=m+12|0,e[Q>>2]=E,B=r4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)c1=26;else{if(v=(o1|0)>-1,v){for(w=m+24|0,i1=0,h1=0;;){if(x=r4(o,3)|0,L=r4(o,1)|0,R=(L|0)<0,R){c1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(T=r4(o,5)|0,N=(T|0)<0,N){c1=26;break e}G=T<<3,V=G|x,x0=V}if(X=w+(h1<<2)|0,e[X>>2]=x0,K=(x0|0)==0,K)u1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,J=(s0|0)==0,J){u1=r0;break}else $=s0,A1=r0;if(o0=u1+i1|0,q=h1+1|0,h0=e[Q>>2]|0,t0=(q|0)<(h0|0),t0)i1=o0,h1=q;else{d=o0;break}}if(D=(d|0)>0,D)for(y=m+280|0,g1=0;;){if(j=r4(o,8)|0,u0=(j|0)<0,u0)break e;if(c0=y+(g1<<2)|0,e[c0>>2]=j,l0=g1+1|0,Z=(l0|0)<(d|0),Z)g1=l0;else{P0=D,Y0=d;break}}else P0=0,Y0=d}else P0=0,Y0=0;if(I0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(I0|0)<(f0|0),n0){if(P0)for(d0=m+280|0,m1=0;;){if(S0=d0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,K0=(_0|0)==0,p0=m1+1|0,K0))break e;if(C0=(p0|0)<(Y0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(I0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,U0=e[T0>>2]|0,O0=e[v0>>2]|0,k0=(O0|0)<1,!k0){for(V0=e[Q>>2]|0,n1=O0,d1=1;;){if(G0=o5(V0,d1)|0,z0=(G0|0)>(U0|0),z0)break e;if(F0=n1+-1|0,L0=(n1|0)>1,L0)n1=F0,d1=G0;else{g=G0;break}}return J0=m+16|0,e[J0>>2]=g,a=m,a|0}}}while(!1);return(c1|0)==26&&(q0=(m|0)==0,q0)?(a=0,a|0):(p2(m),a=0,a|0)}function _b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,d=le(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[d>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,q0=d+4|0,e[q0>>2]=T0,o1=c0+2848|0,Y0=e[o1>>2]|0,I=d+12|0,e[I>>2]=Y0,E=Y0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=d+16|0,e[b>>2]=S,v=e[S>>2]|0,w=le(T0,4)|0,D=d+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,u1=0,I1=0;;){if(R=M+(u1<<2)|0,F=e[R>>2]|0,T=O8(F)|0,N=(T|0)==0,N)h1=i1,Q1=I1;else if(G=(T|0)>(I1|0),$=G?T:I1,V=le(T,4)|0,X=w+(u1<<2)|0,e[X>>2]=V,K=(T|0)>0,K)for(W=e[R>>2]|0,r0=w+(u1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,J=W&s0,o0=(J|0)==0,o0?n1=x0:(q=e[o1>>2]|0,h0=x0+1|0,t0=L+(x0<<2)|0,j=e[t0>>2]|0,u0=q+(j*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,n1=h0),Z=$1+1|0,m1=(Z|0)==(T|0),m1){h1=n1,Q1=$;break}else x0=n1,$1=Z;else h1=i1,Q1=$;if(I0=u1+1|0,g0=(I0|0)<(T0|0),g0)i1=h1,u1=I0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=d+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(d0=o5(p0,T0)|0,C0=A1+1|0,g1=(C0|0)==(v|0),g1){a=d0;break}else p0=d0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=d+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=M9(b0)|0,w0=d+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return d|0;if(_0=v<<2,!n0){for(c1=0;J0=M9(_0)|0,Z0=y0+(c1<<2)|0,e[Z0>>2]=J0,P0=c1+1|0,H0=(P0|0)<(E0|0),H0;)c1=P0;return d|0}for(K0=e[w0>>2]|0,s1=0;;){for(L0=M9(_0)|0,G0=y0+(s1<<2)|0,e[G0>>2]=L0,z0=K0+(s1<<2)|0,V0=e[z0>>2]|0,g=E0,j0=0,B1=s1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,U0=o5(N0,p1)|0,O0=B1-U0|0,k0=V0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,d1=(F0|0)==(v|0),!d1;)g=p1,j0=F0,B1=O0;if(M0=s1+1|0,v0=(M0|0)<(E0|0),v0)s1=M0;else break}return d|0}function xb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||CQ(t,o,a,L,2),0}function Lb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,E=(d|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(d|0),M){T=F;break}else L=y,R=F;return x=(T|0)==0,x||BQ(t,a,$,T,m),0}function Mb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)n1=0,I1=0;else return d=0,d|0;for(;;)if(E=$+(n1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(n1<<2)|0,b0=e[l0>>2]|0,U0=I1+1|0,z0=a+(I1<<2)|0,e[z0>>2]=b0,Q1=U0),J0=n1+1|0,H0=(J0|0)==(g|0),H0){p1=Q1;break}else n1=J0,I1=Q1;if(q0=(p1|0)==0,q0)return d=0,d|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=z8(t,R)|0,T=+(S|0),N=100/T,G=N,V=(p1|0)>0,V)for(X=M<<2,h1=0;J=z8(t,X)|0,o0=F+(h1<<2)|0,e[o0>>2]=J,g4(J|0,0,X|0)|0,q=h1+1|0,x0=(q|0)==(p1|0),!x0;)h1=q;if(K=(M|0)>0,K)for(a0=(S|0)>0,W=v+-1|0,s0=(v|0)>1,g1=0;;){if(h0=o5(g1,S)|0,t0=e[Q>>2]|0,j=t0+h0|0,V)for(d1=0;;){if(a0)for(u0=a+(d1<<2)|0,c0=e[u0>>2]|0,P0=0,u1=0,$1=0;;)if($0=j+u1|0,Z=c0+($0<<2)|0,I0=e[Z>>2]|0,m1=(I0|0)>-1,j0=0-I0|0,g0=m1?I0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+P0|0,d0=u1+1|0,o1=(d0|0)==(S|0),o1){Z0=n0,s1=m;break}else P0=n0,u1=d0,$1=m;else Z0=0,s1=0;p0=+(Z0|0),C0=p0*G,S0=~~C0;e:do if(s0)for(c1=0;;){if(Q0=(Q+2328|0)+(c1<<2)|0,E0=e[Q0>>2]|0,y0=(s1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(c1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,K0=(S0|0)<(B0|0),E1=_0|K0,E1)){A1=c1;break e}if(M0=c1+1|0,v0=(M0|0)<(W|0),v0)c1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(d1<<2)|0,N0=e[T0>>2]|0,O0=N0+(g1<<2)|0,e[O0>>2]=A1,k0=d1+1|0,Y0=(k0|0)==(p1|0),Y0)break;d1=k0}if(V0=g1+1|0,i1=(V0|0)==(M|0),i1)break;g1=V0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,d=F,d|0}function Rb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||CQ(t,o,a,L,3),0}function Fb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,s1=0;else return d=0,d|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,d1=(R|0)!=0,s0=d1&1,A1=s0+s1|0,Z=G0+1|0,V0=(Z|0)==(g|0),V0){c1=A1;break}else G0=Z,s1=A1;if(u1=(c1|0)==0,u1)return d=0,d|0;if(E0=e[o>>2]|0,K0=E0+8|0,M0=e[K0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=z8(t,4)|0,y=w<<2,x=z8(t,y)|0,e[D>>2]=x,g4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,T=(M0|0)>0,N=T0+-1|0,G=(T0|0)>1,V=e[D>>2]|0,X=(g|0)>1,z0=0,Y0=F;;){if(T)for(K=e[a>>2]|0,U0=0,Z0=0,x0=Y0,h1=0;;){if(a0=K+(x0<<2)|0,W=e[a0>>2]|0,J0=(W|0)>-1,g1=0-W|0,r0=J0?W:g1,J=(r0|0)>(h1|0),I=J?r0:h1,X)for(k0=U0,o1=1;;)if(o0=a+(o1<<2)|0,q=e[o0>>2]|0,h0=q+(x0<<2)|0,t0=e[h0>>2]|0,q0=(t0|0)>-1,m1=0-t0|0,j=q0?t0:m1,u0=(j|0)>(k0|0),m=u0?j:k0,c0=o1+1|0,F0=(c0|0)==(g|0),F0){O0=m;break}else k0=m,o1=c0;else O0=U0;if($0=x0+1|0,l0=Z0+g|0,I0=(l0|0)<(M0|0),I0)U0=O0,Z0=l0,x0=$0,h1=I;else{N0=O0,i1=$0,n1=I;break}}else N0=0,i1=Y0,n1=0;e:do if(G)for(H0=0;;){if(g0=(E0+2328|0)+(H0<<2)|0,f0=e[g0>>2]|0,n0=(n1|0)>(f0|0),!n0&&(d0=(E0+2584|0)+(H0<<2)|0,p0=e[d0>>2]|0,C0=(N0|0)>(p0|0),!C0)){P0=H0;break e}if(S0=H0+1|0,Q0=(S0|0)<(N|0),Q0)H0=S0;else{P0=S0;break}}else P0=0;while(!1);if(b0=V+(z0<<2)|0,e[b0>>2]=P0,y0=z0+1|0,L0=(y0|0)==(w|0),L0)break;z0=y0,Y0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,d=D,d|0}function Tb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0;if(c0=C,C=C+16|0,j=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=d<<2,T=o5(F,R)|0,N=z8(o,T)|0,e[j>>2]=N,G=(d|0)>0,!G)return C=c0,0;for(V=(Q|0)>1,W=0,t0=0;;){if(X=$+(W<<2)|0,K=e[X>>2]|0,B=g+(W<<2)|0,S=e[B>>2]|0,J=(S|0)!=0,b=J&1,q=b+t0|0,V)for(r0=0,s0=W;v=K+(r0<<2)|0,w=e[v>>2]|0,D=N+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+d|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=W+1|0,a0=(L|0)==(d|0),a0){h0=q;break}else W=L,t0=q}return o0=(h0|0)==0,o0?(C=c0,0):(BQ(t,a,j,1,m),C=c0,0)}function Nb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,U0=t+36|0,P0=e[U0>>2]|0,u1=o5(P0,g)|0,A1=u1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),d=S?B:A1,b=e[I>>2]|0,v=d-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=z8(t,R)|0,T=(g|0)>0;e:do if(T)for(s1=0;;){if(N=$+(s1<<2)|0,G=e[N>>2]|0,V=(G|0)==0,!V){c1=s1;break e}if(X=s1+1|0,K=(X|0)<(g|0),K)s1=X;else{c1=X;break}}else c1=0;while(!1);if(a0=(c1|0)==(g|0),a0||(W=o+8|0,s0=e[W>>2]|0,J=(s0|0)>0,!J))return 0;o0=(D|0)>0,q=t+4|0,h0=I+16|0,t0=o+28|0,j=(b0|0)>0,u0=o+20|0,d1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,I0=tE(Z,q)|0,g0=(I0|0)==-1,g0){v1=23;break e}if(f0=e[h0>>2]|0,n0=(I0|0)<(f0|0),!n0){v1=23;break e}if(d0=e[t0>>2]|0,p0=d0+(I0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=j&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,K0=(I+24|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,O0=N0+(_0<<2)|0,k0=e[O0>>2]|0,V0=k0+(w1<<2)|0,F0=e[V0>>2]|0,L0=(F0|0)==0,!L0&&(G0=o5(E1,L)|0,z0=e[I>>2]|0,J0=z0+G0|0,q0=HS(F0,a,J0,g,q,L)|0,Z0=(q0|0)==-1,Z0))){v1=23;break e}if(H0=I1+1|0,o1=E1+1|0,Y0=(H0|0)<(b0|0),i1=(o1|0)<(D|0),p1=Y0&i1,p1)E1=o1,I1=H0;else{j0=o1;break}}else j0=$1;if(x0=Q1+1|0,n1=(j0|0)<(D|0),n1)$1=j0,Q1=x0;else break}m=e[W>>2]|0,m1=m}else m1=d1;if(h1=w1+1|0,g1=(h1|0)<(m1|0),g1)d1=m1,w1=h1;else{v1=23;break}}return(v1|0)==23,0}function CQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,J=o+16|0,I0=e[J>>2]|0,y0=e[I0>>2]|0,k0=t+36|0,o1=e[k0>>2]|0,c1=o1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(c1|0),d=b?S:c1,v=e[Q>>2]|0,w=d-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,T=R+y|0,N=(T|0)/(y0|0)&-1,G=N<<2,U1=0;h0=z8(t,G)|0,t0=M+(U1<<2)|0,e[t0>>2]=h0,j=U1+1|0,M1=(j|0)==($|0),!M1;)U1=j;if(V=o+8|0,X=e[V>>2]|0,K=(X|0)>0,!K){C=X1;return}a0=(y|0)>0,W=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,q=o+20|0,E=L^1,Y1=0;e:for(;;){if(a0)for(u0=1<>2]|0,Y0=tE(H0,W)|0,i1=(Y0|0)==-1,i1){V1=25;break e}if(x0=e[r0>>2]|0,n1=(Y0|0)<(x0|0),!n1){V1=25;break e}if(h1=e[s0>>2]|0,g1=h1+(Y0<<2)|0,m1=e[g1>>2]|0,d1=M+(b1<<2)|0,u1=e[d1>>2]|0,A1=u1+(x1<<2)|0,e[A1>>2]=m1,s1=(m1|0)==0,Z0=b1+1|0,s1){V1=25;break e}if(P0=(Z0|0)<($|0),P0)b1=Z0;else break}c0=(S1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=S1,G1=0;else for(R1=S1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),z1=E1&I1,z1)R1=j0,Z1=$1;else{D1=j0;break t}for(;;){for(d0=o5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+d0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,K0=(_0|0)==0,!K0&&(M0=e[q>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(Y1<<2)|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0&&(V0=a+(P1<<2)|0,F0=e[V0>>2]|0,L0=F0+(n0<<2)|0,G0=wC[g&3](U0,L0,W,F)|0,z0=(G0|0)==-1,z0))){V1=25;break e}if(J0=P1+1|0,q0=(J0|0)<($|0),q0)P1=J0;else break}if($0=G1+1|0,l0=F1+1|0,Z=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=Z&g0,q1)F1=l0,G1=$0;else{D1=l0;break}}}else D1=S1;while(!1);if(Q1=x1+1|0,p1=(D1|0)<(y|0),p1)S1=D1,x1=Q1;else break}if(B1=Y1+1|0,w1=e[V>>2]|0,v1=(B1|0)<(w1|0),v1)Y1=B1;else{V1=25;break}}if((V1|0)==25){C=X1;return}}function BQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,G5=Q6+1024|0,K6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,$2=e[x>>2]|0,V2=y+12|0,j2=e[V2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,d3=y+4|0,q3=e[d3>>2]|0,M=e[y>>2]|0,W=q3-M|0,$0=(W|0)/($2|0)&-1,g4(K6|0,0,512)|0,g4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(d1=($0|0)>0,B1=($|0)>0,b1=(f5|0)>1,n2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(d1){for(N2=(c6|0)==0,L2=1<>2]|0,q5=x5+(Z5<<2)|0,L5=e[q5>>2]|0,Y2=e[Q5>>2]|0,p5=Y2+4|0,$5=e[p5>>2]|0,u5=(L5|0)<($5|0),u5&&(y5=Fu(Y2,L5,t)|0,D5=e[n2>>2]|0,h5=D5+y5|0,e[n2>>2]=h5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(L3<<2)|0,I5=e[b2>>2]|0,B5=I5+(Z5<<2)|0,s5=e[B5>>2]|0,C6=1,A6=s5;;)if(t5=o5(A6,j2)|0,F5=C6+Z5|0,i5=(F5|0)<($0|0),i5?(_5=I5+(F5<<2)|0,b5=e[_5>>2]|0,Y5=b5+t5|0,D6=Y5):D6=t5,g5=C6+1|0,_3=(g5|0)==(f5|0),_3){U6=D6;break}else C6=g5,A6=D6;if(W2=e[Q5>>2]|0,P2=W2+4|0,G2=e[P2>>2]|0,q2=(U6|0)<(G2|0),q2&&(Z2=Fu(W2,U6,t)|0,A5=e[n2>>2]|0,H2=A5+Z2|0,e[n2>>2]=H2),N1=L3+1|0,S3=(N1|0)==($|0),S3)break;L3=N1}}while(!1);if(R2=(Z5|0)<($0|0),F6=i2&R2,F6){for(M2=Z5-$0|0,y2=M2>>>0>>0,Y6=y2?Q2:M2,T5=0-Y6|0,h6=Z5,z3=0;;){if(X2=o5(h6,$2)|0,g2=e[y>>2]|0,w5=g2+X2|0,B1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,d5=a5+(h6<<2)|0,z2=e[d5>>2]|0,N2&&(n5=A3+(z2<<2)|0,M5=e[n5>>2]|0,e5=M5+$2|0,e[n5>>2]=e5),c5=(y+24|0)+(z2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,J5=(v5|0)==0,!J5&&(i3=e[D2>>2]|0,E5=i3+(z2<<2)|0,I3=e[E5>>2]|0,K5=I3+(c6<<2)|0,r3=e[K5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,N5=e[B3>>2]|0,W5=e[r3>>2]|0,D3=($2|0)/(W5|0)&-1,f3=(D3|0)>0,f3){for(y3=r3+48|0,X3=r3+52|0,X5=r3+44|0,b3=r3+12|0,t3=r3+4|0,L=W5,S5=0,h3=0;;){s6=o5(h3,W5)|0,b=s6+w5|0,T3=N5+(b<<2)|0,H3=e[y3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(G=g3+-1|0,m3=0,S6=0,K3=L;;)if(C0=K3+-1|0,D=b+C0|0,S0=N5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-H3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(K0=E0-u3|0,M0=K0<<1,T0=M0),v0=o5(S6,g3)|0,U0=(T0|0)<0,O0=(T0|0)>=(g3|0),k0=O0?G:T0,V0=U0?0:k0,F0=V0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,K3=C0}else{if(!R){r6=0;break}for(F=c3>>1,T=F-H3|0,N=g3+-1|0,x3=0,R6=0,M3=L;;)if(V=M3+-1|0,w=b+V|0,X=N5+(w<<2)|0,K=e[X>>2]|0,a0=T+K|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(J=u3-r0|0,o0=J<<1,q=o0+-1|0,u0=q):(h0=r0-u3|0,t0=h0<<1,u0=t0),j=o5(R6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),Z=l0?N:u0,I0=c0?0:Z,g0=I0+j|0,f0=o5(r0,c3)|0,n0=f0+H3|0,d0=o3+(V<<2)|0,e[d0>>2]=n0,p0=x3+1|0,V3=(p0|0)==(L|0),V3){r6=g0;break}else x3=p0,R6=g0,M3=V}while(!1);z0=e[b3>>2]|0,J0=z0+8|0,q0=e[J0>>2]|0,P0=q0+r6|0,H0=f[P0>>0]|0,o1=H0<<24>>24<1;do if(o1){if(e[G5>>2]=0,e[G5+4>>2]=0,e[G5+8>>2]=0,e[G5+12>>2]=0,e[G5+16>>2]=0,e[G5+20>>2]=0,e[G5+24>>2]=0,e[G5+28>>2]=0,Y0=g3+-1|0,i1=o5(Y0,c3)|0,x0=i1+H3|0,n1=e[t3>>2]|0,h1=(n1|0)>0,h1)z5=-1,L6=0,d6=r6;else{G6=r6;break}for(;;){g1=q0+L6|0,m1=f[g1>>0]|0,u1=m1<<24>>24>0;do if(u1){if(R)for(X6=0,R3=0;;)if(A1=G5+(X6<<2)|0,c1=e[A1>>2]|0,v=b+X6|0,s1=N5+(v<<2)|0,$1=e[s1>>2]|0,j0=c1-$1|0,E1=o5(j0,j0)|0,I1=E1+R3|0,Q1=X6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else X6=Q1,R3=I1;else B6=0;if(p1=(z5|0)==-1,w1=(B6|0)<(z5|0),e6=p1|w1,!e6){H5=z5,b6=d6;break}e[o3>>2]=e[G5>>2]|0,e[o3+4>>2]=e[G5+4>>2]|0,e[o3+8>>2]=e[G5+8>>2]|0,e[o3+12>>2]=e[G5+12>>2]|0,e[o3+16>>2]=e[G5+16>>2]|0,e[o3+20>>2]=e[G5+20>>2]|0,e[o3+24>>2]=e[G5+24>>2]|0,e[o3+28>>2]=e[G5+28>>2]|0,H5=B6,b6=L6}else H5=z5,b6=d6;while(!1);if(v1=e[G5>>2]|0,k1=(v1|0)<(x0|0),k1)m=G5,I=v1;else for(M1=G5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,S1=G5+(L1<<2)|0,D1=e[S1>>2]|0,R1=(D1|0)<(x0|0),R1){m=S1,I=D1;break}else M1=S1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=L6+1|0,n3=(G1|0)==(n1|0),n3){G6=b6;break}else z5=H5,L6=G1,d6=b6}}else G6=r6;while(!1);if(x1=(G6|0)>-1,l6=R&x1,l6)for(d=T3,M6=0;z1=o3+(M6<<2)|0,q1=e[z1>>2]|0,H1=d+4|0,Y1=e[d>>2]|0,V1=Y1-q1|0,e[d>>2]=V1,X1=M6+1|0,l3=(X1|0)==(L|0),!l3;)d=H1,M6=X1;if(j1=Fu(r3,G6,t)|0,O1=j1+S5|0,c2=h3+1|0,N3=(c2|0)==(D3|0),N3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,h3=c2}B=e[r5>>2]|0,E2=B,V5=E}else E2=a5,V5=0;W1=e[S2>>2]|0,d2=W1+V5|0,e[S2>>2]=d2,s2=E2+(h6<<2)|0,a2=e[s2>>2]|0,K1=K6+(a2<<2)|0,h2=e[K1>>2]|0,l2=h2+V5|0,e[K1>>2]=l2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if(A2=z3+1|0,e2=h6+1|0,k3=(A2|0)==(T5|0),k3)break;h6=e2,z3=A2}U2=Z5-Y6|0,J3=U2}else J3=Z5;if(m2=(J3|0)<($0|0),m2)Z5=J3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(o2=c6+1|0,f2=(o2|0)<(t2|0),f2)k2=t2,c6=o2;else break}C=Q6}function O8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){m=g;break}else o=$,I=g;return m|0}function QQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0;h2=C,C=C+144|0,O1=h2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=M9(R)|0,g4(O1|0,0,132)|0,Z=(o|0)>0;do if(Z){E0=O1+4|0,O0=(a|0)==0,H0=O0&1,v1=0,b1=0;e:for(;;){A1=t+b1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,c2=w|y,!c2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(J=v,o0=M,z1=B;;){if(r0=J+1|0,e[o0>>2]=r0,q=z1+-1|0,h0=(z1|0)>1,!h0)break i;if(d=O1+(q<<2)|0,I=e[d>>2]|0,t0=O1+(q<<2)|0,j=I&1,u0=(j|0)==0,u0)J=I,o0=t0,z1=q;else{g=t0,x1=q,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(x1|0)==1,N){G=e[E0>>2]|0,V=G+1|0,e[E0>>2]=V;break}else{X=x1+-1|0,K=O1+(X<<2)|0,a0=e[K>>2]|0,W=a0<<1,e[g>>2]=W;break}while(!1);if(V1=B+1|0,T=(V1|0)<33,T)for(R1=v,H1=B,X1=V1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,I0=(l0|0)==(R1|0),!I0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,d0=(q1|0)<33,d0)Y1=X1,R1=$0,X1=q1,H1=Y1;else{m=1;break}}else m=1}else m=H0;while(!1);if(k1=v1+m|0,p0=b1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,b1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return p2(s0),$=0,C=h2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,P0=e[Z0>>2]|0,o1=32-P1|0,Y0=-1>>>o1,i1=P0&Y0,x0=(i1|0)==0,J0=P1+1|0,!!x0;)if(q0=(J0|0)<33,q0)P1=J0,K1=27;else break e;return p2(s0),$=0,C=h2,$|0}while(!1);if(!Z)return $=s0,C=h2,$|0;if(E)S1=0,G1=0;else{for(M1=0,Z1=0;;){if(n1=t+Z1|0,h1=f[n1>>0]|0,g1=h1<<24>>24>0,g1)for(m1=s0+(M1<<2)|0,d1=e[m1>>2]|0,u1=h1<<24>>24,n2=0,E2=0;;)if(c1=E2<<1,s1=d1>>>n2,$1=s1&1,j0=$1|c1,E1=n2+1|0,I1=(E1|0)<(u1|0),I1)n2=E1,E2=j0;else{d2=j0;break}else d2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=d2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=h2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(z0=s0+(S1<<2)|0,U0=e[z0>>2]|0,G0=w0<<24>>24,j1=0,a2=0;;)if(T0=a2<<1,N0=U0>>>j1,k0=N0&1,V0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,a2=V0;else{s2=V0;break}else s2=0;if(_0=w0<<24>>24==0,_0?D1=S1:(K0=S1+1|0,M0=s0+(S1<<2)|0,e[M0>>2]=s2,D1=K0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else S1=D1,G1=v0}return C=h2,$|0}function Gb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,T=+Lu(+M,+F),d=+tA(+T),m=~~d,K=m;;){for(b=K+1|0,N=1,G=1,V=0;;)if(B=o5(N,K)|0,S=o5(G,b)|0,v=V+1|0,w=(v|0)<(D|0),w)N=B,G=S,V=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),X=I&E,X){r0=K;break}Q=(o|0)>(g|0),W=Q?-1:1,a0=K+W|0,K=a0}return r0|0}function Ub(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return d=0,d|0;if(Y0=t+16|0,s1=e[Y0>>2]|0,L1=s1&2097151,x1=+(L1|0),W1=s1>>>21,A2=W1&1023,U2=(s1|0)<0,t5=-x1,$=U2?t5:x1,S=A2+-788|0,T=+nE($,S),o0=T,g0=t+20|0,w0=e[g0>>2]|0,V0=w0&2097151,Z0=+(V0|0),P0=w0>>>21,H0=P0&1023,o1=(w0|0)<0,i1=-Z0,g=o1?i1:Z0,x0=H0+-788|0,n1=+nE(g,x0),h1=n1,g1=e[t>>2]|0,m1=o5(g1,o)|0,d1=le(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(g1|0)>0,!k1)for(;;);for(M1=+(v1|0),S1=M1,D1=+(g1|0),R1=1/D1,F1=R1,U1=+Lu(+S1,+F1),b1=+tA(+U1),P1=~~b1,c5=P1;;){for(d2=c5+1|0,s5=1,R2=1,p5=0;;)if(O1=o5(s5,c5)|0,c2=o5(R2,d2)|0,s2=p5+1|0,m5=(s2|0)==(g1|0),m5){m=O1,I=c2;break}else s5=O1,R2=c2,p5=s2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),e5=j1?-1:1,M5=e5+c5|0,c5=M5}if(z1=(v1|0)>0,!z1)return d=d1,d|0;for(q1=(a|0)==0,H1=t+8|0,Y1=t+32|0,V1=h1,X1=o0,n2=t+28|0,M2=0,T1=0;;){if(q1)if($2=e[Y1>>2]|0,i2=e[n2>>2]|0,l2=(i2|0)==0,r2=o5(g1,M2)|0,l2)for(y5=1,X2=0;;)if(_5=(T1|0)/(y5|0)&-1,j2=(_5|0)%(F2|0)&-1,I5=$2+(j2<<2)|0,b5=e[I5>>2]|0,Y5=+(b5|0),Y2=+tr(+Y5),g5=Y2,b2=g5*V1,B5=X1+b2,b=B5,v=r2+X2|0,w=d1+(v<<2)|0,s[w>>2]=b,D=o5(y5,F2)|0,y=X2+1|0,x=(y|0)<(g1|0),x)y5=D,X2=y;else{v5=21;break}else for($5=1,h5=0,r5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=$2+(L<<2)|0,F=e[R>>2]|0,N=+(F|0),q5=+tr(+N),G=q5,V=G*V1,X=r5,K=X+X1,a0=K+V,W=a0,r0=r2+h5|0,s0=d1+(r0<<2)|0,s[s0>>2]=W,J=o5($5,F2)|0,q=h5+1|0,h0=(q|0)<(g1|0),h0)$5=J,h5=q,r5=W;else{v5=21;break}else if(E2=e[H1>>2]|0,a2=E2+T1|0,K1=f[a2>>0]|0,h2=K1<<24>>24==0,h2)y2=M2;else for(e2=e[Y1>>2]|0,o2=e[n2>>2]|0,f2=(o2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=o5(k2,g1)|0,u5=1,l5=0,a5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,N2=e2+(Q2<<2)|0,L2=e[N2>>2]|0,m2=+(L2|0),L5=+tr(+m2),W2=L5,P2=W2*V1,V2=a5,G2=V2+X1,q2=G2+P2,Z2=q2,w5=f2?a5:Z2,A5=D2+l5|0,H2=d1+(A5<<2)|0,s[H2>>2]=Z2,N1=o5(u5,F2)|0,F5=l5+1|0,i5=(F5|0)<(g1|0),i5)u5=N1,l5=F5,a5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,t0=M2+1|0,y2=t0),j=T1+1|0,u0=(j|0)<(v1|0),u0)M2=y2,T1=j;else{d=d1;break}}return d|0}else if((B|0)==2){if(u1=t+4|0,A1=e[u1>>2]|0,c1=(A1|0)>0,!c1)return d=d1,d|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=h1,Q1=o0,p1=t+28|0,B1=(g1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,Z=l0<<24>>24==0,Z?T5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(I0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,d0=a+(Q5<<2)|0,p0=o5(g1,D5)|0,C0=o5(g1,Q5)|0,g2=0,z2=0;S0=p0+g2|0,Q0=I0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),x5=+tr(+E0),y0=x5,B0=y0*I1,_0=z2,K0=_0+Q1,M0=K0+B0,v0=M0,d5=n0?z2:v0,$1?(T0=e[d0>>2]|0,N0=o5(T0,g1)|0,U0=N0+g2|0,O0=d1+(U0<<2)|0,s[O0>>2]=v0):(k0=C0+g2|0,F0=d1+(k0<<2)|0,s[F0>>2]=v0),L0=g2+1|0,G0=(L0|0)<(g1|0),G0;)g2=L0,z2=d5;z0=Q5+1|0,T5=z0}if(J0=D5+1|0,q0=(J0|0)<(A1|0),q0)Q5=T5,D5=J0;else{d=d1;break}}return d|0}else return d=d1,d|0;return 0}function CC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,m=(d|0)==0,m||p2(d),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||p2(E),p2(t))}function Pb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||p2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||p2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||p2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||p2($),d=t+32|0,m=e[d>>2]|0,I=(m|0)==0,I||p2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function yQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;P0=C,q0=t,H0=q0+56|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,W=t+4|0,e[W>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,K0=e[_0>>2]|0,M0=QQ(K0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Lu(+b,+D),x=+tA(+y),L=~~x,z0=L;;){for(V=z0+1|0,T0=1,N0=1,O0=0;;)if(N=o5(T0,z0)|0,G=o5(N0,V)|0,X=O0+1|0,U0=(X|0)==(Q|0),U0){g=N,d=G;break}else T0=N,N0=G,O0=X;if(R=(g|0)<=(E|0),F=(d|0)>(E|0),k0=F&R,k0){J0=z0;break}T=(g|0)>(E|0),G0=T?-1:1,L0=G0+z0|0,z0=L0}return K=t+44|0,e[K>>2]=J0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,J=+(s0|0),o0=r0>>>21,q=o0&1023,h0=(r0|0)<0,t0=-J,a=h0?t0:J,j=q+-788|0,u0=+nE(a,j),c0=u0,V0=+DQ(c0),l0=~~V0,Z=t+48|0,e[Z>>2]=l0,I0=o+20|0,g0=e[I0>>2]|0,f0=g0&2097151,n0=+(f0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+nE($,b0),y0=E0,F0=+DQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function Ob(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;U3=C,_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));if(b=o+4|0,v=e[b>>2]|0,E2=(v|0)>0,E2)for(Y2=o+8|0,w5=e[Y2>>2]|0,z3=0,U6=0;;)if(v5=w5+z3|0,W5=f[v5>>0]|0,H3=W5<<24>>24>0,$6=H3&1,E=$6+U6|0,Z5=z3+1|0,w=(Z5|0)<(v|0),w)z3=Z5,U6=E;else{d0=E;break}else d0=0;if(V=t+4|0,e[V>>2]=v,t0=t+8|0,e[t0>>2]=d0,K0=e[o>>2]|0,e[t>>2]=K0,G0=(d0|0)>0,!G0)return $=0,C=U3,$|0;if(n1=o+8|0,E1=e[n1>>2]|0,D1=QQ(E1,v,d0)|0,H1=d0<<2,d=H1,a2=C,C=C+((1*d|0)+15&-16)|0,t2=(D1|0)==0,t2){q2=t+16|0,Z2=e[q2>>2]|0,A5=(Z2|0)==0,A5||p2(Z2),H2=t+20|0,N1=e[H2>>2]|0,t5=(N1|0)==0,t5||p2(N1),F5=t+24|0,i5=e[F5>>2]|0,_5=(i5|0)==0,_5||p2(i5),I5=t+28|0,b5=e[I5>>2]|0,Y5=(b5|0)==0,Y5||p2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||p2(b2),_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));return $=-1,C=U3,$|0}else M3=0;for(;V2=D1+(M3<<2)|0,j2=e[V2>>2]|0,Q5=j2>>>16,T5=j2<<16,m5=Q5|T5,x5=m5>>>8,q5=x5&16711935,L5=m5<<8,p5=L5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,h5=y5|D5,l5=h5>>>2,X2=l5&858993459,g2=h5<<2,r5=g2&-858993460,a5=X2|r5,d5=a5>>>1,z2=d5&1431655765,f5=a5<<1,n5=f5&-1431655766,M5=z2|n5,e[V2>>2]=M5,e5=a2+(M3<<2)|0,e[e5>>2]=V2,c5=M3+1|0,X6=(c5|0)==(d0|0),!X6;)M3=c5;for(Nu(a2,d0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,J5=M9(H1)|0,i3=t+20|0,e[i3>>2]=J5,E5=D1,K3=0;;)if(I3=a2+(K3<<2)|0,d3=e[I3>>2]|0,K5=d3,r3=K5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=K3,N5=K3+1|0,G6=(N5|0)==(d0|0),G6){e6=0;break}else K3=N5;for(;D3=D1+(e6<<2)|0,f3=e[D3>>2]|0,y3=F2+(e6<<2)|0,X3=e[y3>>2]|0,q3=J5+(X3<<2)|0,e[q3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(d0|0),!b6;)e6=X5;if(p2(D1),b3=Ub(o,d0,F2)|0,t3=t+16|0,e[t3>>2]=b3,s6=M9(H1)|0,T3=t+24|0,e[T3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[n1>>2]|0,F6=0,Q6=0;;)if(u3=Q+F6|0,Q3=f[u3>>0]|0,z5=Q3<<24>>24>0,z5?(H5=Q6+1|0,V5=F2+(Q6<<2)|0,S5=e[V5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=F6,e9=H5):e9=Q6,G5=F6+1|0,n3=(G5|0)<(c3|0),n3)F6=G5,Q6=e9;else{t9=e9;break}else t9=0;if(l3=M9(t9)|0,N3=t+28|0,e[N3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[n1>>2]|0,s5=0,_3=B,l6=0,n9=0;;)if(k3=_3+l6|0,S3=f[k3>>0]|0,a6=S3<<24>>24>0,a6?(i6=n9+1|0,V3=F2+(n9<<2)|0,x3=e[V3>>2]|0,h3=e[N3>>2]|0,J3=h3+x3|0,f[J3>>0]=S3,h6=e[n1>>2]|0,m3=h6+l6|0,L6=f[m3>>0]|0,M6=L6<<24>>24,R6=e[E6>>2]|0,S6=(M6|0)>(R6|0),S6?(e[E6>>2]=M6,R2=M6,M2=h6,V6=i6):(R2=R6,M2=h6,V6=i6)):(R2=s5,M2=_3,V6=n9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)s5=R2,_3=M2,l6=r6,n9=V6;else{I=R2,s9=V6;break}if(x=(s9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=le(2,4)|0,F=t+32|0,e[F>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,$=0,C=U3,$|0;G3=1}else G3=s9}else G3=0;if(N=e[t0>>2]|0,G=(N|0)==0,G)P6=-4;else{for(g=N,J6=0;;)if(X=g>>>1,K=J6+1|0,a0=(X|0)==0,a0){T6=J6;break}else g=X,J6=K;c9=T6+-3|0,P6=c9}if(W=t+36|0,r0=(P6|0)<5,a=r0?5:P6,s0=(a|0)>8,i9=s0?8:a,e[W>>2]=i9,J=1<>2]=o0,h0=(G3|0)>0,h0)for(l0=i9,o3=0;;){if(j=e[N3>>2]|0,u0=j+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,Z=(l0|0)<($0|0),Z)y2=l0;else if(I0=e[i3>>2]|0,g0=I0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,U0=v0<<2,O0=U0&-858993460,k0=N0|O0,V0=k0>>>1,F0=V0&1431655765,L0=k0<<1,z0=L0&-1431655766,J0=F0|z0,q0=l0-$0|0,Z0=(q0|0)==31,Z0)y2=l0;else for(P0=o3+1|0,o1=$0,A3=0;;)if(H0=A3<>2]=P0,x0=A3+1|0,h1=e[W>>2]|0,g1=f[u0>>0]|0,m1=g1<<24>>24,d1=h1-m1|0,u1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,S1=k1<<8,R1=S1&-16711936,F1=M1|R1,U1=F1>>>4,b1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=b1|Z1,x1=G1>>>2,z1=x1&858993459,q1=G1<<2,Y1=q1&-858993460,V1=z1|Y1,X1=V1>>>1,n2=X1&1431655765,j1=V1<<1,O1=j1&-1431655766,c2=n2|O1,W1=o0+(c2<<2)|0,d2=e[W1>>2]|0,s2=(d2|0)==0,s2){for(B6=c6;;){if(K1=B6+1|0,h2=(K1|0)<(G3|0),!h2){R3=B6;break}if($2=e[i3>>2]|0,i2=$2+(K1<<2)|0,l2=e[i2>>2]|0,r2=l2>>>0>B1>>>0,r2){R3=B6;break}else B6=K1}A2=(G3|0)>(v6|0);e:do if(A2)for(e2=e[i3>>2]|0,n6=v6;;){if(o2=e2+(n6<<2)|0,f2=e[o2>>2]|0,k2=f2&j0,D2=B1>>>0>>0,D2){L3=n6;break e}if(S2=n6+1|0,Q2=(G3|0)>(S2|0),Q2)n6=S2;else{L3=S2;break}}else L3=v6;while(!1);N2=G3-L3|0,L2=R3>>>0>32767,U2=N2>>>0>32767,C6=U2?32767:N2,Y6=R3<<15,A6=Y6|-2147483648,m2=L2?-1073774592:A6,W2=m2|C6,e[W1>>2]=W2,o6=L3,D6=R3}else o6=v6,D6=c6;if(P2=K6+1|0,G2=(P2|0)<(J|0),!G2){$=0;break}S=e[W>>2]|0,p1=S,v6=o6,K6=P2,c6=D6}return C=U3,$|0}function qb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$>>>0>d>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function Hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0;if(K0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,J=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,Z=l0+4|0,I0=e[Z>>2]|0,g0=(I0|0)>0,!!g0)){for(f0=I0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=o5(D,w)|0,x=v+-1|0,M=o5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(K=(R|0)==0,a=E+L|0,a0=J+(a<<2)|0,K){SQ(D,w,o,J,a0),y0=0;break}else{SQ(D,w,J,o,a0),y0=R;break}else if((v|0)==4)if(T=L+D|0,N=(R|0)==0,$=E+L|0,G=J+($<<2)|0,g=E+T|0,V=J+(g<<2)|0,d=E+D|0,m=d+T|0,X=J+(m<<2)|0,N){kQ(D,w,o,J,G,V,X),y0=0;break}else{kQ(D,w,J,o,G,V,X),y0=R;break}else if(W=(D|0)==1,b0=W?E0:R,r0=(b0|0)==0,I=E+L|0,s0=J+(I<<2)|0,r0){bQ(D,v,w,y,o,o,o,J,J,s0),y0=1;break}else{bQ(D,v,w,y,J,J,J,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,d0=(o0|0)==(I0|0),d0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(q=(w0|0)!=1,h0=(Q|0)>0,B0=h0&q,B0)p0=0;else return;for(;t0=J+(p0<<2)|0,j=e[t0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=j,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function wQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=le(m,4)|0,M=t+4|0,e[M>>2]=I,W=le(32,4)|0,$0=t+8|0,e[$0>>2]=W,Q0=(o|0)==1,!Q0){K0=W+8|0,Y0=-1,g1=0,m1=o,u1=0;e:for(;;)for(M0=Y0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=u1+2|0,A1=Q),B=(A1|0)!=2,q0=g1,d1=m1;;){if(z0=q0+1|0,S=(d1|0)/(A1|0)&-1,b=o5(S,A1)|0,v=(d1|0)==(b|0),!v){Y0=M0,g1=q0,m1=d1,u1=A1;continue e}if(w=q0+2|0,D=W+(w<<2)|0,e[D>>2]=A1,y=(q0|0)==0,c1=B|y,!c1){if(x=(q0|0)<1,!x)for(F0=1;L=z0-F0|0,R=L+1|0,F=W+(R<<2)|0,T=e[F>>2]|0,N=L+2|0,G=W+(N<<2)|0,e[G>>2]=T,V=F0+1|0,k0=(V|0)==(z0|0),!k0;)F0=V;e[K0>>2]=2}if(X=(S|0)==1,X){a=y,J0=z0,Z0=q0;break e}else q0=z0,d1=S}if(e[W>>2]=o,K=W+4|0,e[K>>2]=J0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,s1=s0&$,!!s1)for(J=o+1|0,P0=0,x0=0,n1=1;;){if(o0=x0+2|0,q=W+(o0<<2)|0,h0=e[q>>2]|0,t0=o5(h0,n1)|0,j=(o|0)/(t0|0)&-1,u0=(h0|0)>1,u0){for(c0=(j|0)>2,l0=h0+-1|0,o1=P0,i1=0,h1=0;;){if(Z=h1+n1|0,I0=+(Z|0),g0=I0*r0,c0)for(V0=0,L0=o1,G0=2;f0=V0+1,n0=g0*f0,N0=+iA(+n0),g=L0+o|0,d0=I+(g<<2)|0,s[d0>>2]=N0,$1=+Hn(+n0),p0=L0+2|0,d=J+L0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(j|0),b0;)V0=f0,L0=p0,G0=S0;if(E0=o1+j|0,y0=i1+1|0,U0=(y0|0)==(l0|0),U0)break;o1=E0,i1=y0,h1=Z}w0=o5(j,l0)|0,B0=w0+P0|0,H0=B0}else H0=P0;if(_0=x0+1|0,O0=(_0|0)==(Z0|0),O0)break;P0=H0,x0=_0,n1=t0}}}function vQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||p2($),d=t+8|0,m=e[d>>2]|0,I=(m|0)==0,I||p2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function kQ(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,V1=t<<2,K1=V1+-1|0,k2=t<<1,g2=0,a5=I,f5=F1,e5=0,c5=E;G2=a+(a5<<2)|0,I5=+s[G2>>2],T5=a+(f5<<2)|0,Q=+s[T5>>2],R=Q+I5,s0=a+(e5<<2)|0,Z=+s[s0>>2],E0=a+(c5<<2)|0,O0=+s[E0>>2],H0=O0+Z,A1=H0+R,E1=e5<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=H0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,S1=M1+-1|0,D1=$+(S1<<2)|0,s[D1>>2]=L1,R1=+s[T5>>2],U1=+s[G2>>2],b1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=b1,Z1=a5+t|0,G1=f5+t|0,x1=e5+t|0,z1=c5+t|0,q1=g2+1|0,h5=(q1|0)==(o|0),!h5;)g2=q1,a5=Z1,f5=G1,e5=x1,c5=z1;if(H1=(t|0)<2,!H1){if(Y1=(t|0)==2,!Y1){if(Q1)for(X1=t<<1,w5=0,d5=0;;){for(n0=d5<<2,d0=n0+X1|0,X2=2,n5=d5,F2=n0,J5=d0;O1=n5+2|0,c2=F2+2|0,W1=J5+-2|0,d2=O1+I|0,s2=X2+-2|0,E2=g+(s2<<2)|0,a2=+s[E2>>2],h2=d2+-1|0,$2=a+(h2<<2)|0,i2=+s[$2>>2],l2=i2*a2,r2=X2+-1|0,A2=g+(r2<<2)|0,e2=+s[A2>>2],o2=a+(d2<<2)|0,f2=+s[o2>>2],t2=f2*e2,D2=t2+l2,S2=f2*a2,Q2=e2*i2,N2=S2-Q2,L2=d2+I|0,U2=d+(s2<<2)|0,m2=+s[U2>>2],W2=L2+-1|0,P2=a+(W2<<2)|0,V2=+s[P2>>2],q2=V2*m2,Z2=d+(r2<<2)|0,A5=+s[Z2>>2],H2=a+(L2<<2)|0,N1=+s[H2>>2],t5=N1*A5,F5=t5+q2,i5=N1*m2,_5=A5*V2,j2=i5-_5,b5=L2+I|0,Y5=m+(s2<<2)|0,g5=+s[Y5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,s5=+s[B5>>2],R2=s5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],x5=m5*y2,q5=x5+R2,L5=m5*g5,Y2=y2*s5,p5=L5-Y2,$5=q5+D2,u5=q5-D2,y5=p5+N2,T1=N2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+j2,v=S-j2,w=n5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+F5,M=y-F5,L=$5+x,F=F2|1,T=$+(F<<2)|0,s[T>>2]=L,N=y5+b,G=$+(c2<<2)|0,s[G>>2]=N,V=M-T1,X=J5+-3|0,K=$+(X<<2)|0,s[K>>2]=V,a0=u5-v,W=$+(W1<<2)|0,s[W>>2]=a0,r0=T1+M,J=c2+X1|0,o0=J+-1|0,q=$+(o0<<2)|0,s[q>>2]=r0,h0=u5+v,t0=$+(J<<2)|0,s[t0>>2]=h0,j=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=j,l0=y5-b,I0=$+(u0<<2)|0,s[I0>>2]=l0,g0=X2+2|0,f0=(g0|0)<(t|0),f0;)X2=g0,n5=O1,F2=c2,J5=W1;if(n2=d5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,d5=n2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,r5=0,z2=Q0,M5=w0,v5=t,i3=t;B0=a+(z2<<2)|0,_0=+s[B0>>2],K0=a+(M5<<2)|0,M0=+s[K0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,U0=N0*.7071067690849304,k0=i3+-1|0,V0=a+(k0<<2)|0,F0=+s[V0>>2],L0=U0+F0,G0=v5+-1|0,z0=$+(G0<<2)|0,s[z0>>2]=L0,J0=+s[V0>>2],q0=J0-U0,Z0=v5+y0|0,P0=Z0+-1|0,o1=$+(P0<<2)|0,s[o1>>2]=q0,Y0=z2+I|0,i1=a+(Y0<<2)|0,x0=+s[i1>>2],n1=T0-x0,h1=$+(v5<<2)|0,s[h1>>2]=n1,g1=+s[i1>>2],m1=g1+T0,d1=$+(Z0<<2)|0,s[d1>>2]=m1,u1=z2+t|0,c1=M5+t|0,s1=v5+b0|0,$1=i3+t|0,j0=r5+1|0,D5=(j0|0)==(o|0),!D5;)r5=j0,z2=u1,M5=c1,v5=s1,i3=$1}}function SQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0;if(b1=C,d=o5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=d;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,q0=+s[T0>>2],m1=q0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,s1=(D|0)==(o|0),!s1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=d;;){for(V0=B1<<1,F0=V0+m|0,j0=2,M1=k1,D1=F0,R1=B1,F1=V0;T=M1+2|0,N=D1+-2|0,G=R1+2|0,V=F1+2|0,X=j0+-2|0,K=g+(X<<2)|0,W=+s[K>>2],r0=M1+1|0,s0=a+(r0<<2)|0,J=+s[s0>>2],o0=J*W,q=j0+-1|0,h0=g+(q<<2)|0,t0=+s[h0>>2],j=a+(T<<2)|0,u0=+s[j>>2],$0=u0*t0,l0=$0+o0,Z=u0*W,I0=t0*J,g0=Z-I0,f0=a+(G<<2)|0,n0=+s[f0>>2],d0=g0+n0,p0=$+(V<<2)|0,s[p0>>2]=d0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(N<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,K0=$+(_0<<2)|0,s[K0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=D1+-3|0,U0=$+(N0<<2)|0,s[U0>>2]=v0,O0=j0+2|0,k0=(O0|0)<(t|0),k0;)j0=O0,M1=T,D1=N,R1=G,F1=V;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(z0=t+-1|0,!!x)for(J0=d+z0|0,Q1=0,w1=t,L1=J0,S1=z0;Z0=a+(L1<<2)|0,P0=+s[Z0>>2],H0=-P0,o1=$+(w1<<2)|0,s[o1>>2]=H0,Y0=a+(S1<<2)|0,i1=e[Y0>>2]|0,x0=w1+-1|0,n1=$+(x0<<2)|0,e[n1>>2]=i1,h1=w1+m|0,g1=L1+t|0,d1=S1+t|0,u1=Q1+1|0,c1=(u1|0)==(o|0),!c1;)Q1=u1,w1=h1,L1=g1,S1=d1}}function bQ(t,o,a,$,g,d,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+iA(+v),q8=+Hn(+v),E2=o+1|0,k3=E2>>1,J9=t+-1|0,Ve=J9>>1,P9=o5(a,t)|0,k9=o5(o,t)|0,me=(t|0)==1;e:do if(!me){if(D8=($|0)>0,D8)for(_4=0;d0=m+(_4<<2)|0,K0=e[d0>>2]|0,G0=E+(_4<<2)|0,e[G0>>2]=K0,n1=_4+1|0,Bt=(n1|0)==($|0),!Bt;)_4=n1;if(V=(o|0)>1,V)for(t0=(a|0)>0,wt=1,K8=0;;){if(E1=K8+P9|0,t0)for(l8=0,ae=E1;D1=d+(ae<<2)|0,H1=e[D1>>2]|0,a2=I+(ae<<2)|0,e[a2>>2]=H1,t2=ae+t|0,V2=l8+1|0,oe=(V2|0)==(a|0),!oe;)l8=V2,ae=t2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,K8=E1}if(Q5=0-t|0,T1=(Ve|0)>(a|0),T1){if(V)for(q3=(a|0)>0,z5=(t|0)>2,E3=Q5,Z9=1,R8=0;;){if(_3=R8+P9|0,L6=E3+t|0,q3)for(n6=_3-t|0,A3=L6+-1|0,ut=0,T8=n6;;){if(G3=T8+t|0,z5)for(ct=2,E4=A3,Ci=G3;U3=E4+2|0,y6=Ci+2|0,w9=E4+1|0,n4=Q+(w9<<2)|0,He=+s[n4>>2],Ye=Ci+1|0,he=d+(Ye<<2)|0,Ue=+s[he>>2],Ee=Ue*He,v4=Q+(U3<<2)|0,W9=+s[v4>>2],v9=d+(y6<<2)|0,k4=+s[v9>>2],Y4=k4*W9,nt=Y4+Ee,V4=I+(Ye<<2)|0,s[V4>>2]=nt,Je=+s[n4>>2],o4=+s[v9>>2],R4=o4*Je,ot=+s[v4>>2],re=+s[he>>2],u4=re*ot,Ce=R4-u4,N6=I+(y6<<2)|0,s[N6>>2]=Ce,ze=ct+2|0,de=(ze|0)<(t|0),de;)ct=ze,E4=U3,Ci=y6;if(Ne=ut+1|0,$t=(Ne|0)==(a|0),$t)break;ut=Ne,T8=G3}if(h4=Z9+1|0,Ct=(h4|0)==(o|0),Ct)break;E3=L6,Z9=h4,R8=_3}}else if(V)for(f5=(t|0)>2,d3=(a|0)>0,Z4=Q5,l4=1,H8=0;;){if(ne=Z4+t|0,d4=H8+P9|0,f5)for(f4=ne+-1|0,Qt=2,gt=f4,Ai=d4;;){if(ke=gt+2|0,s4=Ai+2|0,d3)for(Pe=gt+1|0,I4=Q+(Pe<<2)|0,f6=Q+(ke<<2)|0,ht=0,X8=s4;J4=+s[I4>>2],fe=X8+-1|0,S4=d+(fe<<2)|0,Se=+s[S4>>2],Ie=Se*J4,z6=+s[f6>>2],F4=d+(X8<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+Ie,mt=I+(fe<<2)|0,s[mt>>2]=xe,W3=+s[I4>>2],_9=+s[F4>>2],S9=_9*W3,Oe=+s[f6>>2],a4=+s[S4>>2],d8=a4*Oe,N4=S9-d8,f8=I+(X8<<2)|0,s[f8>>2]=N4,e8=X8+t|0,I8=ht+1|0,Rt=(I8|0)==(a|0),!Rt;)ht=I8,X8=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=ke,Ai=s4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=ne,l4=Pt,H8=d4}if(Ot=o5(P9,o)|0,qt=(Ve|0)<(a|0),t8=(k3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,_8=(t|0)>2,j4=1,dt=0,qi=Ot;;){if(y0=dt+P9|0,w0=qi-P9|0,i8)for(Ze=0,$i=y0,li=w0;;){if(_8)for(D4=2,ei=$i,ki=li;B0=ei+2|0,_0=ki+2|0,M0=ei+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=ki+1|0,U0=I+(N0<<2)|0,O0=+s[U0>>2],k0=O0+T0,V0=d+(M0<<2)|0,s[V0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],z0=I+(_0<<2)|0,J0=+s[z0>>2],q0=L0-J0,Z0=d+(N0<<2)|0,s[Z0>>2]=q0,P0=+s[F0>>2],H0=+s[z0>>2],o1=H0+P0,Y0=d+(B0<<2)|0,s[Y0>>2]=o1,i1=+s[U0>>2],x0=+s[v0>>2],h1=i1-x0,g1=d+(_0<<2)|0,s[g1>>2]=h1,m1=D4+2|0,d1=(m1|0)<(t|0),d1;)D4=m1,ei=B0,ki=_0;if(u1=$i+t|0,A1=li+t|0,c1=Ze+1|0,Ke=(c1|0)==(a|0),Ke)break;Ze=c1,$i=u1,li=A1}if(s1=j4+1|0,U4=(s1|0)==(k3|0),U4)break e;j4=s1,dt=y0,qi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,F9=1,W8=0,Oi=Ot;;){if(x=W8+P9|0,M=Oi-P9|0,D)for(p4=2,Bi=x,wi=M;;){if(L=Bi+2|0,R=wi+2|0,y)for(F=R-t|0,T=L-t|0,Ft=0,Wi=T,d7=F;N=Wi+t|0,G=d7+t|0,X=N+-1|0,K=I+(X<<2)|0,a0=+s[K>>2],W=G+-1|0,r0=I+(W<<2)|0,s0=+s[r0>>2],J=s0+a0,o0=d+(X<<2)|0,s[o0>>2]=J,q=I+(N<<2)|0,h0=+s[q>>2],j=I+(G<<2)|0,u0=+s[j>>2],c0=h0-u0,$0=d+(W<<2)|0,s[$0>>2]=c0,l0=+s[q>>2],Z=+s[j>>2],I0=Z+l0,g0=d+(N<<2)|0,s[g0>>2]=I0,f0=+s[r0>>2],n0=+s[K>>2],p0=f0-n0,C0=d+(G<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Wi=N,d7=G;if(Q0=p4+2|0,b0=(Q0|0)<(t|0),b0)p4=Q0,Bi=L,wi=R;else break}if(E0=F9+1|0,At=(E0|0)==(k3|0),At)break;F9=E0,W8=x,Oi=M}}while(!1);if(w=($|0)>0,w)for(be=0;$1=E+(be<<2)|0,j0=e[$1>>2]|0,I1=m+(be<<2)|0,e[I1>>2]=j0,Q1=be+1|0,Kt=(Q1|0)==($|0),!Kt;)be=Q1;if(p1=o5($,o)|0,B1=(k3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Hi=p1;;){if(v1=Nt+P9|0,k1=Hi-P9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,c7=M1,u7=L1;S1=c7+t|0,R1=u7+t|0,F1=I+(S1<<2)|0,U1=+s[F1>>2],b1=I+(R1<<2)|0,P1=+s[b1>>2],Z1=P1+U1,G1=d+(S1<<2)|0,s[G1>>2]=Z1,x1=+s[b1>>2],z1=+s[F1>>2],q1=x1-z1,Y1=d+(R1<<2)|0,s[Y1>>2]=q1,V1=c8+1|0,A4=(V1|0)==(a|0),!A4;)c8=V1,c7=S1,u7=R1;if(X1=Wt+1|0,s8=(X1|0)==(k3|0),s8)break;Wt=X1,Nt=v1,Hi=k1}if(n2=o+-1|0,j1=o5(n2,$)|0,B1){for(O1=(k3|0)>2,Ht=0,Vt=1,et=1,F8=0,pi=p1;;){if(c2=F8+$|0,W1=pi-$|0,d2=Vt*pt,s2=Ht*q8,K1=d2-s2,h2=Ht*pt,$2=Vt*q8,i2=$2+h2,w)for(yt=0,Vi=c2,gi=W1,ji=j1,ii=$;l2=m+(yt<<2)|0,r2=+s[l2>>2],A2=ii+1|0,e2=m+(ii<<2)|0,o2=+s[e2>>2],f2=o2*K1,k2=f2+r2,D2=Vi+1|0,S2=E+(Vi<<2)|0,s[S2>>2]=k2,Q2=ji+1|0,N2=m+(ji<<2)|0,L2=+s[N2>>2],U2=L2*i2,m2=gi+1|0,W2=E+(gi<<2)|0,s[W2>>2]=U2,P2=yt+1|0,E8=(P2|0)==($|0),!E8;)yt=P2,Vi=D2,gi=m2,ji=Q2,ii=A2;if(O1)for(Yt=i2,_t=K1,C8=2,Ji=$,Y8=j1;;){if(G2=Ji+$|0,q2=Y8-$|0,Z2=_t*K1,A5=Yt*i2,H2=Z2-A5,N1=Yt*K1,t5=_t*i2,F5=t5+N1,w)for(a8=0,Si=c2,_i=W1,xi=G2,N8=q2;i5=xi+1|0,_5=m+(xi<<2)|0,I5=+s[_5>>2],b5=I5*H2,Y5=Si+1|0,g5=E+(Si<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,s5=N8+1|0,R2=m+(N8<<2)|0,M2=+s[R2>>2],y2=M2*F5,T5=_i+1|0,m5=E+(_i<<2)|0,x5=+s[m5>>2],q5=x5+y2,s[m5>>2]=q5,L5=a8+1|0,x8=(L5|0)==($|0),!x8;)a8=L5,Si=Y5,_i=T5,xi=i5,N8=s5;if(Y2=C8+1|0,o8=(Y2|0)==(k3|0),o8)break;Yt=F5,_t=H2,C8=Y2,Ji=G2,Y8=q2}if(p5=et+1|0,L8=(p5|0)==(k3|0),L8)break;Ht=i2,Vt=K1,et=p5,F8=c2,pi=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(We=0,Z8=$5;u5=Z8+1|0,y5=m+(Z8<<2)|0,D5=+s[y5>>2],h5=E+(We<<2)|0,l5=+s[h5>>2],X2=l5+D5,s[h5>>2]=X2,g2=We+1|0,p8=(g2|0)==($|0),!p8;)We=g2,Z8=u5;if(w5=A8+1|0,b4=(w5|0)==(k3|0),b4)break;A8=w5,Xt=$5}}}if(r5=(t|0)<(a|0),r5){if(z2=(t|0)>0,z2)for(n5=(a|0)>0,W4=0;;){if(n5)for(X4=0,C4=W4,j8=W4;K5=I+(C4<<2)|0,r3=e[K5>>2]|0,a3=g+(j8<<2)|0,e[a3>>2]=r3,B3=C4+t|0,N5=j8+k9|0,W5=X4+1|0,G4=(W5|0)==(a|0),!G4;)X4=W5,C4=B3,j8=N5;if(D3=W4+1|0,at=(D3|0)==(t|0),at)break;W4=D3}}else if(a5=(a|0)>0,a5)for(d5=(t|0)>0,Tt=0,O4=0,Ei=0;;){if(d5)for(K4=0,Yi=O4,zi=Ei;M5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,F2=zi+1|0,v5=g+(zi<<2)|0,e[v5>>2]=c5,J5=K4+1|0,Lt=(J5|0)==(t|0),!Lt;)K4=J5,Yi=M5,zi=F2;if(i3=O4+t|0,E5=Ei+k9|0,I3=Tt+1|0,x9=(I3|0)==(a|0),x9)break;Tt=I3,O4=i3,Ei=E5}if(f3=t<<1,y3=o5(P9,o)|0,B1)for(X3=(a|0)>0,$8=1,M8=0,Qi=0,Ki=y3;;){if(X5=M8+f3|0,b3=Qi+P9|0,t3=Ki-P9|0,X3)for(b9=0,ti=X5,bi=b3,e7=t3;s6=I+(bi<<2)|0,T3=e[s6>>2]|0,H3=ti+-1|0,c3=g+(H3<<2)|0,e[c3>>2]=T3,g3=I+(e7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ti<<2)|0,e[Q3>>2]=u3,H5=ti+k9|0,V5=bi+t|0,S5=e7+t|0,Y3=b9+1|0,Et=(Y3|0)==(a|0),!Et;)b9=Y3,ti=H5,bi=V5,e7=S5;if(G5=$8+1|0,z4=(G5|0)==(k3|0),z4)break;$8=G5,M8=X5,Qi=b3,Ki=t3}if(!me){if($6=(Ve|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,yi=0,ci=0,h7=y3;;){if(E6=u8+f3|0,S3=yi+f3|0,a6=ci+P9|0,i6=h7-P9|0,!xt)for(g8=0,Xi=E6,ui=S3,x4=a6,hi=i6;;){for(se=2;h6=t-se|0,m3=se+x4|0,M6=m3+-1|0,R6=I+(M6<<2)|0,S6=+s[R6>>2],r6=se+hi|0,d6=r6+-1|0,b6=I+(d6<<2)|0,G6=+s[b6>>2],X6=G6+S6,v6=se+ui|0,L3=v6+-1|0,o6=g+(L3<<2)|0,s[o6>>2]=X6,C6=+s[R6>>2],z3=+s[b6>>2],M3=C6-z3,K3=h6+Xi|0,e6=K3+-1|0,F6=g+(e6<<2)|0,s[F6>>2]=M3,l6=I+(m3<<2)|0,o3=+s[l6>>2],K6=I+(r6<<2)|0,c6=+s[K6>>2],B6=c6+o3,R3=g+(v6<<2)|0,s[R3>>2]=B6,Y6=+s[K6>>2],A6=+s[l6>>2],D6=Y6-A6,U6=g+(K3<<2)|0,s[U6>>2]=D6,t9=se+2|0,Q6=(t9|0)<(t|0),Q6;)se=t9;if(V3=Xi+k9|0,Z5=ui+k9|0,x3=x4+t|0,h3=hi+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,Xi=V3,ui=Z5,x4=x3,hi=h3}if(e9=Zt+1|0,n8=(e9|0)==(k3|0),n8)break;Zt=e9,u8=E6,yi=S3,ci=a6,h7=i6}return}if(B1)for(l3=(t|0)>2,N3=(a|0)>0,$4=1,c4=n3,g7=0,vi=0,Zi=y3;;){if(n9=c4+f3|0,V6=g7+f3|0,s9=vi+P9|0,c9=Zi-P9|0,l3&&(P6=n9+t|0,N3))for(P4=2;;){for(Fe=P4+c9|0,Te=P4+s9|0,Ge=P4+V6|0,qe=P6-P4|0,jt=0,Di=qe,V8=Ge,Li=Te,l9=Fe;i9=Li+-1|0,_6=I+(i9<<2)|0,O6=+s[_6>>2],q6=l9+-1|0,a9=I+(q6<<2)|0,h9=+s[a9>>2],o9=h9+O6,C9=V8+-1|0,B9=g+(C9<<2)|0,s[B9>>2]=o9,Q9=+s[_6>>2],d9=+s[a9>>2],f9=Q9-d9,H9=Di+-1|0,H6=g+(H9<<2)|0,s[H6>>2]=f9,A9=I+(Li<<2)|0,Y9=+s[A9>>2],y9=I+(l9<<2)|0,ye=+s[y9>>2],ge=ye+Y9,pe=g+(V8<<2)|0,s[pe>>2]=ge,V9=+s[y9>>2],ie=+s[A9>>2],R9=V9-ie,W6=g+(Di<<2)|0,s[W6>>2]=R9,$9=Di+k9|0,we=V8+k9|0,Re=Li+t|0,ue=l9+t|0,D9=jt+1|0,Jt=(D9|0)==(a|0),!Jt;)jt=D9,Di=$9,V8=we,Li=Re,l9=ue;if(J6=P4+2|0,T6=(J6|0)<(t|0),T6)P4=J6;else break}if(ve=$4+1|0,zt=(ve|0)==(k3|0),zt)break;$4=ve,c4=n9,g7=V6,vi=s9,Zi=c9}}}function Yb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,hs=0,Kn=0,ds=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,rr=0,Ts=0,$o=0,hn=0,lo=0,dn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,nr=0,br=0,z7=0,Dr=0,Io=0,K7=0,S7=0,b7=0,t7=0,D7=0,_r=0,or=0,sr=0,xr=0,p7=0,Ps=0,di=0,rl=0,In=0,mn=0,Gu=0,nl=0,Os=0,Uu=0,oA=0,ol=0,Pu=0,Ou=0,qu=0,sA=0,sl=0,al=0,aA=0,pn=0,Al=0,Hu=0,qs=0,ar=0,Yu=0,Vu=0,Ju=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,$l=0,Lr=0,th=0,ih=0,ll=0,rh=0,AA=0,Hs=0,$A=0,nh=0,oh=0,lA=0,cl=0,gl=0,ul=0,cA=0,hl=0,Ys=0,sh=0,ah=0,dl=0,Ah=0,$h=0,fl=0,lh=0,ch=0,Il=0,ml=0,pl=0,El=0,Cl=0,En=0,gh=0,Bl=0,uh=0,Ql=0,yl=0,hh=0,dh=0,fh=0,gA=0,wl=0,vl=0,mo=0,kl=0,uA=0,Ih=0,Sl=0,mh=0,bl=0,ph=0,Eh=0,Dl=0,_l=0,Ch=0,Vs=0,Bh=0,hA=0,xl=0,Ll=0,Qh=0,yh=0,wh=0,vh=0,kh=0,Sh=0,Js=0,Ml=0,Rl=0,Fl=0,zs=0,bh=0,Tl=0,Dh=0,Nl=0,_h=0,xh=0,Gl=0,dA=0,Lh=0,Mh=0,Ks=0,Rh=0,Ws=0,Fh=0,fA=0,Th=0,Nh=0,Gh=0,Ul=0,Uh=0,Ph=0,Oh=0,qh=0,Pl=0,Ol=0,Ar=0,ql=0,Zs=0,IA=0,mA=0,Cn=0,Hl=0,Bn=0,Hh=0,Yl=0,Yh=0,Vh=0,Jh=0,zh=0,js=0,pA=0,Mr=0,Kh=0,Wh=0,Vl=0,EA=0,Jl=0,zl=0,Zh=0,Kl=0,jh=0,CA=0,Xh=0,ed=0,z9=0,td=0,Wl=0,id=0,rd=0,BA=0,nd=0,QA=0,Zl=0,od=0,sd=0,jl=0,Xl=0,ad=0,yA=0,wA=0,ec=0,tc=0,Ad=0,ic=0,vA=0,$d=0,rc=0,ld=0,cd=0,gd=0,ud=0,nc=0,oc=0,kA=0,Xs=0,sc=0,hd=0,ac=0,Ac=0,dd=0,fd=0,Id=0,$c=0,md=0,pd=0,Ed=0,Cd=0,Bd=0,Qd=0,lc=0,yd=0,cc=0,wd=0,Qn=0,vd=0,gc=0,kd=0,po=0,uc=0,SA=0,Sd=0,ea=0,bA=0,bd=0,DA=0,hc=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,dc=0,Rd=0,Fd=0,Td=0,ta=0,Eo=0,_A=0,Nd=0,xA=0,Gd=0,Ud=0,Pd=0,fc=0,Od=0,qd=0,Hd=0,Yd=0,Vd=0,ia=0,Jd=0,zd=0,Ic=0,Kd=0,Wd=0,Zd=0,jd=0,E7=0,mc=0,C7=0,pc=0,LA=0,Xd=0,i7=0,Co=0,ef=0,tf=0,rf=0,nf=0,of=0,Ec=0,sf=0,af=0,Cc=0,Af=0,$f=0,Bo=0,MA=0,lf=0,Bc=0,cf=0,gf=0,ra=0,uf=0,hf=0,Qc=0,yc=0,df=0,ff=0,yn=0,If=0,mf=0,wn=0,pf=0,wc=0,Ef=0,Cf=0,Qo=0,vc=0,Bf=0,kc=0,Qf=0,$r=0,RA=0,yf=0,Sc=0,bc=0,wf=0,vf=0,Dc=0,kf=0,Sf=0,bf=0,_c=0,Df=0,yo=0,_f=0,vn=0,xf=0,Lf=0,FA=0,Mf=0,TA=0,NA=0,Rf=0,xc=0,Lc=0,Ff=0,Mc=0,Rc=0,Fc=0,Tf=0,Tc=0,Nc=0,Nf=0,Gf=0,Gc=0,Uc=0,Uf=0,Pc=0,Oc=0,Pf=0,Of=0,qc=0,GA=0,Hc=0,Yc=0,Vc=0,Jc=0,qf=0,Hf=0,Yf=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,zc=0,UA=0,Zf=0,jf=0,Xf=0,Kc=0,Wc=0,eI=0,Zc=0,PA=0,na=0,jc=0,tI=0,iI=0,rI=0,nI=0,Xc=0,oa=0,oI=0,sI=0,aI=0,AI=0,$I=0,lI=0,cI=0,gI=0,eg=0,uI=0,hI=0,dI=0,fI=0,sa=0,tg=0,II=0,mI=0,kn=0,ig=0,rg=0,OA=0,pI=0,ng=0,EI=0,og=0,sg=0,CI=0,BI=0,QI=0,yI=0,wI=0,aa=0,qA=0,vI=0,kI=0,SI=0,bI=0,ag=0,DI=0,Ag=0,_I=0,xI=0,$g=0,Rr=0,lg=0,cg=0,LI=0,gg=0,Aa=0,MI=0,RI=0,FI=0,$a=0,ug=0,TI=0,NI=0,hg=0,GI=0,UI=0,HA=0,la=0,PI=0,OI=0,qI=0,dg=0,fg=0,Ig=0,HI=0,YI=0,wo=0,VI=0,mg=0,JI=0,YA=0,pg=0,zI=0,KI=0,WI=0,ZI=0,Eg=0,jI=0,XI=0,Cg=0,ca=0,em=0,tm=0,im=0,vo=0,Bg=0,Qg=0,rm=0,yg=0,wg=0,_7=0,vg=0,lr=0,nm=0,om=0,sm=0,am=0,VA=0,ga=0,kg=0,Sg=0,Am=0,ua=0,ko=0,$m=0,ha=0,JA=0,lm=0,zA=0,cm=0,gm=0,bg=0,da=0,Dg=0,um=0,hm=0,dm=0,fm=0,_g=0,Im=0,ri=0,De=0,r7=0,mm=0,xg=0,Lg=0,KA=0,pm=0,Fr=0,So=0,Em=0,Cm=0,Mg=0,WA=0,Bm=0,Rg=0,Fg=0,Tg=0,ZA=0,jA=0,Ng=0,bo=0,XA=0,Gg=0,Qm=0,Sn=0,ym=0,Ug=0,fa=0,wm=0,Pg=0,x7=0,vm=0,km=0,Sm=0,bm=0,Dm=0,_m=0,L7=0,xm=0,Lm=0,Mm=0,Og=0,B7=0,Ia=0,e$=0,qg=0,Hg=0,Rm=0,Yg=0,Vg=0,Fm=0,Tm=0,Jg=0,zg=0,Nm=0,Gm=0,Kg=0,Um=0,Do=0,ma=0,pa=0,Pm=0,t$=0,Om=0,qm=0,Wg=0,_o=0,Hm=0,Ym=0,i$=0,r$=0,Ea=0,n$=0,o$=0,cr=0,Tr=0,Nr=0,s$=0,a$=0,xo=0,gr=0,bn=0,Vm=0,ur=0,Dn=0,Jm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,Zg=0,jg=0,Qa=0,A$=0,Ti=0,ya=0,Gr=0,$$=0,zm=0,l$=0,Km=0,c$=0,Xg=0,wa=0,Wm=0,Zm=0,va=0,jm=0,ka=0,_n=0,tt=0,Le=0,eu=0,Xm=0,g$=0,tu=0,ep=0,tp=0,Sa=0,ip=0,rp=0,np=0,op=0,iu=0,sp=0,ap=0,Ap=0,n7=0,ba=0,xn=0,u$=0,Lo=0,Mo=0,ni=0,Ro=0,ru=0,nu=0,Da=0,Fo=0,To=0,No=0,$p=0,Go=0,hr=0,ou=0,Ur=0,o7=0,h$=0,d$=0,W7=0,f$=0,I$=0,m$=0,Pr=0,g6=0,_a=0,Or=0,su=0,L4=0,p$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,je=0,E$=0,SC=0,lp=0,aE=0,AE=0,bC=0,cp=0,UQ=0,PQ=0,OQ=0,qQ=0,HQ=0,YQ=0,VQ=0,JQ=0,zQ=0,KQ=0,WQ=0,ZQ=0,DC=0,_C=0,jQ=0,XQ=0,ey=0,au=0,$E=0,Q7=0,Au=0,$u=0,lu=0,cu=0,gp=0,up=0,hp=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,lE=0,xa=0,dr=0,C$=0,gu=0,B$=0,xC=0,La=0,Bp=0,Q$=0,cE=0,gE=0,Qp=0,uE=0,hE=0,dE=0,fE=0,IE=0,mE=0,pE=0,LC=0,MC=0,RC=0,FC=0,TC=0,Ma=0,Ra=0,Fa=0,Ta=0,ty=0,fr=0,Ae=0,ED=0,Na=0,EE=0;if(ED=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(gi=n0+3456|0,Io=e[gi>>2]|0,Ml=(Io|0)==0,o=Ml&1,po=n0+3496|0,Mc=+l1[po>>3],dg=Mc>-80,dg?l1[po>>3]=-80:(Tm=Mc<-200,Tm&&(l1[po>>3]=-200)),d0=n0+3512|0,j2=+l1[d0>>3],A3=j2>0,A3?l1[d0>>3]=0:(ve=j2<-99999,ve&&(l1[d0>>3]=-99999)),Y4=n0+3396|0,N6=e[Y4>>2]|0,Pe=(N6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=N6+24|0,L8=e[Et>>2]|0,m4=N6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=L8+($4<<2)|0,q8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ei=e[Xt>>2]|0,e[n0>>2]=q8,wi=n0+4|0,e[wi>>2]=Ei,Y8=(q8|0)==(Ei|0),ii=N6+144|0,B8=e[ii>>2]|0,ls=(B8|0)>0,ls){for(fs=N6+136|0,Es=N6+140|0,no=N6+148|0,rr=i8,Mr=n0,lE=0;;){if(Ds=~~rr,ho=e[fs>>2]|0,K7=e[Es>>2]|0,di=e[no>>2]|0,Ou=di+(lE<<2)|0,Yu=e[Ou>>2]|0,Lr=le(1,1120)|0,cl=Yu+(Ds<<2)|0,fl=e[cl>>2]|0,uh=K7+(fl*1120|0)|0,ce(Lr|0,uh|0,1120)|0,uA=e[Lr>>2]|0,Bh=(uA|0)>0,Bh){for(Rl=Lr+4|0,$E=0,pE=-1;;)if(vA=Rl+($E<<2)|0,sc=e[vA>>2]|0,Cd=(sc|0)>(pE|0),a0=Cd?sc:pE,uc=$E+1|0,WQ=(uc|0)==(uA|0),WQ){W=a0;break}else $E=uc,pE=a0;if(Lh=(W|0)<0,!Lh){for(Uh=Lr+256|0,Cn=Mr+24|0,Xh=Lr+192|0,od=Lr+320|0,B$=0,dE=-1;;){if(bc=Uh+(B$<<2)|0,vn=e[bc>>2]|0,Rc=(vn|0)>(dE|0),X=Rc?vn:dE,Oc=e[Cn>>2]|0,Yf=Oc+vn|0,e[bc>>2]=Yf,Kc=Xh+(B$<<2)|0,Xc=e[Kc>>2]|0,uI=(Xc|0)==31,uI)fE=X;else for(D9=Xc,uE=0,mE=X;;)if(OA=(od+(B$<<5)|0)+(uE<<2)|0,aa=e[OA>>2]|0,$g=(aa|0)>(mE|0),K=$g?aa:mE,ug=(aa|0)>-1,ug?(fg=e[Cn>>2]|0,KI=fg+aa|0,e[OA>>2]=KI,s0=e[Kc>>2]|0,JA=s0):JA=D9,vo=uE+1|0,sm=1<>2]|0,Xd=e[zd>>2]|0,Cc=e[Cn>>2]|0,hf=Cc+1|0,e[Cn>>2]=hf,Ef=(Mr+1824|0)+(Cc<<2)|0,e[Ef>>2]=Xd,VQ=(IE|0)==0,!VQ))for(xC=0;jA=xC+1|0,t0=e[cl>>2]|0,Pg=ho+(t0<<2)|0,Mm=e[Pg>>2]|0,Jg=Mm+(jA<<2)|0,Om=e[Jg>>2]|0,cr=e[Cn>>2]|0,Jm=cr+1|0,e[Cn>>2]=Jm,ya=(Mr+1824|0)+(cr<<2)|0,e[ya>>2]=Om,YQ=(jA|0)==(IE|0),!YQ;)xC=jA}}if(va=Mr+16|0,tp=e[va>>2]|0,ba=(Mr+800|0)+(tp<<2)|0,e[ba>>2]=1,To=e[va>>2]|0,f$=(Mr+1056|0)+(To<<2)|0,e[f$>>2]=Lr,p0=e[va>>2]|0,M0=p0+1|0,e[va>>2]=M0,z0=lE+1|0,h1=e[ii>>2]|0,I1=(z0|0)<(h1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,rr=r0,Mr=l0,lE=z0}I0=e[f0>>2]|0,X5=I0}else X5=n0;R1=n0+3520|0,Y1=+l1[R1>>3],a2=N6+124|0,t2=e[a2>>2]|0,V2=N6+128|0,I5=e[V2>>2]|0,T5=~~Y1,D5=+(T5|0),n5=Y1-D5,K5=X5+2868|0,H5=I5+(T5<<3)|0,_3=+l1[H5>>3],L6=~~_3,n6=t2+(L6*492|0)|0,ce(K5|0,n6|0,492)|0,c6=+l1[H5>>3],n9=1-n5,q6=c6*n9,H6=T5+1|0,W6=I5+(H6<<3)|0,Fe=+l1[W6>>3],Te=Fe*n5,Ge=Te+q6,qe=~~Ge,n4=+(qe|0),He=Ge-n4,J9=He==0,Ye=(qe|0)>0,LC=Ye&J9,I=LC?1:He,he=LC<<31>>31,R=he+qe|0,Ue=1-I,Ee=R+1|0,v4=(t2+(R*492|0)|0)+4|0,W9=+s[v4>>2],v9=W9,k4=Ue*v9,nt=(t2+(Ee*492|0)|0)+4|0,Ve=+s[nt>>2],V4=Ve,Je=I*V4,o4=k4+Je,R4=o4,ot=X5+2872|0,s[ot>>2]=R4,re=(t2+(R*492|0)|0)+32|0,u4=+s[re>>2],Ce=u4,ze=Ue*Ce,P9=(t2+(Ee*492|0)|0)+32|0,de=+s[P9>>2],Ne=de,h4=I*Ne,ne=ze+h4,d4=ne,f4=X5+2900|0,s[f4>>2]=d4,ke=(t2+(R*492|0)|0)+8|0,s4=+s[ke>>2],I4=s4,k9=Ue*I4,f6=(t2+(Ee*492|0)|0)+8|0,J4=+s[f6>>2],fe=J4,S4=I*fe,Se=k9+S4,Ie=Se,z6=X5+2876|0,s[z6>>2]=Ie,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],me=st,xe=Ue*me,mt=(t2+(Ee*492|0)|0)+36|0,W3=+s[mt>>2],_9=W3,S9=_9*I,Oe=S9+xe,a4=Oe,d8=X5+2904|0,s[d8>>2]=a4,f8=(t2+(R*492|0)|0)+12|0,D8=+s[f8>>2],e8=D8,I8=e8*Ue,m8=(t2+(Ee*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,_8=X5+2880|0,s[_8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Yt=+s[Ht>>2],Vt=Yt,_t=Vt*Ue,xt=(t2+(Ee*492|0)|0)+40|0,pt=+s[xt>>2],Jt=pt,zt=Jt*I,r8=zt+_t,z4=r8,G4=X5+2908|0,s[G4>>2]=z4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],x9=Lt,p8=x9*Ue,b4=(t2+(Ee*492|0)|0)+16|0,E8=+s[b4>>2],x8=E8,o8=x8*I,A4=o8+p8,s8=A4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],Ke=At,U4=Ke*Ue,$t=(t2+(Ee*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,oe=Rt*I,lt=oe+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,p4=+l1[Qt>>3],D4=p4,K4=X5+2936|0,s[K4>>2]=D4,W4=N6+132|0,se=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],_4=gt,be=~~_4,yt=+(be|0),a8=_4-yt,We=a8,E3=e[f0>>2]|0,Z4=(se|0)==0;e:do if(Z4)wt=E3+4|0,Z9=e[E3>>2]|0,l4=E3+3240|0,e[l4>>2]=Z9,F9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=F9,Wt=E3+3244|0,e[Wt>>2]=Z9,C8=E3+3304|0,e[C8>>2]=F9,A8=E3+3248|0,e[A8>>2]=Z9,$8=E3+3308|0,e[$8>>2]=F9,Zt=E3+3252|0,e[Zt>>2]=Z9,l8=E3+3312|0,e[l8>>2]=F9,ut=E3+3256|0,e[ut>>2]=Z9,ht=E3+3316|0,e[ht>>2]=F9,Ft=E3+3260|0,e[Ft>>2]=Z9,Ze=E3+3320|0,e[Ze>>2]=F9,c8=E3+3264|0,e[c8>>2]=Z9,Tt=E3+3324|0,e[Tt>>2]=F9,X4=E3+3268|0,e[X4>>2]=Z9,b9=E3+3328|0,e[b9>>2]=F9,g8=E3+3272|0,e[g8>>2]=Z9,et=E3+3332|0,e[et>>2]=F9,K8=E3+3276|0,e[K8>>2]=Z9,M8=E3+3336|0,e[M8>>2]=F9,u8=E3+3280|0,e[u8>>2]=Z9,R8=E3+3340|0,e[R8>>2]=F9,c4=E3+3284|0,e[c4>>2]=Z9,H8=E3+3344|0,e[H8>>2]=F9,W8=E3+3288|0,e[W8>>2]=Z9,dt=E3+3348|0,e[dt>>2]=F9,Nt=E3+3292|0,e[Nt>>2]=Z9,F8=E3+3352|0,e[F8>>2]=F9,O4=E3+3296|0,e[O4>>2]=Z9,C4=E3+3356|0,e[C4>>2]=F9;else{ae=E3+3120|0,T8=se+(be*240|0)|0,fr=ae,Na=T8,EE=fr+60|0;do e[fr>>2]=e[Na>>2]|0,fr=fr+4|0,Na=Na+4|0;while((fr|0)<(EE|0));Ai=E3+3180|0,Oi=(se+(be*240|0)|0)+60|0,fr=Ai,Na=Oi,EE=fr+60|0;do e[fr>>2]=e[Na>>2]|0,fr=fr+4|0,Na=Na+4|0;while((fr|0)<(EE|0));if(qi=n0+3420|0,Hi=e[qi>>2]|0,pi=(Hi|0)==0,!pi)for(Z8=1-We,j8=be+1|0,Ci=t+8|0,X8=E3+4|0,o0=e[Ci>>2]|0,Bi=+(o0|0),dr=0;;){if($i=((se+(be*240|0)|0)+120|0)+(dr<<2)|0,c7=+s[$i>>2],Yi=c7,Qi=Yi*Z8,yi=((se+(j8*240|0)|0)+120|0)+(dr<<2)|0,g7=+s[yi>>2],li=g7,u7=li*We,Vi=u7+Qi,Ji=Vi,zi=Ji,Ki=zi*1e3,ci=Ki/Bi,vi=e[E3>>2]|0,Wi=+(vi|0),ei=Wi*ci,ti=~~ei,h7=(E3+3e3|0)+(dr<<2)|0,e[h7>>2]=ti,Zi=e[X8>>2]|0,d7=+(Zi|0),ki=d7*ci,ji=~~ki,Si=(E3+3060|0)+(dr<<2)|0,e[Si>>2]=ji,bi=~~Ji,Xi=(E3+2940|0)+(dr<<2)|0,e[Xi>>2]=bi,Di=((se+(be*240|0)|0)+180|0)+(dr<<2)|0,_i=+s[Di>>2],e7=_i,ui=e7*Z8,V8=((se+(j8*240|0)|0)+180|0)+(dr<<2)|0,xi=+s[V8>>2],x4=xi,Li=x4*We,N8=Li+ui,hi=N8,l9=hi,vt=l9*1e3,Q8=vt/Bi,G8=e[E3>>2]|0,nn=+(G8|0),yr=nn*Q8,as=~~yr,Vn=(E3+3240|0)+(dr<<2)|0,e[Vn>>2]=as,As=e[X8>>2]|0,Jn=+(As|0),$s=Jn*Q8,zn=~~$s,cs=(E3+3300|0)+(dr<<2)|0,e[cs>>2]=zn,on=dr+1|0,zQ=(on|0)==15,zQ)break e;dr=on}for(gs=(se+(be*240|0)|0)+148|0,us=+s[gs>>2],hs=us,Kn=1-We,ds=hs*Kn,Wn=be+1|0,Zn=(se+(Wn*240|0)|0)+148|0,sn=+s[Zn>>2],jn=sn,an=jn*We,Xn=an+ds,eo=Xn,Is=eo,ms=Is*1e3,ps=t+8|0,An=E3+4|0,to=~~eo,h0=e[ps>>2]|0,wr=+(h0|0),$n=ms/wr,gu=0;Cs=e[E3>>2]|0,Bs=+(Cs|0),ln=Bs*$n,f7=~~ln,io=(E3+3e3|0)+(gu<<2)|0,e[io>>2]=f7,Qs=e[An>>2]|0,ys=+(Qs|0),ro=ys*$n,oo=~~ro,ws=(E3+3060|0)+(gu<<2)|0,e[ws>>2]=oo,I7=(E3+2940|0)+(gu<<2)|0,e[I7>>2]=to,cn=gu+1|0,ZQ=(cn|0)==15,!ZQ;)gu=cn;for(vs=(se+(be*240|0)|0)+208|0,so=+s[vs>>2],ks=so,Ss=ks*Kn,bs=(se+(Wn*240|0)|0)+208|0,ao=+s[bs>>2],_s=ao,xs=_s*We,Ls=xs+Ss,Ao=Ls,Ms=Ao,Rs=Ms*1e3,gn=Rs/wr,Bp=0;vr=e[E3>>2]|0,un=+(vr|0),Fs=un*gn,Ts=~~Fs,$o=(E3+3240|0)+(Bp<<2)|0,e[$o>>2]=Ts,hn=e[An>>2]|0,lo=+(hn|0),dn=lo*gn,Ns=~~dn,co=(E3+3300|0)+(Bp<<2)|0,e[co>>2]=Ns,go=Bp+1|0,JQ=(go|0)==15,!JQ;)Bp=go}while(!1);for(Gs=+l1[N4>>3],uo=N6+92|0,Us=e[uo>>2]|0,kr=N6+100|0,fo=e[kr>>2]|0,m7=N6+108|0,fn=e[m7>>2]|0,Sr=e[f0>>2]|0,nr=Sr+2852|0,br=e[nr>>2]|0,z7=~~Gs,Dr=Sr+28|0,S7=e[Dr>>2]|0,b7=(S7|0)>0,b7||(e[Dr>>2]=1),t7=(br|0)==0,t7?(D7=le(1,520)|0,e[nr>>2]=D7,Ma=D7):Ma=br,ce(Ma|0,25784,520)|0,e[Ma>>2]=0,_r=Sr+3460|0,or=e[_r>>2]|0,sr=(or|0)==0,sr||(xr=Ma+500|0,e[xr>>2]=1,p7=Us+(z7<<2)|0,Ps=e[p7>>2]|0,rl=Ma+504|0,e[rl>>2]=Ps,In=fo+(z7<<2)|0,mn=e[In>>2]|0,Gu=Ma+508|0,e[Gu>>2]=mn,nl=fn+(z7<<3)|0,Os=+l1[nl>>3],Uu=Ma+512|0,l1[Uu>>3]=Os),oA=+l1[N4>>3],ol=e[uo>>2]|0,Pu=e[kr>>2]|0,qu=e[m7>>2]|0,sA=e[f0>>2]|0,sl=sA+2856|0,al=e[sl>>2]|0,aA=~~oA,pn=sA+28|0,Al=e[pn>>2]|0,Hu=(Al|0)>1,Hu||(e[pn>>2]=2),qs=(al|0)==0,qs?(ar=le(1,520)|0,e[sl>>2]=ar,Ra=ar):Ra=al,ce(Ra|0,25784,520)|0,e[Ra>>2]=0,Vu=sA+3460|0,Ju=e[Vu>>2]|0,zu=(Ju|0)==0,zu||(Ku=Ra+500|0,e[Ku>>2]=1,Wu=ol+(aA<<2)|0,Zu=e[Wu>>2]|0,ju=Ra+504|0,e[ju>>2]=Zu,Xu=Pu+(aA<<2)|0,eh=e[Xu>>2]|0,$l=Ra+508|0,e[$l>>2]=eh,th=qu+(aA<<3)|0,ih=+l1[th>>3],ll=Ra+512|0,l1[ll>>3]=ih),Y8||(rh=+l1[N4>>3],AA=N6+96|0,Hs=e[AA>>2]|0,$A=N6+104|0,nh=e[$A>>2]|0,oh=e[m7>>2]|0,lA=e[f0>>2]|0,gl=lA+2860|0,ul=e[gl>>2]|0,cA=~~rh,hl=lA+28|0,Ys=e[hl>>2]|0,sh=(Ys|0)>2,sh||(e[hl>>2]=3),ah=(ul|0)==0,ah?(dl=le(1,520)|0,e[gl>>2]=dl,Fa=dl):Fa=ul,ce(Fa|0,25784,520)|0,e[Fa>>2]=1,Ah=lA+3460|0,$h=e[Ah>>2]|0,lh=($h|0)==0,lh||(ch=Fa+500|0,e[ch>>2]=1,Il=Hs+(cA<<2)|0,ml=e[Il>>2]|0,pl=Fa+504|0,e[pl>>2]=ml,El=nh+(cA<<2)|0,Cl=e[El>>2]|0,En=Fa+508|0,e[En>>2]=Cl,gh=oh+(cA<<3)|0,Bl=+l1[gh>>3],Ql=Fa+512|0,l1[Ql>>3]=Bl),yl=+l1[N4>>3],hh=e[AA>>2]|0,dh=e[$A>>2]|0,fh=e[m7>>2]|0,gA=e[f0>>2]|0,wl=gA+2864|0,vl=e[wl>>2]|0,mo=~~yl,kl=gA+28|0,Ih=e[kl>>2]|0,Sl=(Ih|0)>3,Sl||(e[kl>>2]=4),mh=(vl|0)==0,mh?(bl=le(1,520)|0,e[wl>>2]=bl,Ta=bl):Ta=vl,ce(Ta|0,25784,520)|0,e[Ta>>2]=1,ph=gA+3460|0,Eh=e[ph>>2]|0,Dl=(Eh|0)==0,Dl||(_l=Ta+500|0,e[_l>>2]=1,Ch=hh+(mo<<2)|0,Vs=e[Ch>>2]|0,hA=Ta+504|0,e[hA>>2]=Vs,xl=dh+(mo<<2)|0,Ll=e[xl>>2]|0,Qh=Ta+508|0,e[Qh>>2]=Ll,yh=fh+(mo<<3)|0,wh=+l1[yh>>3],vh=Ta+512|0,l1[vh>>3]=wh)),kh=(n0+3528|0)+(o<<5)|0,Sh=+l1[kh>>3],Js=N6+32|0,Fl=e[Js>>2]|0,zs=N6+36|0,bh=e[zs>>2]|0,Tl=N6+44|0,Dh=e[Tl>>2]|0,iE(t,Sh,0,Fl,bh,Dh),Nl=n0+3560|0,_h=+l1[Nl>>3],xh=e[Js>>2]|0,Gl=e[zs>>2]|0,dA=N6+52|0,Mh=e[dA>>2]|0,iE(t,_h,1,xh,Gl,Mh),Y8||(Ks=n0+3592|0,Rh=+l1[Ks>>3],Ws=e[Js>>2]|0,Fh=e[zs>>2]|0,fA=e[dA>>2]|0,iE(t,Rh,2,Ws,Fh,fA),Th=n0+3624|0,Nh=+l1[Th>>3],Gh=e[Js>>2]|0,Ul=e[zs>>2]|0,Ph=N6+48|0,Oh=e[Ph>>2]|0,iE(t,Nh,3,Gh,Ul,Oh)),qh=((n0+3528|0)+(o<<5)|0)+24|0,Pl=+l1[qh>>3],Ol=N6+80|0,Ar=e[Ol>>2]|0,ql=N6+84|0,Zs=e[ql>>2]|0,IA=~~Pl,mA=+(IA|0),Hl=Pl-mA,Bn=e[f0>>2]|0,Hh=Bn+2852|0,Yl=e[Hh>>2]|0,Yh=Zs+(IA<<3)|0,Vh=+l1[Yh>>3],Jh=1-Hl,zh=Vh*Jh,js=IA+1|0,pA=Zs+(js<<3)|0,Kh=+l1[pA>>3],Wh=Kh*Hl,Vl=Wh+zh,EA=~~Vl,Jl=+(EA|0),zl=Vl-Jl,Zh=zl==0,Kl=(EA|0)>0,MC=Kl&Zh,$=MC?1:zl,jh=MC<<31>>31,F=jh+EA|0,CA=1-$,ed=F+1|0,Au=0;z9=(Ar+(F*160|0)|0)+(Au<<2)|0,td=e[z9>>2]|0,Wl=+(td|0),id=Wl*CA,rd=(Ar+(ed*160|0)|0)+(Au<<2)|0,BA=e[rd>>2]|0,nd=+(BA|0),QA=nd*$,Zl=QA+id,sd=Zl,jl=(Yl+336|0)+(Au<<2)|0,s[jl>>2]=sd,Xl=Au+1|0,PQ=(Xl|0)==40,!PQ;)Au=Xl;for(ad=n0+3584|0,yA=+l1[ad>>3],wA=~~yA,ec=+(wA|0),tc=yA-ec,Ad=Bn+2856|0,ic=e[Ad>>2]|0,$d=Zs+(wA<<3)|0,rc=+l1[$d>>3],ld=1-tc,cd=rc*ld,gd=wA+1|0,ud=Zs+(gd<<3)|0,nc=+l1[ud>>3],oc=nc*tc,kA=oc+cd,Xs=~~kA,hd=+(Xs|0),ac=kA-hd,Ac=ac==0,dd=(Xs|0)>0,RC=dd&Ac,g=RC?1:ac,fd=RC<<31>>31,T=fd+Xs|0,Id=1-g,$c=T+1|0,$u=0;md=(Ar+(T*160|0)|0)+($u<<2)|0,pd=e[md>>2]|0,Ed=+(pd|0),Bd=Ed*Id,Qd=(Ar+($c*160|0)|0)+($u<<2)|0,lc=e[Qd>>2]|0,yd=+(lc|0),cc=yd*g,wd=cc+Bd,Qn=wd,vd=(ic+336|0)+($u<<2)|0,s[vd>>2]=Qn,gc=$u+1|0,OQ=(gc|0)==40,!OQ;)$u=gc;if(!Y8){for(kd=n0+3616|0,SA=+l1[kd>>3],Sd=N6+88|0,ea=e[Sd>>2]|0,bA=~~SA,bd=+(bA|0),DA=SA-bd,hc=Bn+2860|0,Dd=e[hc>>2]|0,_d=ea+(bA<<3)|0,xd=+l1[_d>>3],Md=1-DA,dc=xd*Md,Rd=bA+1|0,Fd=ea+(Rd<<3)|0,Td=+l1[Fd>>3],ta=Td*DA,Eo=ta+dc,_A=~~Eo,Nd=+(_A|0),xA=Eo-Nd,Ud=xA==0,Pd=(_A|0)>0,FC=Pd&Ud,d=FC?1:xA,fc=FC<<31>>31,N=fc+_A|0,Od=1-d,qd=N+1|0,lu=0;Hd=(Ar+(N*160|0)|0)+(lu<<2)|0,Yd=e[Hd>>2]|0,Vd=+(Yd|0),ia=Vd*Od,Jd=(Ar+(qd*160|0)|0)+(lu<<2)|0,Ic=e[Jd>>2]|0,Kd=+(Ic|0),Wd=Kd*d,Zd=Wd+ia,jd=Zd,E7=(Dd+336|0)+(lu<<2)|0,s[E7>>2]=jd,mc=lu+1|0,qQ=(mc|0)==40,!qQ;)lu=mc;for(C7=n0+3648|0,pc=+l1[C7>>3],LA=~~pc,i7=+(LA|0),Co=pc-i7,ef=Bn+2864|0,tf=e[ef>>2]|0,rf=ea+(LA<<3)|0,nf=+l1[rf>>3],of=1-Co,Ec=nf*of,sf=LA+1|0,af=ea+(sf<<3)|0,Af=+l1[af>>3],$f=Af*Co,Bo=$f+Ec,MA=~~Bo,lf=+(MA|0),Bc=Bo-lf,cf=Bc==0,gf=(MA|0)>0,TC=gf&cf,m=TC?1:Bc,ra=TC<<31>>31,G=ra+MA|0,uf=1-m,Qc=G+1|0,cu=0;yc=(Ar+(G*160|0)|0)+(cu<<2)|0,df=e[yc>>2]|0,ff=+(df|0),yn=ff*uf,If=(Ar+(Qc*160|0)|0)+(cu<<2)|0,mf=e[If>>2]|0,wn=+(mf|0),pf=wn*m,wc=pf+yn,Cf=wc,Qo=(tf+336|0)+(cu<<2)|0,s[Qo>>2]=Cf,vc=cu+1|0,HQ=(vc|0)==40,!HQ;)cu=vc}for(Bf=((n0+3528|0)+(o<<5)|0)+8|0,kc=+l1[Bf>>3],Qf=N6+40|0,$r=e[Qf>>2]|0,RA=~~kc,yf=+(RA|0),Sc=kc-yf,wf=$r+(RA<<2)|0,vf=e[wf>>2]|0,Dc=+(vf|0),kf=1-Sc,Sf=Dc*kf,bf=RA+1|0,_c=$r+(bf<<2)|0,Df=e[_c>>2]|0,yo=+(Df|0),_f=yo*Sc,xf=_f+Sf,Lf=xf,FA=Yl+32|0,s[FA>>2]=Lf,Mf=n0+3568|0,TA=+l1[Mf>>3],NA=~~TA,Rf=+(NA|0),xc=TA-Rf,Lc=$r+(NA<<2)|0,Ff=e[Lc>>2]|0,Fc=+(Ff|0),Tf=1-xc,Tc=Fc*Tf,Nc=NA+1|0,Nf=$r+(Nc<<2)|0,Gf=e[Nf>>2]|0,Gc=+(Gf|0),Uc=Gc*xc,Uf=Uc+Tc,Pc=Uf,Pf=ic+32|0,s[Pf>>2]=Pc,Y8||(Of=n0+3600|0,qc=+l1[Of>>3],GA=~~qc,Hc=+(GA|0),Yc=qc-Hc,Vc=Bn+2860|0,Jc=e[Vc>>2]|0,qf=$r+(GA<<2)|0,Hf=e[qf>>2]|0,Vf=+(Hf|0),Jf=1-Yc,zf=Vf*Jf,Kf=GA+1|0,Wf=$r+(Kf<<2)|0,zc=e[Wf>>2]|0,UA=+(zc|0),Zf=UA*Yc,jf=Zf+zf,Xf=jf,Wc=Jc+32|0,s[Wc>>2]=Xf,eI=n0+3632|0,Zc=+l1[eI>>3],PA=~~Zc,na=+(PA|0),jc=Zc-na,tI=Bn+2864|0,iI=e[tI>>2]|0,rI=$r+(PA<<2)|0,nI=e[rI>>2]|0,oa=+(nI|0),oI=1-jc,sI=oa*oI,aI=PA+1|0,AI=$r+(aI<<2)|0,$I=e[AI>>2]|0,lI=+($I|0),cI=lI*jc,gI=cI+sI,eg=gI,hI=iI+32|0,s[hI>>2]=eg),dI=((n0+3528|0)+(o<<5)|0)+16|0,fI=+l1[dI>>3],sa=N6+76|0,tg=e[sa>>2]|0,II=N6+60|0,mI=e[II>>2]|0,kn=N6+56|0,ig=e[kn>>2]|0,Ml?ng=0:(rg=n0+3408|0,pI=+l1[rg>>3],ng=pI),rE(t,fI,0,tg,mI,ig,ng),EI=n0+3576|0,og=+l1[EI>>3],sg=e[sa>>2]|0,CI=N6+64|0,BI=e[CI>>2]|0,QI=e[kn>>2]|0,rE(t,og,1,sg,BI,QI,0),Y8?(wo=e[f0>>2]|0,VI=wo+2852|0,mg=e[VI>>2]|0,JI=wo+3496|0,YA=+l1[JI>>3],pg=YA,zI=mg+4|0,s[zI>>2]=pg,WI=wo+3504|0,ZI=+l1[WI>>3],Eg=ZI,jI=mg+8|0,s[jI>>2]=Eg,XI=wo+2856|0,Cg=e[XI>>2]|0,ca=Cg+4|0,s[ca>>2]=pg,em=Cg+8|0,s[em>>2]=Eg,lr=wo):(yI=n0+3608|0,wI=+l1[yI>>3],qA=e[sa>>2]|0,vI=N6+68|0,kI=e[vI>>2]|0,SI=e[kn>>2]|0,rE(t,wI,2,qA,kI,SI,0),bI=n0+3640|0,ag=+l1[bI>>3],DI=e[sa>>2]|0,Ag=N6+72|0,_I=e[Ag>>2]|0,xI=e[kn>>2]|0,rE(t,ag,3,DI,_I,xI,0),Rr=e[f0>>2]|0,lg=Rr+2852|0,cg=e[lg>>2]|0,LI=Rr+3496|0,gg=+l1[LI>>3],Aa=gg,MI=cg+4|0,s[MI>>2]=Aa,RI=Rr+3504|0,FI=+l1[RI>>3],$a=FI,TI=cg+8|0,s[TI>>2]=$a,NI=Rr+2856|0,hg=e[NI>>2]|0,GI=hg+4|0,s[GI>>2]=Aa,UI=hg+8|0,s[UI>>2]=$a,HA=Rr+2860|0,la=e[HA>>2]|0,PI=la+4|0,s[PI>>2]=Aa,OI=la+8|0,s[OI>>2]=$a,qI=Rr+2864|0,Ig=e[qI>>2]|0,HI=Ig+4|0,s[HI>>2]=Aa,YI=Ig+8|0,s[YI>>2]=$a,lr=Rr),tm=+l1[N4>>3],im=N6+152|0,Bg=e[im>>2]|0,Qg=~~tm,rm=Bg+(Qg<<3)|0,yg=e[rm>>2]|0,wg=(Bg+(Qg<<3)|0)+4|0,_7=e[wg>>2]|0,vg=e[lr>>2]|0,nm=lr+4|0,om=e[nm>>2]|0,am=(vg|0)==(om|0),a=am?1:2,VA=lr+8|0,ga=lr+12|0,kg=t+8|0,Sg=t+4|0,Q7=0;;){if(Am=le(1,3208)|0,ua=(lr+544|0)+(Q7<<2)|0,e[ua>>2]=Am,ko=le(1,16)|0,$m=(lr+32|0)+(Q7<<2)|0,e[$m>>2]=ko,ha=26304+(Q7<<4)|0,e[ko>>2]=e[ha>>2]|0,e[ko+4>>2]=e[ha+4>>2]|0,e[ko+8>>2]=e[ha+8>>2]|0,e[ko+12>>2]=e[ha+12>>2]|0,lm=e[VA>>2]|0,zA=(Q7|0)<(lm|0),zA||(cm=Q7+1|0,e[VA>>2]=cm),gm=(lr+288|0)+(Q7<<2)|0,e[gm>>2]=0,bg=e[ua>>2]|0,da=yg+(Q7*3208|0)|0,ce(bg|0,da|0,3208)|0,Dg=e[ga>>2]|0,um=(Q7|0)<(Dg|0),um||(hm=Q7+1|0,e[ga>>2]=hm),dm=e[da>>2]|0,_g=(dm|0)>0,_g)for(gE=0;;){Im=((yg+(Q7*3208|0)|0)+1092|0)+(gE<<2)|0,ri=e[Im>>2]|0,De=e[f0>>2]|0,r7=M9(2840)|0,mm=(De+1568|0)+(ri<<2)|0,e[mm>>2]=r7,xg=(_7+(ri<<5)|0)+12|0,Lg=e[xg>>2]|0,ce(r7|0,Lg|0,2840)|0,KA=De+20|0,pm=e[KA>>2]|0,So=(pm|0)>(ri|0),So||(Em=ri+1|0,e[KA>>2]=Em),Cm=(_7+(ri<<5)|0)+8|0,Mg=e[Cm>>2]|0,WA=r7+8|0,e[WA>>2]=Mg,Bm=_7+(ri<<5)|0,Rg=e[Bm>>2]|0,Fg=(De+1312|0)+(ri<<2)|0,e[Fg>>2]=Rg,Tg=De+3420|0,ZA=e[Tg>>2]|0,Ng=(ZA|0)==0,bo=r7+12|0,XA=e[bo>>2]|0,Gg=(XA|0)>0;do if(Ng){if(Gg)for(Ug=(_7+(ri<<5)|0)+24|0,fa=e[Ug>>2]|0,wm=r7+24|0,La=0;;)if(ur=wm+(La<<2)|0,Dn=fa+(La<<4)|0,Mi=e[Dn>>2]|0,Ri=(Mi|0)==0,Ri||(Fi=e[ur>>2]|0,Ca=Fi|1,e[ur>>2]=Ca),Ba=(fa+(La<<4)|0)+4|0,Zg=e[Ba>>2]|0,jg=(Zg|0)==0,jg||(b2=e[ur>>2]|0,B5=b2|2,e[ur>>2]=B5),s5=(fa+(La<<4)|0)+8|0,R2=e[s5>>2]|0,M2=(R2|0)==0,M2||(y2=e[ur>>2]|0,Q5=y2|4,e[ur>>2]=Q5),m5=(fa+(La<<4)|0)+12|0,x5=e[m5>>2]|0,q5=(x5|0)==0,q5||(L5=e[ur>>2]|0,Y2=L5|8,e[ur>>2]=Y2),p5=La+1|0,$5=e[bo>>2]|0,u5=(p5|0)<($5|0),u5)La=p5;else{ka=$5;break}else ka=XA;Qa=(_7+(ri<<5)|0)+16|0,A$=e[Qa>>2]|0,Ti=De+24|0,Gr=e[Ti>>2]|0,$$=(Gr|0)>0,zm=A$;e:do if($$)for(Cp=0;;){if(l$=(De+1824|0)+(Cp<<2)|0,Km=e[l$>>2]|0,c$=(Km|0)==(A$|0),c$){L=Cp;break e}if(Xg=Cp+1|0,wa=(Xg|0)<(Gr|0),wa)Cp=Xg;else{Ae=116;break}}else Ae=116;while(!1);if((Ae|0)==116&&(Ae=0,Wm=Gr+1|0,e[Ti>>2]=Wm,L=Gr),Zm=r7+20|0,e[Zm>>2]=L,jm=(De+1824|0)+(L<<2)|0,e[jm>>2]=zm,_n=(ka|0)>0,!_n)break;for(tt=(_7+(ri<<5)|0)+24|0,Le=r7+280|0,qr=0,Q$=0;;){if(eu=e[tt>>2]|0,Xm=eu+(Q$<<4)|0,g$=e[Xm>>2]|0,tu=(g$|0)==0,ep=g$,tu)Lo=eu,lp=qr;else{Sa=e[Ti>>2]|0,ip=(Sa|0)>0;e:do if(ip)for(fp=0;;){if(rp=(De+1824|0)+(fp<<2)|0,np=e[rp>>2]|0,op=(np|0)==(g$|0),op){M=fp;break e}if(iu=fp+1|0,sp=(iu|0)<(Sa|0),sp)fp=iu;else{Ae=123;break}}else Ae=123;while(!1);(Ae|0)==123&&(Ae=0,ap=Sa+1|0,e[Ti>>2]=ap,M=Sa),Ap=qr+1|0,n7=Le+(qr<<2)|0,e[n7>>2]=M,xn=(De+1824|0)+(M<<2)|0,e[xn>>2]=ep,c0=e[tt>>2]|0,Lo=c0,lp=Ap}if(u$=(Lo+(Q$<<4)|0)+4|0,Mo=e[u$>>2]|0,ni=(Mo|0)==0,Ro=Mo,ni)E2=Lo,je=lp;else{z1=e[Ti>>2]|0,q1=(z1|0)>0;e:do if(q1)for(up=0;;){if(H1=(De+1824|0)+(up<<2)|0,V1=e[H1>>2]|0,X1=(V1|0)==(Mo|0),X1){D=up;break e}if(n2=up+1|0,j1=(n2|0)<(z1|0),j1)up=n2;else{Ae=147;break}}else Ae=147;while(!1);(Ae|0)==147&&(Ae=0,O1=z1+1|0,e[Ti>>2]=O1,D=z1),c2=lp+1|0,W1=Le+(lp<<2)|0,e[W1>>2]=D,d2=(De+1824|0)+(D<<2)|0,e[d2>>2]=Ro,$0=e[tt>>2]|0,E2=$0,je=c2}if(s2=(E2+(Q$<<4)|0)+8|0,K1=e[s2>>2]|0,h2=(K1|0)==0,$2=K1,h2)L2=E2,E$=je;else{i2=e[Ti>>2]|0,l2=(i2|0)>0;e:do if(l2)for(hp=0;;){if(r2=(De+1824|0)+(hp<<2)|0,A2=e[r2>>2]|0,e2=(A2|0)==(K1|0),e2){y=hp;break e}if(o2=hp+1|0,f2=(o2|0)<(i2|0),f2)hp=o2;else{Ae=153;break}}else Ae=153;while(!1);(Ae|0)==153&&(Ae=0,k2=i2+1|0,e[Ti>>2]=k2,y=i2),D2=je+1|0,S2=Le+(je<<2)|0,e[S2>>2]=y,Q2=(De+1824|0)+(y<<2)|0,e[Q2>>2]=$2,Z=e[tt>>2]|0,L2=Z,E$=D2}if(N2=(L2+(Q$<<4)|0)+12|0,U2=e[N2>>2]|0,m2=(U2|0)==0,W2=U2,m2)SC=E$;else{P2=e[Ti>>2]|0,G2=(P2|0)>0;e:do if(G2)for(dp=0;;){if(q2=(De+1824|0)+(dp<<2)|0,Z2=e[q2>>2]|0,A5=(Z2|0)==(U2|0),A5){x=dp;break e}if(H2=dp+1|0,N1=(H2|0)<(P2|0),N1)dp=H2;else{Ae=159;break}}else Ae=159;while(!1);(Ae|0)==159&&(Ae=0,t5=P2+1|0,e[Ti>>2]=t5,x=P2),F5=E$+1|0,i5=Le+(E$<<2)|0,e[i5>>2]=x,_5=(De+1824|0)+(x<<2)|0,e[_5>>2]=W2,SC=F5}if(b5=Q$+1|0,Y5=e[bo>>2]|0,g5=(b5|0)<(Y5|0),g5)qr=SC,Q$=b5;else break}}else{if(Gg)for(Qm=(_7+(ri<<5)|0)+28|0,Sn=e[Qm>>2]|0,ym=r7+24|0,xa=0;;)if(x7=ym+(xa<<2)|0,vm=Sn+(xa<<4)|0,km=e[vm>>2]|0,Sm=(km|0)==0,Sm||(bm=e[x7>>2]|0,Dm=bm|1,e[x7>>2]=Dm),_m=(Sn+(xa<<4)|0)+4|0,L7=e[_m>>2]|0,xm=(L7|0)==0,xm||($6=e[x7>>2]|0,n3=$6|2,e[x7>>2]=n3),l3=(Sn+(xa<<4)|0)+8|0,N3=e[l3>>2]|0,E6=(N3|0)==0,E6||(k3=e[x7>>2]|0,S3=k3|4,e[x7>>2]=S3),a6=(Sn+(xa<<4)|0)+12|0,i6=e[a6>>2]|0,V3=(i6|0)==0,V3||(Z5=e[x7>>2]|0,x3=Z5|8,e[x7>>2]=x3),h3=xa+1|0,J3=e[bo>>2]|0,h6=(h3|0)<(J3|0),h6)xa=h3;else{Kg=J3;break}else Kg=XA;Lm=(_7+(ri<<5)|0)+20|0,Og=e[Lm>>2]|0,B7=De+24|0,Ia=e[B7>>2]|0,e$=(Ia|0)>0,qg=Og;e:do if(e$)for(gp=0;;){if(Hg=(De+1824|0)+(gp<<2)|0,Rm=e[Hg>>2]|0,Yg=(Rm|0)==(Og|0),Yg){B=gp;break e}if(Vg=gp+1|0,Fm=(Vg|0)<(Ia|0),Fm)gp=Vg;else{Ae=100;break}}else Ae=100;while(!1);if((Ae|0)==100&&(Ae=0,zg=Ia+1|0,e[B7>>2]=zg,B=Ia),Nm=r7+20|0,e[Nm>>2]=B,Gm=(De+1824|0)+(B<<2)|0,e[Gm>>2]=qg,Um=(Kg|0)>0,!Um)break;for(Do=(_7+(ri<<5)|0)+28|0,ma=r7+280|0,Uo=0,C$=0;;){if(pa=e[Do>>2]|0,Pm=pa+(C$<<4)|0,t$=e[Pm>>2]|0,qm=(t$|0)==0,Wg=t$,qm)xo=pa,Rn=Uo;else{_o=e[B7>>2]|0,Hm=(_o|0)>0;e:do if(Hm)for(Ep=0;;){if(Ym=(De+1824|0)+(Ep<<2)|0,i$=e[Ym>>2]|0,r$=(i$|0)==(t$|0),r$){w=Ep;break e}if(Ea=Ep+1|0,n$=(Ea|0)<(_o|0),n$)Ep=Ea;else{Ae=107;break}}else Ae=107;while(!1);(Ae|0)==107&&(Ae=0,o$=_o+1|0,e[B7>>2]=o$,w=_o),Tr=Uo+1|0,Nr=ma+(Uo<<2)|0,e[Nr>>2]=w,s$=(De+1824|0)+(w<<2)|0,e[s$>>2]=Wg,J=e[Do>>2]|0,xo=J,Rn=Tr}if(a$=(xo+(C$<<4)|0)+4|0,gr=e[a$>>2]|0,bn=(gr|0)==0,Vm=gr,bn)M5=xo,Ln=Rn;else{y5=e[B7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Ip=0;;){if(h5=(De+1824|0)+(Ip<<2)|0,l5=e[h5>>2]|0,X2=(l5|0)==(gr|0),X2){S=Ip;break e}if(g2=Ip+1|0,w5=(g2|0)<(y5|0),w5)Ip=g2;else{Ae=171;break}}else Ae=171;while(!1);(Ae|0)==171&&(Ae=0,r5=y5+1|0,e[B7>>2]=r5,S=y5),a5=Rn+1|0,d5=ma+(Rn<<2)|0,e[d5>>2]=S,z2=(De+1824|0)+(S<<2)|0,e[z2>>2]=Vm,j=e[Do>>2]|0,M5=j,Ln=a5}if(f5=(M5+(C$<<4)|0)+8|0,e5=e[f5>>2]|0,c5=(e5|0)==0,F2=e5,c5)f3=M5,Mn=Ln;else{v5=e[B7>>2]|0,J5=(v5|0)>0;e:do if(J5)for(mp=0;;){if(i3=(De+1824|0)+(mp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(e5|0),I3){b=mp;break e}if(d3=mp+1|0,r3=(d3|0)<(v5|0),r3)mp=d3;else{Ae=177;break}}else Ae=177;while(!1);(Ae|0)==177&&(Ae=0,a3=v5+1|0,e[B7>>2]=a3,b=v5),B3=Ln+1|0,N5=ma+(Ln<<2)|0,e[N5>>2]=b,W5=(De+1824|0)+(b<<2)|0,e[W5>>2]=F2,u0=e[Do>>2]|0,f3=u0,Mn=B3}if(D3=(f3+(C$<<4)|0)+12|0,y3=e[D3>>2]|0,X3=(y3|0)==0,q3=y3,X3)O9=Mn;else{b3=e[B7>>2]|0,t3=(b3|0)>0;e:do if(t3)for(pp=0;;){if(s6=(De+1824|0)+(pp<<2)|0,T3=e[s6>>2]|0,H3=(T3|0)==(y3|0),H3){v=pp;break e}if(c3=pp+1|0,g3=(c3|0)<(b3|0),g3)pp=c3;else{Ae=183;break}}else Ae=183;while(!1);(Ae|0)==183&&(Ae=0,u3=b3+1|0,e[B7>>2]=u3,v=b3),Q3=Mn+1|0,z5=ma+(Mn<<2)|0,e[z5>>2]=v,V5=(De+1824|0)+(v<<2)|0,e[V5>>2]=q3,O9=Q3}if(S5=C$+1|0,Y3=e[bo>>2]|0,G5=(S5|0)<(Y3|0),G5)Uo=O9,C$=S5;else break}}while(!1);ru=De+3480|0,nu=+l1[ru>>3],Da=nu*1e3,Fo=(De+1056|0)+(Q7<<2)|0,No=e[Fo>>2]|0,$p=e[kg>>2]|0,Go=+($p|0),hr=Go*.5,ou=De+(Q7<<2)|0,Ur=e[ou>>2]|0,o7=Ur>>1,h$=Da>hr,DC=h$?hr:Da,d$=DC/hr,W7=+(o7|0),I$=W7*d$,m$=~~I$,Pr=No+1116|0,e[Pr>>2]=m$,g6=(_7+(ri<<5)|0)+4|0,_a=e[g6>>2]|0;do if((_a|0)==2)au=250;else if((_a|0)==1){if(Or=e[Tg>>2]|0,su=(Or|0)==0,L4=De+2996|0,p$=De+2968|0,ey=su?p$:L4,XQ=e[ey>>2]|0,jQ=+(XQ|0),_C=jQ*1e3,kt=_C>hr,!kt){au=_C;break}au=hr}else au=DC;while(!1);C0=e[Fg>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=De+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(cE=0;;){if(y0=(De+544|0)+(cE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(Qp=0;;){K0=(w0+1092|0)+(Qp<<2)|0,v0=e[K0>>2]|0,T0=(v0|0)==(ri|0);do if(T0){if(N0=e[Sg>>2]|0,U0=(N0|0)>0,U0)bC=0,hE=0;else{cp=0;break}for(;;)if(O0=(w0+4|0)+(hE<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)==(Qp|0),F0=V0&1,V=F0+bC|0,L0=hE+1|0,UQ=(L0|0)==(N0|0),UQ){cp=V;break}else bC=V,hE=L0}else cp=0;while(!1);if(G0=Qp+1|0,J0=(G0|0)<(B0|0),q0=(cp|0)==0,Z0=J0&q0,Z0)Qp=G0;else{AE=cp;break}}else AE=0;if(P0=cE+1|0,H0=(P0|0)<(b0|0),o1=(AE|0)==0,Y0=H0&o1,Y0)cE=P0;else{aE=AE;break}}else aE=0;if(i1=au/hr,x0=+(aE|0),n1=x0*W7,g1=n1*i1,m1=e[WA>>2]|0,d1=+(m1|0),u1=g1/d1,A1=u1+.9,c1=~~A1,s1=o5(c1,m1)|0,$1=r7+4|0,e[$1>>2]=s1,j0=o5(aE,o7)|0,E1=(s1|0)>(j0|0),!E1){q=$1,Z1=s1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,q=$1,Z1=p1,x1=m1}else{if(B1=au/hr,w1=B1*W7,v1=e[WA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,S1=~~M1,D1=o5(S1,v1)|0,F1=r7+4|0,e[F1>>2]=D1,U1=(D1|0)>(o7|0),!U1){q=F1,Z1=D1,x1=v1;break}b1=(o7|0)%(v1|0)&-1,P1=o7-b1|0,e[F1>>2]=P1,q=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[q>>2]=x1),m3=gE+1|0,M6=e[da>>2]|0,R6=(m3|0)<(M6|0),R6)gE=m3;else break}if(S6=Q7+1|0,r6=(S6|0)<(a|0),r6)Q7=S6;else break}return d6=n0+3428|0,b6=e[d6>>2]|0,G6=(b6|0)>0,G6?(X6=t+16|0,e[X6>>2]=b6):(v6=e[f0>>2]|0,L3=v6+3396|0,o6=e[L3>>2]|0,C6=v6+3400|0,z3=+l1[C6>>3],M3=~~z3,K3=+(M3|0),e6=z3-K3,F6=o6+4|0,l6=e[F6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(K6=e[Sg>>2]|0,B6=l6+(M3<<3)|0,R3=+l1[B6>>3],Y6=1-e6,A6=R3*Y6,D6=M3+1|0,U6=l6+(D6<<3)|0,t9=+l1[U6>>3],Q6=t9*e6,e9=Q6+A6,G3=+(K6|0),V6=e9*G3,ty=~~V6,Q=ty),s9=t+16|0,e[s9>>2]=Q),c9=n0+3424|0,P6=e[c9>>2]|0,J6=t+20|0,e[J6>>2]=P6,T6=n0+3440|0,i9=e[T6>>2]|0,_6=t+12|0,e[_6>>2]=i9,O6=(b6|0)==0,O6?g0=0:(U3=n0+3444|0,a9=e[U3>>2]|0,h9=+(a9|0),o9=+(b6|0),C9=h9/o9,B9=~~C9,g0=B9),Q9=t+24|0,e[Q9>>2]=g0,d9=n0+3420|0,f9=e[d9>>2]|0,H9=(f9|0)==0,H9?(E=0,E|0):(y6=e[d6>>2]|0,A9=n0+3360|0,e[A9>>2]=y6,Y9=e[c9>>2]|0,y9=n0+3364|0,e[y9>>2]=Y9,ye=e[T6>>2]|0,ge=n0+3368|0,e[ge>>2]=ye,pe=n0+3444|0,V9=e[pe>>2]|0,ie=n0+3372|0,e[ie>>2]=V9,R9=n0+3448|0,w9=+l1[R9>>3],$9=n0+3376|0,l1[$9>>3]=w9,we=n0+3432|0,Re=+l1[we>>3],ue=n0+3384|0,l1[ue>>3]=Re,E=0,E|0)}function Vb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0;if(V=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,T=m,N=y+3400|0,Q=Jb(o,a,T,0,N)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)d=-130;else return zb(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=Yb(t)|0,D=(w|0)==0,D?(g=0,g|0):(mC(t),g=w,g|0);return mC(t),g=d,g|0}function iE(t,o,a,$,g,d){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,W=t+28|0,$0=e[W>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,d1=e[Z0>>2]|0,I1=+(d1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),T=F*E,N=($+(B*20|0)|0)+4|0,G=e[N>>2]|0,V=+(G|0),X=V*M,K=X+T,a0=K,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,J=e[s0>>2]|0,o0=+(J|0),q=o0*E,h0=($+(B*20|0)|0)+8|0,t0=e[h0>>2]|0,j=+(t0|0),u0=j*M,c0=u0+q,l0=c0,Z=N0+20|0,s[Z>>2]=l0,I0=($+(m*20|0)|0)+12|0,g0=+s[I0>>2],f0=g0,n0=f0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,K0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,U0=T0*M,O0=U0+K0,k0=O0,V0=N0+28|0,s[V0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),z0=G0*E,J0=g+(B<<2)|0,q0=e[J0>>2]|0,P0=+(q0|0),H0=P0*M,o1=H0+z0,Y0=o1,i1=N0+496|0,s[i1>>2]=Y0,p1=0;x0=(d+(m*68|0)|0)+(p1<<2)|0,n1=e[x0>>2]|0,h1=+(n1|0),g1=h1*E,m1=(d+(B*68|0)|0)+(p1<<2)|0,u1=e[m1>>2]|0,A1=+(u1|0),c1=A1*M,s1=c1+g1,$1=s1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function rE(t,o,a,$,g,d,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),h0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,S1=e[j0>>2]|0,q1=+(S1|0),D=1-h0,X=q1*D,K=v+1|0,a0=$+(K<<2)|0,W=e[a0>>2]|0,r0=+(W|0),s0=r0*h0,J=s0+X,o0=J,q=x0+108|0,s[q>>2]=o0,t0=d+(a*12|0)|0,j=e[t0>>2]|0,u0=x0+120|0,e[u0>>2]=j,c0=(d+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,Z=(d+(a*12|0)|0)+8|0,I0=e[Z>>2]|0,g0=x0+128|0,e[g0>>2]=I0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,d0=e[f0>>2]|0,p0=+(d0|0),C0=p0*D,S0=(g+(K*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*h0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,K0=i2+1|0,K1=(K0|0)==17,K1){l2=0;break}else i2=K0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(l2<<2)|0,D1=e[M1>>2]|0,R1=+(D1|0),F1=R1*D,U1=((g+(K*204|0)|0)+68|0)+(l2<<2)|0,b1=e[U1>>2]|0,P1=+(b1|0),Z1=P1*h0,G1=Z1+F1,x1=G1,z1=(x0+200|0)+(l2<<2)|0,s[z1>>2]=x1,H1=l2+1|0,h2=(H1|0)==17,h2){r2=0;break}else l2=H1;for(;Y1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,V1=e[Y1>>2]|0,X1=+(V1|0),n2=X1*D,j1=((g+(K*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,c2=+(O1|0),W1=c2*h0,d2=W1+n2,y=d2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,$2=(M|0)==17,!$2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,T=R,N=T+m,G=N,V=G>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,U0=N0,O0=U0>2]=A2,V0=M0+1|0,s2=(V0|0)==17,!s2;)M0=V0;for(F0=x0+200|0,G0=+s[F0>>2],z0=G0+6,J0=x0+200|0,q0=G0,Z0=q0+m,P0=Z0,H0=P0>2]=o2,o1=1;E=(x0+200|0)+(o1<<2)|0,S=+s[E>>2],Y0=(x0+200|0)+(o1<<2)|0,i1=S,n1=i1+m,h1=n1,g1=h1>2]=e2,m1=o1+1|0,E2=(m1|0)==17,!E2;)o1=m1;for(d1=x0+268|0,u1=+s[d1>>2],A1=u1+6,c1=x0+268|0,s1=u1,$1=s1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=f2,L1=Q1+1|0,a2=(L1|0)==17,!a2;)Q1=L1}function Jb(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(J=26336,j0=0;;){if(s0=e[J>>2]|0,o0=s0+12|0,q=e[o0>>2]|0,h0=(q|0)==-1,j=(q|0)==(t|0),p1=h0|j,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,Z=e[l0>>2]|0,I0=(Z|0)<(o|0),!I0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,K0=t0+12|0,G0=e[K0>>2]|0,n1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=n1|A1,B1&&(c1=t0+16|0,D=e[c1>>2]|0,y=(D|0)>(o|0),!y&&(x=t0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[t0>>2]|0,F=t0+4|0,T=e[F>>2]|0,N=+l1[T>>3],G=V>3],a0=V>K,!a0))))){m=V,I=R,E=d0,Q=T,u1=N;break e}if($1=E1+1|0,W=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else d0=W,E1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=u1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return U0=(I1|0)==(I|0),U0?(O0=+(I|0),k0=O0+-.001,w1=k0):(V0=Q+(I1<<3)|0,F0=+l1[V0>>3],L0=F0,z0=I1+1|0,J0=Q+(z0<<3)|0,q0=+l1[J0>>3],Z0=q0,P0=L0,H0=m-P0,o1=Z0-L0,Y0=o1,i1=H0/Y0,x0=i1,h1=+(I1|0),g1=x0+h1,m1=g1,w1=m1),l1[g>>3]=w1,d1=e[E>>2]|0,d=d1,d|0}function zb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,U0=E+3456|0,e[U0>>2]=1,P0=E+3460|0,e[P0>>2]=1,o1=E+3400|0,Y0=+l1[o1>>3],Q=~~Y0,B=+(Q|0),S=Y0-B,b=E+3472|0,l1[b>>3]=Y0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,T=R*F,N=Q+1|0,G=x+(N<<3)|0,V=+l1[G>>3],X=V*S,K=X+T,a0=E+3480|0,l1[a0>>3]=K,g=N,d=F):($=1-S,m=Q+1|0,g=m,d=$),W=r0+112|0,s0=e[W>>2]|0,J=s0+(Q<<2)|0,o0=e[J>>2]|0,q=+(o0|0),h0=q*d,t0=s0+(g<<2)|0,j=e[t0>>2]|0,u0=+(j|0),c0=u0*S,$0=c0+h0,Z=E+3496|0,l1[Z>>3]=$0,I0=r0+116|0,g0=e[I0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,d0=+(n0|0),p0=d0*d,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=Y0,K0=E+3528|0,l1[K0>>3]=Y0,M0=E+3536|0,l1[M0>>3]=Y0,v0=E+3544|0,l1[v0>>3]=Y0,T0=E+3552|0,l1[T0>>3]=Y0,N0=E+3560|0,l1[N0>>3]=Y0,O0=E+3568|0,l1[O0>>3]=Y0,k0=E+3576|0,l1[k0>>3]=Y0,V0=E+3584|0,l1[V0>>3]=Y0,F0=E+3592|0,l1[F0>>3]=Y0,L0=E+3600|0,l1[L0>>3]=Y0,G0=E+3608|0,l1[G0>>3]=Y0,z0=E+3616|0,l1[z0>>3]=Y0,J0=E+3624|0,l1[J0>>3]=Y0,q0=E+3632|0,l1[q0>>3]=Y0,Z0=E+3640|0,l1[Z0>>3]=Y0,H0=E+3648|0,l1[H0>>3]=Y0}function Kb(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,K0=o+(L<<2)|0,M0=e[K0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,T=(S|0)/2&-1,N=T+y|0,m=(D|0)/-4&-1,G=N+m|0,V=(D|0)/2&-1,X=G+V|0,K=(M|0)>0,K?(a0=y-x|0,W=a0<<2,g4(t|0,0,W|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(J=y+R|0,o0=J-N0|0,q=o0-x|0,U0=N0,V0=0;u0=_0+(V0<<2)|0,c0=+s[u0>>2],$0=t+(U0<<2)|0,Z=+s[$0>>2],I0=Z*c0,s[$0>>2]=I0,g0=U0+1|0,f0=V0+1|0,T0=(f0|0)==(q|0),!T0;)U0=g0,V0=f0;if(h0=(D|0)>1,h0){for(t0=G+1|0,j=(X|0)>(t0|0),k0=G,L0=V;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(X|0),B0;)k0=w0,L0=F0;z0=j?X:t0,O0=z0}else O0=G;n0=(S|0)>(O0|0),n0&&(G0=t+(O0<<2)|0,d0=S-O0|0,p0=d0<<2,g4(G0|0,0,p0|0)|0)}function Wb(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,C=C+64|0,$0=Z+32|0,c0=Z,$=M9(688)|0,g=$+408|0,$b(g),D=~~o,Vb(g,t,D,a)|0,X=$+440|0,sb(X),ab(X,553008,553016),o0=$+456|0,NS(o0,g)|0,q=$+568|0,FS(o0,q)|0,h0=tQ(0)|0,rD(h0),t0=nD()|0,kS($,t0)|0,j=$+680|0,e[j>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,lb(o0,X,d,$0,c0)|0,eE($,d)|0,eE($,$0)|0,eE($,c0)|0,m=$+392|0,I=rQ($,m)|0,E=(I|0)==0,E)return C=Z,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[j>>2]|0,T=J7(F,x)|0,e[j>>2]=T,N=e[u0>>2]|0,G=T+N|0,V=e[m>>2]|0,K=e[Q>>2]|0,ce(G|0,V|0,K|0)|0,a0=K+N|0,e[u0>>2]=a0,W=T+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ce(W|0,r0|0,s0|0)|0,J=s0+a0|0,e[u0>>2]=J),L=rQ($,m)|0,R=(L|0)==0,!R;);return C=Z,$|0}function Zb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;E=C,SS(t)|0,o=t+568|0,TS(o)|0,a=t+456|0,aQ(a),$=t+440|0,Ab($),g=t+408|0,mC(g),d=t+680|0,m=e[d>>2]|0,p2(m),p2(t)}function jb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=AQ(a,o)|0,$|0}function Xb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,a=t+456|0,GS(a,o)|0,$=t+568|0,w=$Q(a,$)|0,V=(w|0)==1,!!V)for(h0=t+360|0,t0=t+392|0,j=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(xS($,0)|0,RS($)|0,E=sQ(a,h0)|0,Q=(E|0)==0,!Q)for(;;){if(eE(t,h0)|0,b=nQ(t,t0)|0,v=(b|0)==0,!v)for(;D=e[j>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(N=e[$0>>2]|0,G=J7(N,L)|0,e[$0>>2]=G,X=e[j>>2]|0,K=G+X|0,a0=e[g>>2]|0,W=e[u0>>2]|0,ce(K|0,a0|0,W|0)|0,r0=W+X|0,e[j>>2]=r0,s0=G+r0|0,J=e[d>>2]|0,o0=e[c0>>2]|0,ce(s0|0,J|0,o0|0)|0,q=o0+r0|0,e[j>>2]=q),F=nQ(t,t0)|0,T=(F|0)==0,!T;);if(B=sQ(a,h0)|0,S=(B|0)==0,S)break}if(m=$Q(a,$)|0,I=(m|0)==1,!I)break}}function eD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function tD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function nE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+iD(t,o),+a}function Nu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0;if(N3=C,C=C+688|0,n3=N3+424|0,K5=N3+192|0,t3=N3,o0=o5(a,o)|0,q=(o0|0)==0,q){C=N3;return}for(W=o0-a|0,Y1=t3+4|0,e[Y1>>2]=a,e[t3>>2]=a,t2=a,I5=a,D3=2;a2=t2+a|0,G2=a2+I5|0,T5=t3+(D3<<2)|0,e[T5>>2]=G2,D5=G2>>>0>>0,n5=D3+1|0,D5;)k2=I5,I5=G2,D3=n5,t2=k2;if(h0=0-a|0,n0=t+W|0,_0=(W|0)>0,_0)for(L0=(a|0)==0,x0=n0,S1=1,Z2=0,N5=t,H5=1;;){j0=S1&3,z1=(j0|0)==3;do if(z1){e[K5>>2]=N5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=N5,O1=N5,X5=1;;){if(H1=y+h0|0,V1=B+-2|0,X1=t3+(V1<<2)|0,n2=e[X1>>2]|0,G5=n2+a|0,r0=0-G5|0,j1=y+r0|0,c2=mi[$&15](O1,j1)|0,W1=(c2|0)>-1,W1&&(d2=mi[$&15](O1,H1)|0,s2=(d2|0)>-1,s2)){f3=X5;break}if(E2=mi[$&15](j1,H1)|0,K1=(E2|0)>-1,h2=X5+1|0,$2=K5+(X5<<2)|0,K1?(e[$2>>2]=j1,i2=B+-1|0,d=j1,E=i2):(e[$2>>2]=H1,d=H1,E=V1),l2=(E|0)>1,!l2){f3=h2;break}V=e[K5>>2]|0,B=E,y=d,O1=V,X5=h2}if(r2=(f3|0)<2,!r2&&(A2=K5+(f3<<2)|0,e[A2>>2]=n3,!L0))for(w=a,P2=n3;;){for(m2=w>>>0>256,o2=m2?256:w,W2=e[K5>>2]|0,ce(P2|0,W2|0,o2|0)|0,L2=W2,X3=0;D2=K5+(X3<<2)|0,S2=X3+1|0,Q2=K5+(S2<<2)|0,N2=e[Q2>>2]|0,ce(L2|0,N2|0,o2|0)|0,U2=L2+o2|0,e[D2>>2]=U2,r3=(S2|0)==(f3|0),!r3;)L2=N2,X3=S2;if(e2=(w|0)==(o2|0),e2)break e;f2=w-o2|0,K=e[A2>>2]|0,w=f2,P2=K}}while(!1);V2=S1>>>2,q2=Z2<<30,A5=V2|q2,H2=Z2>>>2,N1=H5+2|0,l0=A5,x1=H2,V5=N1}else{if(t5=H5+-1|0,F5=t3+(t5<<2)|0,i5=e[F5>>2]|0,_5=N5,j2=x0-_5|0,b5=i5>>>0>>0,b5){e[K5>>2]=N5,Y5=(H5|0)>1;e:do if(Y5){for(S=H5,x=N5,M2=N5,b3=1;;){if(g5=x+h0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,s5=e[B5>>2]|0,$6=s5+a|0,s0=0-$6|0,R2=x+s0|0,y2=mi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=mi[$&15](M2,g5)|0,x5=(m5|0)>-1,x5)){y3=b3;break}if(q5=mi[$&15](R2,g5)|0,L5=(q5|0)>-1,Y2=b3+1|0,p5=K5+(b3<<2)|0,L5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){y3=Y2;break}X=e[K5>>2]|0,S=Q,x=m,M2=X,b3=Y2}if(y5=(y3|0)<2,!y5&&(T1=K5+(y3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,e5=n3;;){for(f5=D>>>0>256,l5=f5?256:D,M5=e[K5>>2]|0,ce(e5|0,M5|0,l5|0)|0,d5=M5,q3=0;g2=K5+(q3<<2)|0,w5=q3+1|0,r5=K5+(w5<<2)|0,a5=e[r5>>2]|0,ce(d5|0,a5|0,l5|0)|0,z2=d5+l5|0,e[g2>>2]=z2,a3=(w5|0)==(y3|0),!a3;)d5=a5,q3=w5;if(h5=(D|0)==(l5|0),h5)break e;X2=D-l5|0,a0=e[T1>>2]|0,D=X2,e5=a0}}while(!1)}else oE(N5,a,$,S1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=Z2<<1,v5=S1>>>31,J5=v5|F2,i3=S1<<1,l0=i3,x1=J5,V5=0;break}else{E5=t5>>>0>31,I3=H5+-33|0,g=E5?0:S1,M=E5?S1:Z2,L=E5?I3:t5,d3=M<>>t0,u0=j|d3,c0=g<>>0>>0,I0)S1=$0,Z2=x1,N5=Z,H5=V5;else{T=x1,N=$0,B3=Z,z5=V5;break}}else T=0,N=1,B3=t,z5=1;if(oE(B3,a,$,N,T,z5,0,t3),g0=(z5|0)==1,f0=(N|0)==1,Q3=f0&g0,d0=(T|0)==0,u3=d0&Q3,u3){C=N3;return}else S0=N,v0=T,W5=B3,S5=z5;for(;;){if(p0=(S5|0)<2,!p0){H0=v0<<2,o1=S0>>>30,Y0=o1|H0,i1=S5+-2|0,n1=S0<<1,h1=n1&2147483646,g1=o1<<31,m1=h1|g1,d1=m1^3,u1=Y0>>>1,A1=t3+(i1<<2)|0,c1=e[A1>>2]|0,Y3=c1+a|0,J=0-Y3|0,s1=W5+J|0,$1=S5+-1|0,oE(s1,a,$,d1,u1,$1,1,t3),E1=u1<<1,I1=o1&1,Q1=E1|I1,p1=d1<<1,B1=p1|1,w1=W5+h0|0,oE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,W5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)P0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,K0=(B0|0)==0,K0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:J0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){P0=64,l3=56;break}if(N0=v0&1,U0=(N0|0)==0,U0)v=v0,T3=0;else{I=0,k1=S0,D1=v0,b1=0;break}for(;;)if(O0=T3+1|0,k0=v>>>1,V0=k0&1,F0=(V0|0)==0,F0)v=k0,T3=O0;else{F=O0,H3=T3;break}if(G0=H3+33|0,z0=(F|0)==0,z0){I=0,k1=S0,D1=v0,b1=0;break}else J0=G0}q0=J0>>>0>31,q0?(P0=J0,l3=56):(I=J0,k1=S0,D1=v0,b1=J0)}while(!1);if((l3|0)==56&&(l3=0,Z0=P0+-32|0,I=Z0,k1=v0,D1=0,b1=P0),v1=k1>>>I,L1=32-I|0,M1=D1<>>I,U1=b1+S5|0,G=W5+h0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,W5=G,S5=U1}C=N3}function oE(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,q2=y2+228|0,G2=y2,e[G2>>2]=t,q=0-o|0,h0=($|0)!=1,v0=(g|0)!=0,J0=v0|h0;e:do if(J0)if(g1=I+(d<<2)|0,Q1=e[g1>>2]|0,F1=0-Q1|0,V1=t+F1|0,K1=mi[a&15](V1,t)|0,k2=(K1|0)<1,k2)B=t,M=d,G=m,H2=1,M2=18;else for(v=t,T=d,V=m,B0=V1,H0=g,_5=1,b2=$;;){if(t0=(V|0)==0,d0=(T|0)>1,g5=t0&d0,g5){if(b0=v+q|0,E0=T+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=mi[a&15](b0,B0)|0,K0=(_0|0)>-1,K0){S=v,L=T,t5=_5;break e}if(B5=w0+o|0,J=0-B5|0,M0=v+J|0,T0=mi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=T,t5=_5;break e}}U0=_5+1|0,O0=G2+(_5<<2)|0,e[O0>>2]=B0,k0=b2+-1|0,V0=(k0|0)==0;do if(V0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,z0=y>>>1,q0=z0&1,Z0=(q0|0)==0,Z0)y=z0,I5=G0;else{X=G0;break}P0=(X|0)==0,P0?M2=10:A1=X}else M2=10;if((M2|0)==10){if(M2=0,o1=(H0|0)==0,o1){$1=64,M2=15;break}if(Y0=H0&1,i1=(Y0|0)==0,i1)x=H0,b5=0;else{Q=0,E1=b2,B1=H0,L1=0;break}for(;;)if(x0=b5+1|0,n1=x>>>1,h1=n1&1,m1=(h1|0)==0,m1)x=n1,b5=x0;else{K=x0,Y5=b5;break}if(d1=Y5+33|0,u1=(K|0)==0,u1){Q=0,E1=b2,B1=H0,L1=0;break}else A1=d1}c1=A1>>>0>31,c1?($1=A1,M2=15):(Q=A1,E1=b2,B1=H0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,s1=$1+-32|0,Q=s1,E1=H0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+T|0,M1=(w1|0)!=1,S1=(v1|0)!=0,D1=S1|M1,!D1){S=B0,L=k1,t5=U0;break e}if(a0=e[G2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,b1=0-U1|0,P1=B0+b1|0,Z1=mi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,G=0,H2=U0,M2=18;break}else w=B0,T=k1,V=0,B0=P1,H0=v1,_5=U0,b2=w1,v=w}else B=t,M=d,G=m,H2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(G|0)==0,x1)S=B,L=M,t5=H2;else{C=y2;return}z1=(t5|0)<2;e:do if(!z1&&(q1=G2+(t5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,h2=R2;;){for(E2=F>>>0>256,X1=E2?256:F,a2=e[G2>>2]|0,ce(h2|0,a2|0,X1|0)|0,d2=a2,i5=0;j1=G2+(i5<<2)|0,O1=i5+1|0,c2=G2+(O1<<2)|0,W1=e[c2>>2]|0,ce(d2|0,W1|0,X1|0)|0,s2=d2+X1|0,e[j1>>2]=s2,A5=(O1|0)==(t5|0),!A5;)d2=W1,i5=O1;if(Y1=(F|0)==(X1|0),Y1)break e;n2=F-X1|0,s0=e[q1>>2]|0,F=n2,h2=s0}while(!1);e[q2>>2]=S,$2=(L|0)>1;e:do if($2){for(D=L,N=S,o2=S,j2=1;;){if(i2=N+q|0,l2=D+-2|0,r2=I+(l2<<2)|0,A2=e[r2>>2]|0,s5=A2+o|0,o0=0-s5|0,e2=N+o0|0,f2=mi[a&15](o2,e2)|0,t2=(f2|0)>-1,t2&&(D2=mi[a&15](o2,i2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(Q2=mi[a&15](e2,i2)|0,N2=(Q2|0)>-1,L2=j2+1|0,U2=q2+(j2<<2)|0,N2?(e[U2>>2]=e2,m2=D+-1|0,E=e2,b=m2):(e[U2>>2]=i2,E=i2,b=l2),W2=(b|0)>1,!W2){N1=L2;break}W=e[q2>>2]|0,D=b,N=E,o2=W,j2=L2}if(P2=(N1|0)<2,P2)Q0=R2;else if(V2=q2+(N1<<2)|0,e[V2>>2]=R2,j=(o|0)==0,j)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[q2>>2]|0,ce(S0|0,C0|0,c0|0)|0,f0=C0,F5=0;l0=q2+(F5<<2)|0,Z=F5+1|0,I0=q2+(Z<<2)|0,g0=e[I0>>2]|0,ce(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,Z2=(Z|0)==(N1|0),!Z2;)f0=g0,F5=Z;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[V2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function V7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,d=t+4503599627370496,m=d+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function DQ(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(d=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=d?I:Q,B=b==0,B?(S=d?-0:0,o=S,+o):(o=b,+o))}function iD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0;return X=C,d=(o|0)>1023,d?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,G=M):($=y,G=m)):(F=(o|0)<-1022,F?(T=t*22250738585072014e-324,N=o+1022|0,I=(N|0)<-1022,I?(E=T*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,G=E):($=N,G=T)):($=o,G=t)),S=$+1023|0,b=LQ(S|0,0,52)|0,v=j6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=G*w,+D}function rD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function nD(){var t=0,o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=AD(E|0,S|0,1284865837,1481765933)|0,v=j6,w=rs(b|0,v|0,1,0)|0,D=j6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=D,m=ns(w|0,D|0,33)|0,I=j6,m|0}function M9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,hs=0,Kn=0,ds=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,rr=0,Ts=0,$o=0,hn=0,lo=0,dn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,nr=0,br=0,z7=0,Dr=0,Io=0,K7=0,S7=0,b7=0,t7=0,D7=0,_r=0,or=0,sr=0,xr=0,p7=0,Ps=0,di=0,rl=0,In=0,mn=0,Gu=0,nl=0,Os=0,Uu=0,oA=0,ol=0,Pu=0,Ou=0,qu=0,sA=0,sl=0,al=0,aA=0,pn=0,Al=0,Hu=0,qs=0,ar=0,Yu=0,Vu=0,Ju=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,$l=0,Lr=0,th=0,ih=0,ll=0,rh=0,AA=0,Hs=0,$A=0,nh=0,oh=0,lA=0,cl=0,gl=0,ul=0,cA=0,hl=0,Ys=0,sh=0,ah=0,dl=0,Ah=0,$h=0,fl=0,lh=0,ch=0,Il=0,ml=0,pl=0,El=0,Cl=0,En=0,gh=0,Bl=0,uh=0,Ql=0,yl=0,hh=0,dh=0,fh=0,gA=0,wl=0,vl=0,mo=0,kl=0,uA=0,Ih=0,Sl=0,mh=0,bl=0,ph=0,Eh=0,Dl=0,_l=0,Ch=0,Vs=0,Bh=0,hA=0,xl=0,Ll=0,Qh=0,yh=0,wh=0,vh=0,kh=0,Sh=0,Js=0,Ml=0,Rl=0,Fl=0,zs=0,bh=0,Tl=0,Dh=0,Nl=0,_h=0,xh=0,Gl=0,dA=0,Lh=0,Mh=0,Ks=0,Rh=0,Ws=0,Fh=0,fA=0,Th=0,Nh=0,Gh=0,Ul=0,Uh=0,Ph=0,Oh=0,qh=0,Pl=0,Ol=0,Ar=0,ql=0,Zs=0,IA=0,mA=0,Cn=0,Hl=0,Bn=0,Hh=0,Yl=0,Yh=0,Vh=0,Jh=0,zh=0,js=0,pA=0,Mr=0,Kh=0,Wh=0,Vl=0,EA=0,Jl=0,zl=0,Zh=0,Kl=0,jh=0,CA=0,Xh=0,ed=0,z9=0,td=0,Wl=0,id=0,rd=0,BA=0,nd=0,QA=0,Zl=0,od=0,sd=0,jl=0,Xl=0,ad=0,yA=0,wA=0,ec=0,tc=0,Ad=0,ic=0,vA=0,$d=0,rc=0,ld=0,cd=0,gd=0,ud=0,nc=0,oc=0,kA=0,Xs=0,sc=0,hd=0,ac=0,Ac=0,dd=0,fd=0,Id=0,$c=0,md=0,pd=0,Ed=0,Cd=0,Bd=0,Qd=0,lc=0,yd=0,cc=0,wd=0,Qn=0,vd=0,gc=0,kd=0,po=0,uc=0,SA=0,Sd=0,ea=0,bA=0,bd=0,DA=0,hc=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,dc=0,Rd=0,Fd=0,Td=0,ta=0,Eo=0,_A=0,Nd=0,xA=0,Gd=0,Ud=0,Pd=0,fc=0,Od=0,qd=0,Hd=0,Yd=0,Vd=0,ia=0,Jd=0,zd=0,Ic=0,Kd=0,Wd=0,Zd=0,jd=0,E7=0,mc=0,C7=0,pc=0,LA=0,Xd=0,i7=0,Co=0,ef=0,tf=0,rf=0,nf=0,of=0,Ec=0,sf=0,af=0,Cc=0,Af=0,$f=0,Bo=0,MA=0,lf=0,Bc=0,cf=0,gf=0,ra=0,uf=0,hf=0,Qc=0,yc=0,df=0,ff=0,yn=0,If=0,mf=0,wn=0,pf=0,wc=0,Ef=0,Cf=0,Qo=0,vc=0,Bf=0,kc=0,Qf=0,$r=0,RA=0,yf=0,Sc=0,bc=0,wf=0,vf=0,Dc=0,kf=0,Sf=0,bf=0,_c=0,Df=0,yo=0,_f=0,vn=0,xf=0,Lf=0,FA=0,Mf=0,TA=0,NA=0,Rf=0,xc=0,Lc=0,Ff=0,Mc=0,Rc=0,Fc=0,Tf=0,Tc=0,Nc=0,Nf=0,Gf=0,Gc=0,Uc=0,Uf=0,Pc=0,Oc=0,Pf=0,Of=0,qc=0,GA=0,Hc=0,Yc=0,Vc=0,Jc=0,qf=0,Hf=0,Yf=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,zc=0,UA=0,Zf=0,jf=0,Xf=0,Kc=0,Wc=0,eI=0,Zc=0,PA=0,na=0,jc=0,tI=0,iI=0,rI=0,nI=0,Xc=0,oa=0,oI=0,sI=0,aI=0,AI=0,$I=0,lI=0,cI=0,gI=0,eg=0,uI=0,hI=0,dI=0,fI=0,sa=0,tg=0,II=0,mI=0,kn=0,ig=0,rg=0,OA=0,pI=0,ng=0,EI=0,og=0,sg=0,CI=0,BI=0,QI=0,yI=0,wI=0,aa=0,qA=0,vI=0,kI=0,SI=0,bI=0,ag=0,DI=0,Ag=0,_I=0,xI=0,$g=0,Rr=0,lg=0,cg=0,LI=0,gg=0,Aa=0,MI=0,RI=0,FI=0,$a=0,ug=0,TI=0,NI=0,hg=0,GI=0,UI=0,HA=0,la=0,PI=0,OI=0,qI=0,dg=0,fg=0,Ig=0,HI=0,YI=0,wo=0,VI=0,mg=0,JI=0,YA=0,pg=0,zI=0,KI=0,WI=0,ZI=0,Eg=0,jI=0,XI=0,Cg=0,ca=0,em=0,tm=0,im=0,vo=0,Bg=0,Qg=0,rm=0,yg=0,wg=0,_7=0,vg=0,lr=0,nm=0,om=0,sm=0,am=0,VA=0,ga=0,kg=0,Sg=0,Am=0,ua=0,ko=0,$m=0,ha=0,JA=0,lm=0,zA=0,cm=0,gm=0,bg=0,da=0,Dg=0,um=0,hm=0,dm=0,fm=0,_g=0,Im=0,ri=0,De=0,r7=0,mm=0,xg=0,Lg=0,KA=0,pm=0,Fr=0,So=0,Em=0,Cm=0,Mg=0,WA=0,Bm=0,Rg=0,Fg=0,Tg=0,ZA=0,jA=0,Ng=0,bo=0,XA=0,Gg=0,Qm=0,Sn=0,ym=0,Ug=0,fa=0,wm=0,Pg=0,x7=0,vm=0,km=0,Sm=0,bm=0,Dm=0,_m=0,L7=0,xm=0,Lm=0,Mm=0,Og=0,B7=0,Ia=0,e$=0,qg=0,Hg=0,Rm=0,Yg=0,Vg=0,Fm=0,Tm=0,Jg=0,zg=0,Nm=0,Gm=0,Kg=0,Um=0,Do=0,ma=0,pa=0,Pm=0,t$=0,Om=0,qm=0,Wg=0,_o=0,Hm=0,Ym=0,i$=0,r$=0,Ea=0,n$=0,o$=0,cr=0,Tr=0,Nr=0,s$=0,a$=0,xo=0,gr=0,bn=0,Vm=0,ur=0,Dn=0,Jm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,Zg=0,jg=0,Qa=0,A$=0,Ti=0,ya=0,Gr=0,$$=0,zm=0,l$=0,Km=0,c$=0,Xg=0,wa=0,Wm=0,Zm=0,va=0,jm=0,ka=0,_n=0,tt=0,Le=0,eu=0,Xm=0,g$=0,tu=0,ep=0,tp=0,Sa=0,ip=0,rp=0,np=0,op=0,iu=0,sp=0,ap=0,Ap=0,n7=0,ba=0,xn=0,u$=0,Lo=0,Mo=0,ni=0,Ro=0,ru=0,nu=0,Da=0,Fo=0,To=0,No=0,$p=0,Go=0,hr=0,ou=0,Ur=0,o7=0,h$=0,d$=0,W7=0,f$=0,I$=0,m$=0,Pr=0,g6=0,_a=0,Or=0,su=0,L4=0,p$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,je=0,E$=0;E$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,pe=t+11|0,Ke=pe&-8,x4=h2?16:Ke,Os=x4>>>3,fA=e[138262]|0,ta=fA>>>Os,Yc=ta&3,Cg=(Yc|0)==0,!Cg){$2=ta&1,f3=$2^1,g3=f3+Os|0,l3=g3<<1,h3=553088+(l3<<2)|0,S0=l3+2|0,G6=553088+(S0<<2)|0,F6=e[G6>>2]|0,U6=F6+8|0,T6=e[U6>>2]|0,Q9=(h3|0)==(T6|0);do if(Q9)V9=1<>>0>>0,d4&&v2(),Se=T6+12|0,S9=e[Se>>2]|0,Pt=(S9|0)==(F6|0),Pt){e[Se>>2]=h3,e[G6>>2]=T6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=F6+4|0,e[U4>>2]=p8,w0=pt|4,D4=F6+w0|0,We=e[D4>>2]|0,A8=We|1,e[D4>>2]=A8,tt=U6,tt|0}if(X4=e[138264]|0,W8=x4>>>0>X4>>>0,W8){if(qi=(ta|0)==0,!qi){Yi=ta<>>12,gn=ks&16,co=io>>>gn,nr=co>>>5,or=nr&8,Uu=or|gn,Al=co>>>or,ju=Al>>>2,$A=ju&4,ah=Uu|$A,Cl=Al>>>$A,wl=Cl>>>1,Dl=wl&2,vh=ah|Dl,Nl=Cl>>>Dl,Th=Nl>>>1,ql=Th&1,Jh=vh|ql,Zh=Nl>>>ql,BA=Jh+Zh|0,ec=BA<<1,nc=553088+(ec<<2)|0,P1=ec+2|0,$c=553088+(P1<<2)|0,Qn=e[$c>>2]|0,DA=Qn+8|0,Eo=e[DA>>2]|0,Yd=(nc|0)==(Eo|0);do if(Yd)mc=1<>>0>>0,$r&&v2(),_c=Eo+12|0,Rf=e[_c>>2]|0,Gf=(Rf|0)==(Qn|0),Gf){e[_c>>2]=nc,e[$c>>2]=Eo,w=e[138264]|0,la=w;break}else v2();while(!1);return Vc=BA<<3,UA=Vc-x4|0,tI=x4|3,lI=Qn+4|0,e[lI>>2]=tI,mI=Qn+x4|0,BI=UA|1,X1=x4|4,DI=Qn+X1|0,e[DI>>2]=BI,MI=Qn+Vc|0,e[MI>>2]=UA,mg=(la|0)==0,mg||(ca=e[138267]|0,vg=la>>>3,ua=vg<<1,Dg=553088+(ua<<2)|0,xg=e[138262]|0,Rg=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(G=Do,Ea=i2)),e[G>>2]=ca,g5=Ea+12|0,e[g5>>2]=ca,q5=ca+8|0,e[q5>>2]=Ea,X2=ca+12|0,e[X2>>2]=Dg),e[138264]=UA,e[138267]=mI,tt=DA,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=x4;else{for(W5=0-c5|0,D3=c5&W5,y3=D3+-1|0,X3=y3>>>12,q3=X3&16,X5=y3>>>q3,b3=X5>>>5,t3=b3&8,s6=t3|q3,T3=X5>>>t3,H3=T3>>>2,c3=H3&4,u3=s6|c3,Q3=T3>>>c3,z5=Q3>>>1,H5=z5&2,V5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,G5=Y3&1,$6=V5|G5,n3=S5>>>G5,N3=$6+n3|0,E6=553352+(N3<<2)|0,k3=e[E6>>2]|0,_3=k3+4|0,S3=e[_3>>2]|0,a6=S3&-8,i6=a6-x4|0,ba=i6,d$=k3,p$=k3;;){if(V3=d$+16|0,Z5=e[V3>>2]|0,x3=(Z5|0)==0,x3)if(J3=d$+20|0,h6=e[J3>>2]|0,m3=(h6|0)==0,m3){xn=ba,kt=p$;break}else M6=h6;else M6=Z5;L6=M6+4|0,R6=e[L6>>2]|0,S6=R6&-8,r6=S6-x4|0,d6=r6>>>0>>0,J=d6?r6:ba,a2=d6?M6:p$,ba=J,d$=M6,p$=a2}b6=e[138266]|0,X6=kt>>>0>>0,X6&&v2(),v6=kt+x4|0,L3=kt>>>0>>0,L3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,z3=e[C6>>2]|0,M3=(z3|0)==(kt|0);do if(M3){if(Y6=kt+20|0,A6=e[Y6>>2]|0,D6=(A6|0)==0,D6)if(t9=kt+16|0,Q6=e[t9>>2]|0,e9=(Q6|0)==0,e9){Mi=0;break}else gr=Q6,Ca=t9;else gr=A6,Ca=Y6;for(;;){if(G3=gr+20|0,n9=e[G3>>2]|0,V6=(n9|0)==0,!V6){gr=n9,Ca=G3;continue}if(s9=gr+16|0,c9=e[s9>>2]|0,P6=(c9|0)==0,P6){ur=gr,jg=Ca;break}else gr=c9,Ca=s9}if(J6=jg>>>0>>0,J6)v2();else{e[jg>>2]=0,Mi=ur;break}}else if(K3=kt+8|0,e6=e[K3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,K6=e[o3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),c6=z3+8|0,B6=e[c6>>2]|0,R3=(B6|0)==(kt|0),R3){e[o3>>2]=z3,e[c6>>2]=e6,Mi=z3;break}else v2();while(!1);i9=(o6|0)==0;do if(!i9){if(_6=kt+28|0,O6=e[_6>>2]|0,U3=553352+(O6<<2)|0,q6=e[U3>>2]|0,a9=(kt|0)==(q6|0),a9){if(e[U3>>2]=Mi,Wm=(Mi|0)==0,Wm){h9=1<>>0>>0,f9&&v2(),H9=o6+16|0,y6=e[H9>>2]|0,H6=(y6|0)==(kt|0),H6?e[H9>>2]=Mi:(A9=o6+20|0,e[A9>>2]=Mi),Y9=(Mi|0)==0,Y9)break;y9=e[138266]|0,ye=Mi>>>0>>0,ye&&v2(),ge=Mi+24|0,e[ge>>2]=o6,ie=kt+16|0,R9=e[ie>>2]|0,w9=(R9|0)==0;do if(!w9)if(W6=R9>>>0>>0,W6)v2();else{$9=Mi+16|0,e[$9>>2]=R9,we=R9+24|0,e[we>>2]=Mi;break}while(!1);if(Re=kt+20|0,ue=e[Re>>2]|0,D9=(ue|0)==0,!D9)if(Fe=e[138266]|0,Ge=ue>>>0>>0,Ge)v2();else{qe=Mi+20|0,e[qe>>2]=ue,n4=ue+24|0,e[n4>>2]=Mi;break}}while(!1);return ve=xn>>>0<16,ve?(He=xn+x4|0,J9=He|3,Ye=kt+4|0,e[Ye>>2]=J9,Z1=He+4|0,he=kt+Z1|0,Ue=e[he>>2]|0,Ee=Ue|1,e[he>>2]=Ee):(W9=x4|3,v9=kt+4|0,e[v9>>2]=W9,k4=xn|1,I0=x4|4,Y4=kt+I0|0,e[Y4>>2]=k4,f0=xn+x4|0,nt=kt+f0|0,e[nt>>2]=xn,Ve=e[138264]|0,V4=(Ve|0)==0,V4||(Je=e[138267]|0,o4=Ve>>>3,R4=o4<<1,re=553088+(R4<<2)|0,u4=e[138262]|0,Ce=1<>2]|0,h4=e[138266]|0,ne=Ne>>>0

>>0,ne?v2():(T=de,r$=Ne)),e[T>>2]=Je,f4=r$+12|0,e[f4>>2]=Je,ke=Je+8|0,e[ke>>2]=r$,s4=Je+12|0,e[s4>>2]=re),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=x4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(k9=t+11|0,f6=k9&-8,J4=e[138263]|0,fe=(J4|0)==0,fe)Le=f6;else{S4=0-f6|0,Ie=k9>>>8,z6=(Ie|0)==0,z6?_n=0:(F4=f6>>>0>16777215,F4?_n=31:(T4=Ie+1048320|0,st=T4>>>16,me=st&8,xe=Ie<>>16,_9=W3&4,Oe=_9|me,a4=xe<<_9,d8=a4+245760|0,N4=d8>>>16,f8=N4&2,D8=Oe|f8,e8=14-D8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=f6>>>qt,i8=t8&1,_8=i8|Ot,_n=_8)),Ht=553352+(_n<<2)|0,Yt=e[Ht>>2]|0,Vt=(Yt|0)==0;e:do if(Vt)Mo=S4,f$=0,Mn=0,je=86;else for(_t=(_n|0)==31,xt=_n>>>1,Jt=25-xt|0,zt=_t?0:Jt,r8=f6<>2]|0,z4=Et&-8,G4=z4-f6|0,at=G4>>>0>>0,at)if(Lt=(z4|0)==(f6|0),Lt){Ro=G4,Pr=W7,qr=W7,je=90;break e}else Lo=G4,Ln=W7;else Lo=u$,Ln=Uo;if(x9=W7+20|0,b4=e[x9>>2]|0,E8=Da>>>31,x8=(W7+16|0)+(E8<<2)|0,o8=e[x8>>2]|0,L8=(b4|0)==0,A4=(b4|0)==(o8|0),ip=L8|A4,nu=ip?ru:b4,s8=(o8|0)==0,Kt=Da<<1,s8){Mo=Lo,f$=nu,Mn=Ln,je=86;break}else u$=Lo,ru=nu,Da=Kt,W7=o8,Uo=Ln}while(!1);if((je|0)==86){if(Mt=(f$|0)==0,At=(Mn|0)==0,ep=Mt&At,ep){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=J4&Rt,oe=(m4|0)==0,oe){Le=f6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,Qt=ct>>>12,p4=Qt&16,K4=ct>>>p4,W4=K4>>>5,se=W4&8,P4=se|p4,E4=K4>>>se,gt=E4>>>2,_4=gt&4,be=P4|_4,yt=E4>>>_4,a8=yt>>>1,E3=a8&2,Z4=be|E3,wt=yt>>>E3,$4=wt>>>1,Z9=$4&1,l4=Z4|Z9,F9=wt>>>Z9,j4=l4+F9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,I$=C8,Rn=0}else I$=f$,Rn=Mn;$8=(I$|0)==0,$8?(ni=Mo,O9=Rn):(Ro=Mo,Pr=I$,qr=Rn,je=90)}if((je|0)==90)for(;;){if(je=0,Zt=Pr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-f6|0,ht=ut>>>0>>0,o0=ht?ut:Ro,m$=ht?Pr:qr,Ft=Pr+16|0,Ze=e[Ft>>2]|0,c8=(Ze|0)==0,!c8){Ro=o0,Pr=Ze,qr=m$,je=90;continue}if(Tt=Pr+20|0,b9=e[Tt>>2]|0,g8=(b9|0)==0,g8){ni=o0,O9=m$;break}else Ro=o0,Pr=b9,qr=m$,je=90}if(et=(O9|0)==0,et)Le=f6;else if(q8=e[138264]|0,K8=q8-f6|0,M8=ni>>>0>>0,M8){u8=e[138266]|0,R8=O9>>>0>>0,R8&&v2(),c4=O9+f6|0,H8=O9>>>0>>0,H8||v2(),dt=O9+24|0,Nt=e[dt>>2]|0,F8=O9+12|0,Xt=e[F8>>2]|0,O4=(Xt|0)==(O9|0);do if(O4){if(j8=O9+20|0,Ci=e[j8>>2]|0,X8=(Ci|0)==0,X8)if(Bi=O9+16|0,$i=e[Bi>>2]|0,c7=($i|0)==0,c7){Fi=0;break}else Dn=$i,Qa=Bi;else Dn=Ci,Qa=j8;for(;;){if(Qi=Dn+20|0,yi=e[Qi>>2]|0,g7=(yi|0)==0,!g7){Dn=yi,Qa=Qi;continue}if(wi=Dn+16|0,li=e[wi>>2]|0,u7=(li|0)==0,u7){Jm=Dn,A$=Qa;break}else Dn=li,Qa=wi}if(Vi=A$>>>0>>0,Vi)v2();else{e[A$>>2]=0,Fi=Jm;break}}else if(C4=O9+8|0,ae=e[C4>>2]|0,T8=ae>>>0>>0,T8&&v2(),Ai=ae+12|0,Oi=e[Ai>>2]|0,Hi=(Oi|0)==(O9|0),Hi||v2(),pi=Xt+8|0,Z8=e[pi>>2]|0,Ei=(Z8|0)==(O9|0),Ei){e[Ai>>2]=Xt,e[pi>>2]=ae,Fi=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(zi=O9+28|0,Ki=e[zi>>2]|0,vi=553352+(Ki<<2)|0,Wi=e[vi>>2]|0,ei=(O9|0)==(Wi|0),ei){if(e[vi>>2]=Fi,va=(Fi|0)==0,va){gi=1<>>0>>0,d7&&v2(),ki=Nt+16|0,Si=e[ki>>2]|0,bi=(Si|0)==(O9|0),bi?e[ki>>2]=Fi:(Xi=Nt+20|0,e[Xi>>2]=Fi),Di=(Fi|0)==0,Di)break;ii=e[138266]|0,_i=Fi>>>0>>0,_i&&v2(),e7=Fi+24|0,e[e7>>2]=Nt,ui=O9+16|0,V8=e[ui>>2]|0,xi=(V8|0)==0;do if(!xi)if(N8=V8>>>0>>0,N8)v2();else{hi=Fi+16|0,e[hi>>2]=V8,l9=V8+24|0,e[l9>>2]=Fi;break}while(!1);if(B8=O9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(G8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{yr=Fi+20|0,e[yr>>2]=vt,as=vt+24|0,e[as>>2]=Fi;break}}while(!1);As=ni>>>0<16;e:do if(As)Jn=ni+f6|0,$s=Jn|3,ls=O9+4|0,e[ls>>2]=$s,h1=Jn+4|0,zn=O9+h1|0,cs=e[zn>>2]|0,on=cs|1,e[zn>>2]=on;else{if(gs=f6|3,us=O9+4|0,e[us>>2]=gs,hs=ni|1,l0=f6|4,ds=O9+l0|0,e[ds>>2]=hs,C0=ni+f6|0,Wn=O9+C0|0,e[Wn>>2]=ni,Zn=ni>>>3,fs=ni>>>0<256,fs){sn=Zn<<1,jn=553088+(sn<<2)|0,an=e[138262]|0,Xn=1<>2]|0,Es=e[138266]|0,wr=to>>>0>>0,wr?v2():(F=An,o$=to)),e[F>>2]=c4,$n=o$+12|0,e[$n>>2]=c4,H0=f6+8|0,Cs=O9+H0|0,e[Cs>>2]=o$,Y0=f6+12|0,Bs=O9+Y0|0,e[Bs>>2]=jn;break}if(ln=ni>>>8,f7=(ln|0)==0,f7?Tr=0:(Qs=ni>>>0>16777215,Qs?Tr=31:(ys=ln+1048320|0,ro=ys>>>16,no=ro&8,oo=ln<>>16,cn=I7&4,vs=cn|no,so=oo<>>16,ao=bs&2,Ds=vs|ao,_s=14-Ds|0,xs=so<>>15,Ao=_s+Ls|0,Ms=Ao<<1,Rs=Ao+7|0,vr=ni>>>Rs,un=vr&1,Fs=un|Ms,Tr=Fs)),rr=553352+(Tr<<2)|0,d1=f6+28|0,Ts=O9+d1|0,e[Ts>>2]=Tr,M1=f6+16|0,$o=O9+M1|0,x1=f6+20|0,hn=O9+x1|0,e[hn>>2]=0,e[$o>>2]=0,lo=e[138263]|0,dn=1<>2]=c4,Y1=f6+24|0,uo=O9+Y1|0,e[uo>>2]=rr,n2=f6+12|0,ho=O9+n2|0,e[ho>>2]=c4,O1=f6+8|0,Us=O9+O1|0,e[Us>>2]=c4;break}kr=e[rr>>2]|0,fo=kr+4|0,m7=e[fo>>2]|0,fn=m7&-8,Sr=(fn|0)==(ni|0);t:do if(Sr)Ti=kr;else{for(br=(Tr|0)==31,z7=Tr>>>1,Dr=25-z7|0,Io=br?0:Dr,K7=ni<>>31,p7=($$+16|0)+(xr<<2)|0,t7=e[p7>>2]|0,Ps=(t7|0)==0,Ps){v=p7,zm=$$;break}if(S7=s$<<1,b7=t7+4|0,D7=e[b7>>2]|0,_r=D7&-8,sr=(_r|0)==(ni|0),sr){Ti=t7;break t}else s$=S7,$$=t7}if(di=e[138266]|0,rl=v>>>0>>0,rl)v2();else{e[v>>2]=c4,E0=f6+24|0,In=O9+E0|0,e[In>>2]=zm,O0=f6+12|0,mn=O9+O0|0,e[mn>>2]=c4,q0=f6+8|0,Gu=O9+q0|0,e[Gu>>2]=c4;break e}}while(!1);if(nl=Ti+8|0,oA=e[nl>>2]|0,ol=e[138266]|0,Pu=oA>>>0>=ol>>>0,eu=Ti>>>0>=ol>>>0,Ou=Pu&eu,Ou){qu=oA+12|0,e[qu>>2]=c4,e[nl>>2]=c4,c2=f6+8|0,sA=O9+c2|0,e[sA>>2]=oA,d2=f6+12|0,sl=O9+d2|0,e[sl>>2]=Ti,Q0=f6+24|0,al=O9+Q0|0,e[al>>2]=0;break}else v2()}while(!1);return aA=O9+8|0,tt=aA,tt|0}else Le=f6}while(!1);if(pn=e[138264]|0,Hu=pn>>>0>>0,!Hu)return qs=pn-Le|0,ar=e[138267]|0,Yu=qs>>>0>15,Yu?(Vu=ar+Le|0,e[138267]=Vu,e[138264]=qs,Ju=qs|1,m1=Le+4|0,zu=ar+m1|0,e[zu>>2]=Ju,Ku=ar+pn|0,e[Ku>>2]=qs,Wu=Le|3,Zu=ar+4|0,e[Zu>>2]=Wu):(e[138264]=0,e[138267]=0,Xu=pn|3,eh=ar+4|0,e[eh>>2]=Xu,g0=pn+4|0,$l=ar+g0|0,Lr=e[$l>>2]|0,th=Lr|1,e[$l>>2]=th),ih=ar+8|0,tt=ih,tt|0;if(ll=e[138265]|0,rh=ll>>>0>Le>>>0,rh)return AA=ll-Le|0,e[138265]=AA,Hs=e[138268]|0,nh=Hs+Le|0,e[138268]=nh,oh=AA|1,q=Le+4|0,lA=Hs+q|0,e[lA>>2]=oh,cl=Le|3,gl=Hs+4|0,e[gl>>2]=cl,ul=Hs+8|0,tt=ul,tt|0;cA=e[138380]|0,hl=(cA|0)==0;do if(hl)if(Ys=IS(30)|0,sh=Ys+-1|0,dl=sh&Ys,Ah=(dl|0)==0,Ah){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,$h=tQ(0)|0,fl=$h&-16,lh=fl^1431655768,e[138380]=lh;break}else v2();while(!1);if(ch=Le+48|0,Il=e[138382]|0,ml=Le+47|0,pl=Il+ml|0,El=0-Il|0,En=pl&El,gh=En>>>0>Le>>>0,!gh||(Bl=e[138372]|0,uh=(Bl|0)==0,!uh&&(Ql=e[138370]|0,yl=Ql+En|0,hh=yl>>>0<=Ql>>>0,dh=yl>>>0>Bl>>>0,Sa=hh|dh,Sa)))return tt=0,tt|0;fh=e[138373]|0,gA=fh&4,vl=(gA|0)==0;e:do if(vl){mo=e[138268]|0,kl=(mo|0)==0;t:do if(kl)je=174;else{for(Fo=553496;;){if(uA=e[Fo>>2]|0,Ih=uA>>>0>mo>>>0,!Ih&&(Sl=Fo+4|0,mh=e[Sl>>2]|0,bl=uA+mh|0,ph=bl>>>0>mo>>>0,ph)){S=Fo,b=Sl;break}if(Eh=Fo+8|0,_l=e[Eh>>2]|0,Ch=(_l|0)==0,Ch){je=174;break t}else Fo=_l}if(Lh=e[138265]|0,Mh=pl-Lh|0,Ks=Mh&El,Rh=Ks>>>0<2147483647,Rh)if(Ws=Pi(Ks|0)|0,Fh=e[S>>2]|0,Nh=e[b>>2]|0,Gh=Fh+Nh|0,Ul=(Ws|0)==(Gh|0),o=Ul?Ks:0,Ul)if(Uh=(Ws|0)==-1,Uh)Or=o;else{g6=Ws,L4=o,je=194;break e}else wa=Ws,o7=Ks,_a=o,je=184;else Or=0}while(!1);do if((je|0)==174)if(Vs=Pi(0)|0,Bh=(Vs|0)==-1,Bh)Or=0;else if(hA=Vs,xl=e[138381]|0,Ll=xl+-1|0,Qh=Ll&hA,yh=(Qh|0)==0,yh?Ur=En:(wh=Ll+hA|0,kh=0-xl|0,Sh=wh&kh,Js=En-hA|0,Ml=Js+Sh|0,Ur=Ml),Rl=e[138370]|0,Fl=Rl+Ur|0,zs=Ur>>>0>Le>>>0,bh=Ur>>>0<2147483647,tp=zs&bh,tp){if(Tl=e[138372]|0,Dh=(Tl|0)==0,!Dh&&(_h=Fl>>>0<=Rl>>>0,xh=Fl>>>0>Tl>>>0,rp=_h|xh,rp)){Or=0;break}if(Gl=Pi(Ur|0)|0,dA=(Gl|0)==(Vs|0),ou=dA?Ur:0,dA){g6=Vs,L4=ou,je=194;break e}else wa=Gl,o7=Ur,_a=ou,je=184}else Or=0;while(!1);t:do if((je|0)==184){Ph=0-o7|0,Oh=(wa|0)!=-1,qh=o7>>>0<2147483647,op=qh&Oh,Pl=ch>>>0>o7>>>0,sp=Pl&op;do if(sp)if(Ol=e[138382]|0,Ar=ml-o7|0,Zs=Ar+Ol|0,IA=0-Ol|0,mA=Zs&IA,Cn=mA>>>0<2147483647,Cn)if(Hl=Pi(mA|0)|0,Bn=(Hl|0)==-1,Bn){Pi(Ph|0)|0,Or=_a;break t}else{Hh=mA+o7|0,h$=Hh;break}else h$=o7;else h$=o7;while(!1);if(Yl=(wa|0)==-1,Yl)Or=_a;else{g6=wa,L4=h$,je=194;break e}}while(!1);Yh=e[138373]|0,Vh=Yh|4,e[138373]=Vh,su=Or,je=191}else su=0,je=191;while(!1);if((je|0)==191&&(zh=En>>>0<2147483647,zh&&(js=Pi(En|0)|0,pA=Pi(0)|0,Mr=(js|0)!=-1,Kh=(pA|0)!=-1,np=Mr&Kh,Wh=js>>>0>>0,ap=Wh&np,ap&&(Vl=pA,EA=js,Jl=Vl-EA|0,zl=Le+40|0,Kl=Jl>>>0>zl>>>0,E2=Kl?Jl:su,Kl&&(g6=js,L4=E2,je=194)))),(je|0)==194){jh=e[138370]|0,CA=jh+L4|0,e[138370]=CA,Xh=e[138371]|0,ed=CA>>>0>Xh>>>0,ed&&(e[138371]=CA),z9=e[138268]|0,td=(z9|0)==0;e:do if(td){for(Wl=e[138266]|0,id=(Wl|0)==0,rd=g6>>>0>>0,Ap=id|rd,Ap&&(e[138266]=g6),e[138374]=g6,e[138375]=L4,e[138377]=0,nd=e[138380]|0,e[138271]=nd,e[138270]=-1,ka=0;QA=ka<<1,Zl=553088+(QA<<2)|0,h0=QA+3|0,od=553088+(h0<<2)|0,e[od>>2]=Zl,n0=QA+2|0,sd=553088+(n0<<2)|0,e[sd>>2]=Zl,jl=ka+1|0,jm=(jl|0)==32,!jm;)ka=jl;Xl=L4+-40|0,ad=g6+8|0,yA=ad,wA=yA&7,tc=(wA|0)==0,Ad=0-yA|0,ic=Ad&7,vA=tc?0:ic,$d=g6+vA|0,rc=Xl-vA|0,e[138268]=$d,e[138265]=rc,ld=rc|1,j=vA+4|0,cd=g6+j|0,e[cd>>2]=ld,u1=L4+-36|0,gd=g6+u1|0,e[gd>>2]=40,ud=e[138384]|0,e[138269]=ud}else{for(No=553496;;){if(oc=e[No>>2]|0,kA=No+4|0,Xs=e[kA>>2]|0,sc=oc+Xs|0,hd=(g6|0)==(sc|0),hd){E=oc,Q=kA,B=Xs,$p=No,je=204;break}if(ac=No+8|0,Ac=e[ac>>2]|0,dd=(Ac|0)==0,dd)break;No=Ac}if((je|0)==204&&(fd=$p+12|0,Id=e[fd>>2]|0,md=Id&8,pd=(md|0)==0,pd&&(Ed=z9>>>0>=E>>>0,Cd=z9>>>0>>0,iu=Cd&Ed,iu))){Bd=B+L4|0,e[Q>>2]=Bd,Qd=e[138265]|0,lc=Qd+L4|0,yd=z9+8|0,cc=yd,wd=cc&7,vd=(wd|0)==0,gc=0-cc|0,kd=gc&7,po=vd?0:kd,uc=z9+po|0,SA=lc-po|0,e[138268]=uc,e[138265]=SA,Sd=SA|1,c0=po+4|0,ea=z9+c0|0,e[ea>>2]=Sd,s1=lc+4|0,bA=z9+s1|0,e[bA>>2]=40,bd=e[138384]|0,e[138269]=bd;break}for(hc=e[138266]|0,Dd=g6>>>0>>0,Dd?(e[138266]=g6,Qo=g6):Qo=hc,_d=g6+L4|0,Go=553496;;){if(xd=e[Go>>2]|0,Ld=(xd|0)==(_d|0),Ld){I=Go,hr=Go,je=212;break}if(Md=Go+8|0,dc=e[Md>>2]|0,Rd=(dc|0)==0,Rd){To=553496;break}else Go=dc}if((je|0)==212)if(Fd=hr+12|0,Td=e[Fd>>2]|0,_A=Td&8,Nd=(_A|0)==0,Nd){e[I>>2]=g6,xA=hr+4|0,Gd=e[xA>>2]|0,Ud=Gd+L4|0,e[xA>>2]=Ud,Pd=g6+8|0,fc=Pd,Od=fc&7,qd=(Od|0)==0,Hd=0-fc|0,Vd=Hd&7,ia=qd?0:Vd,Jd=g6+ia|0,B0=L4+8|0,zd=g6+B0|0,Ic=zd,Kd=Ic&7,Wd=(Kd|0)==0,Zd=0-Ic|0,jd=Zd&7,E7=Wd?0:jd,_0=E7+L4|0,C7=g6+_0|0,pc=C7,LA=Jd,Xd=pc-LA|0,$0=ia+Le|0,i7=g6+$0|0,Co=Xd-Le|0,ef=Le|3,p0=ia+4|0,tf=g6+p0|0,e[tf>>2]=ef,rf=(C7|0)==(z9|0);t:do if(rf)nf=e[138265]|0,Ec=nf+Co|0,e[138265]=Ec,e[138268]=i7,sf=Ec|1,H1=$0+4|0,af=g6+H1|0,e[af>>2]=sf;else{if(Cc=e[138267]|0,Af=(C7|0)==(Cc|0),Af){$f=e[138264]|0,Bo=$f+Co|0,e[138264]=Bo,e[138267]=i7,MA=Bo|1,z1=$0+4|0,lf=g6+z1|0,e[lf>>2]=MA,q1=Bo+$0|0,Bc=g6+q1|0,e[Bc>>2]=Bo;break}if($1=L4+4|0,K0=$1+E7|0,gf=g6+K0|0,ra=e[gf>>2]|0,uf=ra&3,hf=(uf|0)==1,hf){Qc=ra&-8,yc=ra>>>3,df=ra>>>0<256;i:do if(df){U1=E7|8,z0=U1+L4|0,ff=g6+z0|0,yn=e[ff>>2]|0,b1=L4+12|0,J0=b1+E7|0,If=g6+J0|0,wn=e[If>>2]|0,pf=yc<<1,wc=553088+(pf<<2)|0,Ef=(yn|0)==(wc|0);do if(!Ef){if(Cf=yn>>>0>>0,Cf&&v2(),vc=yn+12|0,Bf=e[vc>>2]|0,kc=(Bf|0)==(C7|0),kc)break;v2()}while(!1);if(Qf=(wn|0)==(yn|0),Qf){RA=1<>>0>>0,vf&&v2(),Dc=wn+8|0,kf=e[Dc>>2]|0,Sf=(kf|0)==(C7|0),Sf){N=Dc;break}v2()}while(!1);bf=yn+12|0,e[bf>>2]=wn,e[N>>2]=yn}else{R1=E7|24,M0=R1+L4|0,Df=g6+M0|0,yo=e[Df>>2]|0,V1=L4+12|0,v0=V1+E7|0,_f=g6+v0|0,vn=e[_f>>2]|0,xf=(vn|0)==(C7|0);do if(xf){if(j1=E7|16,L0=$1+j1|0,Rc=g6+L0|0,Fc=e[Rc>>2]|0,Tf=(Fc|0)==0,Tf)if(G0=j1+L4|0,Tc=g6+G0|0,Nc=e[Tc>>2]|0,Nf=(Nc|0)==0,Nf){Ri=0;break}else bn=Nc,Ba=Tc;else bn=Fc,Ba=Rc;for(;;){if(Gc=bn+20|0,Uc=e[Gc>>2]|0,Uf=(Uc|0)==0,!Uf){bn=Uc,Ba=Gc;continue}if(Pc=bn+16|0,Oc=e[Pc>>2]|0,Pf=(Oc|0)==0,Pf){Vm=bn,Zg=Ba;break}else bn=Oc,Ba=Pc}if(Of=Zg>>>0>>0,Of)v2();else{e[Zg>>2]=0,Ri=Vm;break}}else if(F1=E7|8,T0=F1+L4|0,Lf=g6+T0|0,FA=e[Lf>>2]|0,Mf=FA>>>0>>0,Mf&&v2(),TA=FA+12|0,NA=e[TA>>2]|0,xc=(NA|0)==(C7|0),xc||v2(),Lc=vn+8|0,Ff=e[Lc>>2]|0,Mc=(Ff|0)==(C7|0),Mc){e[TA>>2]=vn,e[Lc>>2]=FA,Ri=vn;break}else v2();while(!1);if(qc=(yo|0)==0,qc)break;S1=L4+28|0,N0=S1+E7|0,GA=g6+N0|0,Hc=e[GA>>2]|0,Jc=553352+(Hc<<2)|0,qf=e[Jc>>2]|0,Hf=(C7|0)==(qf|0);do if(Hf){if(e[Jc>>2]=Ri,Zm=(Ri|0)==0,!Zm)break;Yf=1<>>0>>0,Wf&&v2(),zc=yo+16|0,Zf=e[zc>>2]|0,jf=(Zf|0)==(C7|0),jf?e[zc>>2]=Ri:(Xf=yo+20|0,e[Xf>>2]=Ri),Kc=(Ri|0)==0,Kc)break i;while(!1);Wc=e[138266]|0,eI=Ri>>>0>>0,eI&&v2(),Zc=Ri+24|0,e[Zc>>2]=yo,D1=E7|16,U0=D1+L4|0,PA=g6+U0|0,na=e[PA>>2]|0,jc=(na|0)==0;do if(!jc)if(iI=na>>>0>>0,iI)v2();else{rI=Ri+16|0,e[rI>>2]=na,nI=na+24|0,e[nI>>2]=Ri;break}while(!1);if(V0=$1+D1|0,Xc=g6+V0|0,oa=e[Xc>>2]|0,oI=(oa|0)==0,oI)break;if(sI=e[138266]|0,aI=oa>>>0>>0,aI)v2();else{AI=Ri+20|0,e[AI>>2]=oa,$I=oa+24|0,e[$I>>2]=Ri;break}}while(!1);s2=Qc|E7,F0=s2+L4|0,cI=g6+F0|0,gI=Qc+Co|0,tu=cI,n7=gI}else tu=C7,n7=Co;if(eg=tu+4|0,uI=e[eg>>2]|0,hI=uI&-2,e[eg>>2]=hI,dI=n7|1,b0=$0+4|0,fI=g6+b0|0,e[fI>>2]=dI,y0=n7+$0|0,sa=g6+y0|0,e[sa>>2]=n7,tg=n7>>>3,II=n7>>>0<256,II){kn=tg<<1,ig=553088+(kn<<2)|0,rg=e[138262]|0,OA=1<>2]|0,CI=e[138266]|0,QI=sg>>>0>>0,!QI){R=og,n$=sg;break}v2()}while(!1);e[R>>2]=i7,yI=n$+12|0,e[yI>>2]=i7,w1=$0+8|0,wI=g6+w1|0,e[wI>>2]=n$,v1=$0+12|0,aa=g6+v1|0,e[aa>>2]=ig;break}qA=n7>>>8,vI=(qA|0)==0;do if(vI)Nr=0;else{if(kI=n7>>>0>16777215,kI){Nr=31;break}SI=qA+1048320|0,bI=SI>>>16,ag=bI&8,Ag=qA<>>16,$g=xI&4,Rr=$g|ag,lg=Ag<<$g,cg=lg+245760|0,LI=cg>>>16,gg=LI&2,Aa=Rr|gg,RI=14-Aa|0,FI=lg<>>15,ug=RI+$a|0,TI=ug<<1,NI=ug+7|0,hg=n7>>>NI,GI=hg&1,UI=GI|TI,Nr=UI}while(!1);if(HA=553352+(Nr<<2)|0,k0=$0+28|0,PI=g6+k0|0,e[PI>>2]=Nr,Z0=$0+16|0,OI=g6+Z0|0,P0=$0+20|0,qI=g6+P0|0,e[qI>>2]=0,e[OI>>2]=0,dg=e[138263]|0,fg=1<>2]=i7,o1=$0+24|0,wo=g6+o1|0,e[wo>>2]=HA,i1=$0+12|0,VI=g6+i1|0,e[VI>>2]=i7,n1=$0+8|0,JI=g6+n1|0,e[JI>>2]=i7;break}YA=e[HA>>2]|0,pg=YA+4|0,zI=e[pg>>2]|0,KI=zI&-8,WI=(KI|0)==(n7|0);i:do if(WI)Gr=YA;else{for(ZI=(Nr|0)==31,Eg=Nr>>>1,jI=25-Eg|0,XI=ZI?0:jI,em=n7<>>31,wg=(l$+16|0)+(yg<<2)|0,vo=e[wg>>2]|0,_7=(vo|0)==0,_7){a=wg,Km=l$;break}if(tm=xo<<1,im=vo+4|0,Bg=e[im>>2]|0,Qg=Bg&-8,rm=(Qg|0)==(n7|0),rm){Gr=vo;break i}else xo=tm,l$=vo}if(lr=e[138266]|0,nm=a>>>0>>0,nm)v2();else{e[a>>2]=i7,Q1=$0+24|0,om=g6+Q1|0,e[om>>2]=Km,p1=$0+12|0,sm=g6+p1|0,e[sm>>2]=i7,B1=$0+8|0,am=g6+B1|0,e[am>>2]=i7;break t}}while(!1);if(VA=Gr+8|0,ga=e[VA>>2]|0,kg=e[138266]|0,Sg=ga>>>0>=kg>>>0,g$=Gr>>>0>=kg>>>0,Am=Sg&g$,Am){ko=ga+12|0,e[ko>>2]=i7,e[VA>>2]=i7,j0=$0+8|0,$m=g6+j0|0,e[$m>>2]=ga,E1=$0+12|0,ha=g6+E1|0,e[ha>>2]=Gr,I1=$0+24|0,JA=g6+I1|0,e[JA>>2]=0;break}else v2()}while(!1);return g1=ia|8,lm=g6+g1|0,tt=lm,tt|0}else To=553496;for(;;){if(zA=e[To>>2]|0,cm=zA>>>0>z9>>>0,!cm&&(gm=To+4|0,bg=e[gm>>2]|0,da=zA+bg|0,um=da>>>0>z9>>>0,um)){g=zA,d=bg,m=da;break}hm=To+8|0,dm=e[hm>>2]|0,To=dm}if(u0=d+-47|0,d0=d+-39|0,fm=g+d0|0,_g=fm,Im=_g&7,ri=(Im|0)==0,De=0-_g|0,r7=De&7,mm=ri?0:r7,c1=u0+mm|0,Lg=g+c1|0,KA=z9+16|0,pm=Lg>>>0>>0,Fr=pm?z9:Lg,So=Fr+8|0,Em=L4+-40|0,Cm=g6+8|0,Mg=Cm,WA=Mg&7,Bm=(WA|0)==0,Fg=0-Mg|0,Tg=Fg&7,ZA=Bm?0:Tg,jA=g6+ZA|0,Ng=Em-ZA|0,e[138268]=jA,e[138265]=Ng,bo=Ng|1,t0=ZA+4|0,XA=g6+t0|0,e[XA>>2]=bo,A1=L4+-36|0,Gg=g6+A1|0,e[Gg>>2]=40,Qm=e[138384]|0,e[138269]=Qm,Sn=Fr+4|0,e[Sn>>2]=27,e[So>>2]=e[138374]|0,e[So+4>>2]=e[138375]|0,e[So+8>>2]=e[138376]|0,e[So+12>>2]=e[138377]|0,e[138374]=g6,e[138375]=L4,e[138377]=0,e[138376]=So,Ug=Fr+28|0,e[Ug>>2]=7,fa=Fr+32|0,wm=fa>>>0>>0,wm)for(x7=Ug;Pg=x7+4|0,e[Pg>>2]=7,vm=x7+8|0,km=vm>>>0>>0,km;)x7=Pg;if(Sm=(Fr|0)==(z9|0),!Sm){if(bm=Fr,Dm=z9,L7=bm-Dm|0,xm=e[Sn>>2]|0,Lm=xm&-2,e[Sn>>2]=Lm,Mm=L7|1,Og=z9+4|0,e[Og>>2]=Mm,e[Fr>>2]=L7,B7=L7>>>3,Ia=L7>>>0<256,Ia){e$=B7<<1,qg=553088+(e$<<2)|0,Hg=e[138262]|0,Yg=1<>2]|0,Nm=e[138266]|0,Gm=zg>>>0>>0,Gm?v2():(L=Jg,i$=zg)),e[L>>2]=z9,Kg=i$+12|0,e[Kg>>2]=z9,Um=z9+8|0,e[Um>>2]=i$,ma=z9+12|0,e[ma>>2]=qg;break}if(pa=L7>>>8,Pm=(pa|0)==0,Pm?cr=0:(t$=L7>>>0>16777215,t$?cr=31:(Om=pa+1048320|0,qm=Om>>>16,Wg=qm&8,_o=pa<>>16,l2=Ym&4,r2=l2|Wg,A2=_o<>>16,f2=o2&2,t2=r2|f2,k2=14-t2|0,D2=A2<>>15,N2=k2+S2|0,L2=N2<<1,U2=N2+7|0,m2=L7>>>U2,W2=m2&1,P2=W2|L2,cr=P2)),V2=553352+(cr<<2)|0,G2=z9+28|0,e[G2>>2]=cr,q2=z9+20|0,e[q2>>2]=0,e[KA>>2]=0,Z2=e[138263]|0,H2=1<>2]=z9,i5=z9+24|0,e[i5>>2]=V2,_5=z9+12|0,e[_5>>2]=z9,j2=z9+8|0,e[j2>>2]=z9;break}I5=e[V2>>2]|0,b5=I5+4|0,Y5=e[b5>>2]|0,b2=Y5&-8,B5=(b2|0)==(L7|0);t:do if(B5)ya=I5;else{for(s5=(cr|0)==31,R2=cr>>>1,M2=25-R2|0,y2=s5?0:M2,Q5=L7<>>31,u5=(c$+16|0)+($5<<2)|0,x5=e[u5>>2]|0,y5=(x5|0)==0,y5){$=u5,Xg=c$;break}if(T5=a$<<1,m5=x5+4|0,L5=e[m5>>2]|0,Y2=L5&-8,p5=(Y2|0)==(L7|0),p5){ya=x5;break t}else a$=T5,c$=x5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=z9,h5=z9+24|0,e[h5>>2]=Xg,l5=z9+12|0,e[l5>>2]=z9,g2=z9+8|0,e[g2>>2]=z9;break e}}while(!1);if(w5=ya+8|0,r5=e[w5>>2]|0,a5=e[138266]|0,d5=r5>>>0>=a5>>>0,Xm=ya>>>0>=a5>>>0,z2=d5&Xm,z2){f5=r5+12|0,e[f5>>2]=z9,e[w5>>2]=z9,n5=z9+8|0,e[n5>>2]=r5,M5=z9+12|0,e[M5>>2]=ya,e5=z9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return J5=F2-Le|0,e[138265]=J5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=J5|1,Z=Le+4|0,d3=i3+Z|0,e[d3>>2]=I3,K5=Le|3,r3=i3+4|0,e[r3>>2]=K5,a3=i3+8|0,tt=a3,tt|0}return N5=eQ()|0,e[N5>>2]=12,tt=0,tt|0}function p2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){q=t+-8|0,W2=e[138266]|0,v6=q>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,ie=f9&3,Ge=(ie|0)==1,Ge&&v2(),W9=f9&-8,Q=W9+-8|0,re=t+Q|0,h0=f9&1,n0=(h0|0)==0;do if(n0){if(_0=e[q>>2]|0,L0=(ie|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+W9|0,S1=x0>>>0>>0,S1&&v2(),q1=e[138267]|0,s2=(x0|0)==(q1|0),s2){if(X=W9+-4|0,c0=t+X|0,$0=e[c0>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){W3=x0,_9=j0;break}e[138264]=j0,I0=$0&-2,e[c0>>2]=I0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[re>>2]=j0;return}if(o2=_0>>>3,P2=_0>>>0<256,P2){if(K=y+8|0,_5=t+K|0,y2=e[_5>>2]|0,a0=y+12|0,y5=t+a0|0,z2=e[y5>>2]|0,I3=o2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),h6=y2+12|0,L3=e[h6>>2]|0,K6=(L3|0)==(x0|0),K6||v2()),e9=(z2|0)==(y2|0),e9){V6=1<>>0>>0,T6&&v2(),i9=z2+8|0,O6=e[i9>>2]|0,U3=(O6|0)==(x0|0),U3?g=i9:v2()),q6=y2+12|0,e[q6>>2]=z2,e[g>>2]=y2,W3=x0,_9=j0;break}M=y+24|0,a9=t+M|0,h9=e[a9>>2]|0,L=y+12|0,o9=t+L|0,C9=e[o9>>2]|0,B9=(C9|0)==(x0|0);do if(B9){if(F=y+20|0,ge=t+F|0,pe=e[ge>>2]|0,V9=(pe|0)==0,V9)if(R=y+16|0,R9=t+R|0,w9=e[R9>>2]|0,W6=(w9|0)==0,W6){k9=0;break}else Pe=w9,S4=R9;else Pe=pe,S4=ge;for(;;){if($9=Pe+20|0,we=e[$9>>2]|0,Re=(we|0)==0,!Re){Pe=we,S4=$9;continue}if(ue=Pe+16|0,D9=e[ue>>2]|0,Fe=(D9|0)==0,Fe){I4=Pe,Se=S4;break}else Pe=D9,S4=ue}if(Te=Se>>>0>>0,Te)v2();else{e[Se>>2]=0,k9=I4;break}}else if(V=y+8|0,Q9=t+V|0,d9=e[Q9>>2]|0,H9=d9>>>0>>0,H9&&v2(),y6=d9+12|0,H6=e[y6>>2]|0,A9=(H6|0)==(x0|0),A9||v2(),Y9=C9+8|0,y9=e[Y9>>2]|0,ye=(y9|0)==(x0|0),ye){e[y6>>2]=C9,e[Y9>>2]=d9,k9=C9;break}else v2();while(!1);if(qe=(h9|0)==0,qe)W3=x0,_9=j0;else{if(T=y+28|0,n4=t+T|0,ve=e[n4>>2]|0,He=553352+(ve<<2)|0,J9=e[He>>2]|0,Ye=(x0|0)==(J9|0),Ye){if(e[He>>2]=k9,me=(k9|0)==0,me){he=1<>>0>>0,k4&&v2(),Y4=h9+16|0,nt=e[Y4>>2]|0,Ve=(nt|0)==(x0|0),Ve?e[Y4>>2]=k9:(V4=h9+20|0,e[V4>>2]=k9),Je=(k9|0)==0,Je){W3=x0,_9=j0;break}o4=e[138266]|0,R4=k9>>>0>>0,R4&&v2(),ot=k9+24|0,e[ot>>2]=h9,N=y+16|0,u4=t+N|0,Ce=e[u4>>2]|0,N6=(Ce|0)==0;do if(!N6)if(ze=Ce>>>0>>0,ze)v2();else{P9=k9+16|0,e[P9>>2]=Ce,de=Ce+24|0,e[de>>2]=k9;break}while(!1);if(G=y+20|0,Ne=t+G|0,h4=e[Ne>>2]|0,ne=(h4|0)==0,ne)W3=x0,_9=j0;else if(d4=e[138266]|0,t0=h4>>>0>>0,t0)v2();else{j=k9+20|0,e[j>>2]=h4,u0=h4+24|0,e[u0>>2]=k9,W3=x0,_9=j0;break}}}else W3=q,_9=W9;while(!1);if(d0=W3>>>0>>0,d0||v2(),D=W9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(re|0)==(y0|0),w0){if(B0=e[138265]|0,K0=B0+_9|0,e[138265]=K0,e[138268]=W3,M0=K0|1,v0=W3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(W3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(re|0)==(U0|0),O0){k0=e[138264]|0,V0=k0+_9|0,e[138264]=V0,e[138267]=W3,F0=V0|1,G0=W3+4|0,e[G0>>2]=F0,z0=W3+V0|0,e[z0>>2]=V0;return}J0=C0&-8,q0=J0+_9|0,Z0=C0>>>3,P0=C0>>>0<256;do if(P0){if(H0=t+W9|0,o1=e[H0>>2]|0,w=W9|4,Y0=t+w|0,i1=e[Y0>>2]|0,n1=Z0<<1,h1=553088+(n1<<2)|0,g1=(o1|0)==(h1|0),g1||(m1=e[138266]|0,d1=o1>>>0>>0,d1&&v2(),u1=o1+12|0,A1=e[u1>>2]|0,c1=(A1|0)==(re|0),c1||v2()),s1=(i1|0)==(o1|0),s1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(re|0),L1?$=v1:v2()),M1=o1+12|0,e[M1>>2]=i1,e[$>>2]=o1}else{W=W9+16|0,D1=t+W|0,R1=e[D1>>2]|0,r0=W9|4,F1=t+r0|0,U1=e[F1>>2]|0,b1=(U1|0)==(re|0);do if(b1){if(J=W9+12|0,j1=t+J|0,O1=e[j1>>2]|0,c2=(O1|0)==0,c2)if(s0=W9+8|0,W1=t+s0|0,d2=e[W1>>2]|0,E2=(d2|0)==0,E2){fe=0;break}else f6=d2,Ie=W1;else f6=O1,Ie=j1;for(;;){if(a2=f6+20|0,K1=e[a2>>2]|0,h2=(K1|0)==0,!h2){f6=K1,Ie=a2;continue}if($2=f6+16|0,i2=e[$2>>2]|0,l2=(i2|0)==0,l2){J4=f6,z6=Ie;break}else f6=i2,Ie=$2}if(r2=e[138266]|0,A2=z6>>>0>>0,A2)v2();else{e[z6>>2]=0,fe=J4;break}}else if(P1=t+W9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),z1=Z1+12|0,H1=e[z1>>2]|0,Y1=(H1|0)==(re|0),Y1||v2(),V1=U1+8|0,X1=e[V1>>2]|0,n2=(X1|0)==(re|0),n2){e[z1>>2]=U1,e[V1>>2]=Z1,fe=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=W9+20|0,f2=t+S|0,t2=e[f2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(re|0)==(D2|0),S2){if(e[k2>>2]=fe,xe=(fe|0)==0,xe){Q2=1<>>0>>0,V2&&v2(),G2=R1+16|0,q2=e[G2>>2]|0,Z2=(q2|0)==(re|0),Z2?e[G2>>2]=fe:(A5=R1+20|0,e[A5>>2]=fe),H2=(fe|0)==0,H2)break;N1=e[138266]|0,t5=fe>>>0>>0,t5&&v2(),F5=fe+24|0,e[F5>>2]=R1,b=W9+8|0,i5=t+b|0,j2=e[i5>>2]|0,I5=(j2|0)==0;do if(!I5)if(b5=j2>>>0>>0,b5)v2();else{Y5=fe+16|0,e[Y5>>2]=j2,g5=j2+24|0,e[g5>>2]=fe;break}while(!1);if(v=W9+12|0,b2=t+v|0,B5=e[b2>>2]|0,s5=(B5|0)==0,!s5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=fe+20|0,e[Q5>>2]=B5,T5=B5+24|0,e[T5>>2]=fe;break}}}while(!1);if(m5=q0|1,x5=W3+4|0,e[x5>>2]=m5,q5=W3+q0|0,e[q5>>2]=q0,L5=e[138267]|0,Y2=(W3|0)==(L5|0),Y2){e[138264]=q0;return}else S9=q0}else p5=C0&-2,e[p0>>2]=p5,$5=_9|1,u5=W3+4|0,e[u5>>2]=$5,T1=W3+_9|0,e[T1>>2]=_9,S9=_9;if(D5=S9>>>3,h5=S9>>>0<256,h5){l5=D5<<1,X2=553088+(l5<<2)|0,g2=e[138262]|0,w5=1<>2]|0,M5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(d=f5,f4=n5)),e[d>>2]=W3,c5=f4+12|0,e[c5>>2]=W3,F2=W3+8|0,e[F2>>2]=f4,v5=W3+12|0,e[v5>>2]=X2;return}J5=S9>>>8,i3=(J5|0)==0,i3?ke=0:(E5=S9>>>0>16777215,E5?ke=31:(d3=J5+1048320|0,K5=d3>>>16,r3=K5&8,a3=J5<>>16,W5=N5&4,D3=W5|r3,f3=a3<>>16,X5=q3&2,b3=D3|X5,t3=14-b3|0,s6=f3<>>15,H3=t3+T3|0,c3=H3<<1,g3=H3+7|0,u3=S9>>>g3,z5=u3&1,H5=z5|c3,ke=H5)),V5=553352+(ke<<2)|0,S5=W3+28|0,e[S5>>2]=ke,Y3=W3+16|0,G5=W3+20|0,e[G5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=W3,_3=W3+24|0,e[_3>>2]=V5,S3=W3+12|0,e[S3>>2]=W3,a6=W3+8|0,e[a6>>2]=W3;else{i6=e[V5>>2]|0,V3=i6+4|0,Z5=e[V3>>2]|0,x3=Z5&-8,h3=(x3|0)==(S9|0);t:do if(h3)F4=i6;else{for(J3=(ke|0)==31,m3=ke>>>1,L6=25-m3|0,M6=J3?0:L6,R6=S9<>>31,o6=(T4+16|0)+(n6<<2)|0,d6=e[o6>>2]|0,C6=(d6|0)==0,C6){o=o6,st=T4;break}if(S6=s4<<1,r6=d6+4|0,b6=e[r6>>2]|0,G6=b6&-8,X6=(G6|0)==(S9|0),X6){F4=d6;break t}else s4=S6,T4=d6}if(z3=e[138266]|0,M3=o>>>0>>0,M3)v2();else{e[o>>2]=W3,K3=W3+24|0,e[K3>>2]=st,e6=W3+12|0,e[e6>>2]=W3,F6=W3+8|0,e[F6>>2]=W3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){R3=o3+12|0,e[R3>>2]=W3,e[l6>>2]=W3,Y6=W3+8|0,e[Y6>>2]=o3,A6=W3+12|0,e[A6>>2]=F4,D6=W3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(U6=e[138270]|0,t9=U6+-1|0,e[138270]=t9,Q6=(t9|0)==0,Q6)a4=553504;else return;for(;Oe=e[a4>>2]|0,G3=(Oe|0)==0,n9=Oe+8|0,!G3;)a4=n9;e[138270]=-1}}function le(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=M9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,d=w&3,m=(d|0)==0,m)||g4(S|0,0,D|0)|0,S|0}function J7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0;return K=C,a=(t|0)==0,a?($=M9(o)|0,V=$,V|0):(w=o>>>0>4294967231,w?(M=eQ()|0,e[M>>2]=12,V=0,V|0):(L=o>>>0<11,R=o+11|0,F=R&-8,T=L?16:F,N=t+-8|0,G=oD(N,T)|0,g=(G|0)==0,g?(m=M9(o)|0,I=(m|0)==0,I?(V=0,V|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ce(m|0,t|0,x|0)|0,p2(t),V=m,V|0)):(d=G+8|0,V=d,V|0)))}function oD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0;if(W5=C,N=t+4|0,G=e[N>>2]|0,b1=G&-8,n2=t+b1|0,$2=e[138266]|0,S2=G&3,I3=t>>>0>=$2>>>0,d3=(S2|0)!=1,K5=d3&I3,Z2=t>>>0>>0,r3=K5&Z2,r3||v2(),x=b1|4,Y5=t+x|0,x5=e[Y5>>2]|0,l5=x5&1,V=(l5|0)==0,V&&v2(),t0=(S2|0)==0,t0)return d0=o>>>0<256,d0?(E5=0,E5|0):(K0=o+4|0,G0=b1>>>0>>0,!G0&&(n1=b1-o|0,E1=e[138382]|0,D1=E1<<1,F1=n1>>>0>D1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=b1>>>0>>0,!U1)return P1=b1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=G&1,z1=x1|o,q1=z1|2,e[N>>2]=q1,y=o+4|0,H1=t+y|0,Y1=P1|3,e[H1>>2]=Y1,V1=e[Y5>>2]|0,X1=V1|1,e[Y5>>2]=X1,_Q(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(n2|0)==(j1|0),O1)return c2=e[138265]|0,W1=c2+b1|0,d2=W1>>>0>o>>>0,d2?(s2=W1-o|0,E2=t+o|0,a2=G&1,K1=a2|o,h2=K1|2,e[N>>2]=h2,D=o+4|0,i2=t+D|0,l2=s2|1,e[i2>>2]=l2,e[138268]=E2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,A2=(n2|0)==(r2|0),A2)return e2=e[138264]|0,o2=e2+b1|0,f2=o2>>>0>>0,f2?(E5=0,E5|0):(t2=o2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+o2|0,N2=G&1,L2=N2|o,U2=L2|2,e[N>>2]=U2,b=o+4|0,m2=t+b|0,W2=t2|1,e[m2>>2]=W2,e[Q2>>2]=t2,w=o2+4|0,P2=t+w|0,V2=e[P2>>2]|0,G2=V2&-2,e[P2>>2]=G2,a3=D2,B3=t2):(q2=G&1,A5=q2|o2,H2=A5|2,e[N>>2]=H2,S=o2+4|0,N1=t+S|0,t5=e[N1>>2]|0,F5=t5|1,e[N1>>2]=F5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(i5=x5&2,_5=(i5|0)==0,!_5||(j2=x5&-8,I5=j2+b1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=x5>>>3,B5=x5>>>0<256;do if(B5){if(Q=b1+8|0,s5=t+Q|0,R2=e[s5>>2]|0,B=b1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,T5=553088+(Q5<<2)|0,m5=(R2|0)==(T5|0),m5||(q5=R2>>>0<$2>>>0,q5&&v2(),L5=R2+12|0,Y2=e[L5>>2]|0,p5=(Y2|0)==(n2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0<$2>>>0,X2&&v2(),g2=y2+8|0,w5=e[g2>>2]|0,r5=(w5|0)==(n2|0),r5?$=g2:v2()),a5=R2+12|0,e[a5>>2]=y2,e[$>>2]=R2}else{g=b1+24|0,d5=t+g|0,z2=e[d5>>2]|0,v=b1+12|0,f5=t+v|0,n5=e[f5>>2]|0,M5=(n5|0)==(n2|0);do if(M5){if(L=b1+20|0,h0=t+L|0,j=e[h0>>2]|0,u0=(j|0)==0,u0)if(M=b1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else e5=$0,v5=c0;else e5=j,v5=h0;for(;;){if(Z=e5+20|0,I0=e[Z>>2]|0,g0=(I0|0)==0,!g0){e5=I0,v5=Z;continue}if(f0=e5+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=e5,J5=v5;break}else e5=n0,v5=f0}if(C0=J5>>>0<$2>>>0,C0)v2();else{e[J5>>2]=0,F2=c5;break}}else if(E=b1+8|0,X=t+E|0,K=e[X>>2]|0,a0=K>>>0<$2>>>0,a0&&v2(),W=K+12|0,r0=e[W>>2]|0,s0=(r0|0)==(n2|0),s0||v2(),J=n5+8|0,o0=e[J>>2]|0,q=(o0|0)==(n2|0),q){e[W>>2]=n5,e[J>>2]=K,F2=n5;break}else v2();while(!1);if(S0=(z2|0)==0,!S0){if(d=b1+28|0,Q0=t+d|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(n2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),U0=z2+16|0,O0=e[U0>>2]|0,k0=(O0|0)==(n2|0),k0?e[U0>>2]=F2:(V0=z2+20|0,e[V0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,z0=F2>>>0>>0,z0&&v2(),J0=F2+24|0,e[J0>>2]=z2,m=b1+16|0,q0=t+m|0,Z0=e[q0>>2]|0,P0=(Z0|0)==0;do if(!P0)if(H0=Z0>>>0>>0,H0)v2();else{o1=F2+16|0,e[o1>>2]=Z0,Y0=Z0+24|0,e[Y0>>2]=F2;break}while(!1);if(I=b1+20|0,i1=t+I|0,x0=e[i1>>2]|0,h1=(x0|0)==0,!h1)if(g1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{d1=F2+20|0,e[d1>>2]=x0,u1=x0+24|0,e[u1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(c1=G&1,s1=I5|c1,$1=s1|2,e[N>>2]=$1,T=I5|4,j0=t+T|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=G&1,w1=B1|o,v1=w1|2,e[N>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,S1=e[M1>>2]|0,R1=S1|1,e[M1>>2]=R1,_Q(p1,g5),E5=t,E5|0)}function _Q(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,o1=0,Y0=0,i1=0,x0=0,n1=0,h1=0,g1=0,m1=0,d1=0,u1=0,A1=0,c1=0,s1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,S1=0,D1=0,R1=0,F1=0,U1=0,b1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,c2=0,W1=0,d2=0,s2=0,E2=0,a2=0,K1=0,h2=0,$2=0,i2=0,l2=0,r2=0,A2=0,e2=0,o2=0,f2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,m2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,g2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0;Se=C,j=t+o|0,u0=t+4|0,q2=e[u0>>2]|0,C6=q2&1,e9=(C6|0)==0;do if(e9){if(O6=e[t>>2]|0,H9=q2&3,R9=(H9|0)==0,R9)return;if(qe=0-O6|0,v9=t+qe|0,c0=O6+o|0,S0=e[138266]|0,T0=v9>>>0>>0,T0&&v2(),q0=e[138267]|0,m1=(v9|0)==(q0|0),m1){if(v=o+4|0,re=t+v|0,$0=e[re>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){a=v9,$=c0;break}e[138264]=c0,I0=$0&-2,e[re>>2]=I0,g0=c0|1,L=4-O6|0,f0=t+L|0,e[f0>>2]=g0,e[j>>2]=c0;return}if(p1=O6>>>3,U1=O6>>>0<256,U1){if(W=8-O6|0,X1=t+W|0,h2=e[X1>>2]|0,r0=12-O6|0,D2=t+r0|0,Z2=e[D2>>2]|0,Y5=p1<<1,x5=553088+(Y5<<2)|0,l5=(h2|0)==(x5|0),l5||(e5=h2>>>0>>0,e5&&v2(),a3=h2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(v9|0),S5||v2()),a6=(Z2|0)==(h2|0),a6){R6=1<>>0>>0,Y6&&v2(),A6=Z2+8|0,D6=e[A6>>2]|0,U6=(D6|0)==(v9|0),U6?E=A6:v2()),t9=h2+12|0,e[t9>>2]=Z2,e[E>>2]=h2,a=v9,$=c0;break}R=24-O6|0,Q6=t+R|0,G3=e[Q6>>2]|0,F=12-O6|0,n9=t+F|0,V6=e[n9>>2]|0,s9=(V6|0)==(v9|0);do if(s9){if(T=16-O6|0,N=T+4|0,h9=t+N|0,o9=e[h9>>2]|0,C9=(o9|0)==0,C9)if(B9=t+T|0,Q9=e[B9>>2]|0,d9=(Q9|0)==0,d9){de=0;break}else ze=Q9,d4=B9;else ze=o9,d4=h9;for(;;){if(f9=ze+20|0,y6=e[f9>>2]|0,H6=(y6|0)==0,!H6){ze=y6,d4=f9;continue}if(A9=ze+16|0,Y9=e[A9>>2]|0,y9=(Y9|0)==0,y9){P9=ze,f4=d4;break}else ze=Y9,d4=A9}if(ye=f4>>>0>>0,ye)v2();else{e[f4>>2]=0,de=P9;break}}else if(a0=8-O6|0,c9=t+a0|0,P6=e[c9>>2]|0,J6=P6>>>0>>0,J6&&v2(),T6=P6+12|0,i9=e[T6>>2]|0,_6=(i9|0)==(v9|0),_6||v2(),U3=V6+8|0,q6=e[U3>>2]|0,a9=(q6|0)==(v9|0),a9){e[T6>>2]=V6,e[U3>>2]=P6,de=V6;break}else v2();while(!1);if(ge=(G3|0)==0,ge)a=v9,$=c0;else{if(V=28-O6|0,pe=t+V|0,V9=e[pe>>2]|0,ie=553352+(V9<<2)|0,w9=e[ie>>2]|0,W6=(v9|0)==(w9|0),W6){if(e[ie>>2]=de,f6=(de|0)==0,f6){$9=1<>>0>>0,Fe&&v2(),Te=G3+16|0,Ge=e[Te>>2]|0,n4=(Ge|0)==(v9|0),n4?e[Te>>2]=de:(ve=G3+20|0,e[ve>>2]=de),He=(de|0)==0,He){a=v9,$=c0;break}J9=e[138266]|0,Ye=de>>>0>>0,Ye&&v2(),he=de+24|0,e[he>>2]=G3,X=16-O6|0,Ue=t+X|0,Ee=e[Ue>>2]|0,v4=(Ee|0)==0;do if(!v4)if(W9=Ee>>>0>>0,W9)v2();else{k4=de+16|0,e[k4>>2]=Ee,Y4=Ee+24|0,e[Y4>>2]=de;break}while(!1);if(K=X+4|0,nt=t+K|0,Ve=e[nt>>2]|0,V4=(Ve|0)==0,V4)a=v9,$=c0;else if(Je=e[138266]|0,o4=Ve>>>0>>0,o4)v2();else{R4=de+20|0,e[R4>>2]=Ve,ot=Ve+24|0,e[ot>>2]=de,a=v9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,d0=j>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(j|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,K0=a+4|0,e[K0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(j|0)==(N0|0),U0){O0=e[138264]|0,k0=O0+$|0,e[138264]=k0,e[138267]=a,V0=k0|1,F0=a+4|0,e[F0>>2]=V0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,z0=G0+$|0,J0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,P0=t+x|0,H0=e[P0>>2]|0,M=o+12|0,o1=t+M|0,Y0=e[o1>>2]|0,i1=J0<<1,x0=553088+(i1<<2)|0,n1=(H0|0)==(x0|0),n1||(h1=H0>>>0>>0,h1&&v2(),g1=H0+12|0,d1=e[g1>>2]|0,u1=(d1|0)==(j|0),u1||v2()),A1=(Y0|0)==(H0|0),A1){c1=1<>>0>>0,I1&&v2(),Q1=Y0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(j|0),w1?I=Q1:v2()),v1=H0+12|0,e[v1>>2]=Y0,e[I>>2]=H0}else{G=o+24|0,k1=t+G|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,S1=e[M1>>2]|0,D1=(S1|0)==(j|0);do if(D1){if(o0=o+20|0,H1=t+o0|0,Y1=e[H1>>2]|0,V1=(Y1|0)==0,V1)if(J=o+16|0,n2=t+J|0,j1=e[n2>>2]|0,O1=(j1|0)==0,O1){ne=0;break}else Ne=j1,ke=n2;else Ne=Y1,ke=H1;for(;;){if(c2=Ne+20|0,W1=e[c2>>2]|0,d2=(W1|0)==0,!d2){Ne=W1,ke=c2;continue}if(s2=Ne+16|0,E2=e[s2>>2]|0,a2=(E2|0)==0,a2){h4=Ne,s4=ke;break}else Ne=E2,ke=s2}if(K1=s4>>>0>>0,K1)v2();else{e[s4>>2]=0,ne=h4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,b1=F1>>>0>>0,b1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(j|0),G1||v2(),x1=S1+8|0,z1=e[x1>>2]|0,q1=(z1|0)==(j|0),q1){e[P1>>2]=S1,e[x1>>2]=F1,ne=S1;break}else v2();while(!1);if($2=(L1|0)==0,!$2){if(h0=o+28|0,i2=t+h0|0,l2=e[i2>>2]|0,r2=553352+(l2<<2)|0,A2=e[r2>>2]|0,e2=(j|0)==(A2|0),e2){if(e[r2>>2]=ne,J4=(ne|0)==0,J4){o2=1<>>0>>0,Q2&&v2(),N2=L1+16|0,L2=e[N2>>2]|0,U2=(L2|0)==(j|0),U2?e[N2>>2]=ne:(m2=L1+20|0,e[m2>>2]=ne),W2=(ne|0)==0,W2)break;P2=e[138266]|0,V2=ne>>>0>>0,V2&&v2(),G2=ne+24|0,e[G2>>2]=L1,t0=o+16|0,A5=t+t0|0,H2=e[A5>>2]|0,N1=(H2|0)==0;do if(!N1)if(t5=H2>>>0>>0,t5)v2();else{F5=ne+16|0,e[F5>>2]=H2,i5=H2+24|0,e[i5>>2]=ne;break}while(!1);if(D=o+20|0,_5=t+D|0,j2=e[_5>>2]|0,I5=(j2|0)==0,!I5)if(b5=e[138266]|0,g5=j2>>>0>>0,g5)v2();else{b2=ne+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=ne;break}}}while(!1);if(s5=z0|1,R2=a+4|0,e[R2>>2]=s5,M2=a+z0|0,e[M2>>2]=z0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=z0;return}else g=z0}else T5=C0&-2,e[p0>>2]=T5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,L5=a+$|0,e[L5>>2]=$,g=$;if(Y2=g>>>3,p5=g>>>0<256,p5){$5=Y2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=w5>>>0>>0,a5?v2():(Q=g2,u4=w5)),e[Q>>2]=a,d5=u4+12|0,e[d5>>2]=a,z2=a+8|0,e[z2>>2]=u4,f5=a+12|0,e[f5>>2]=u5;return}if(n5=g>>>8,M5=(n5|0)==0,M5?Ce=0:(c5=g>>>0>16777215,c5?Ce=31:(F2=n5+1048320|0,v5=F2>>>16,J5=v5&8,i3=n5<>>16,d3=I3&4,K5=d3|J5,r3=i3<>>16,W5=N5&2,D3=K5|W5,f3=14-D3|0,y3=r3<>>15,q3=f3+X3|0,X5=q3<<1,b3=q3+7|0,s6=g>>>b3,T3=s6&1,H3=T3|X5,Ce=H3)),c3=553352+(Ce<<2)|0,g3=a+28|0,e[g3>>2]=Ce,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,z5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}N3=e[c3>>2]|0,E6=N3+4|0,k3=e[E6>>2]|0,_3=k3&-8,S3=(_3|0)==(g|0);e:do if(S3)Pe=N3;else{for(i6=(Ce|0)==31,V3=Ce>>>1,Z5=25-V3|0,x3=i6?0:Z5,h3=g<>>31,d6=(I4+16|0)+(r6<<2)|0,m3=e[d6>>2]|0,b6=(m3|0)==0,b6){d=d6,k9=I4;break}if(J3=N6<<1,h6=m3+4|0,L6=e[h6>>2]|0,M6=L6&-8,S6=(M6|0)==(g|0),S6){Pe=m3;break e}else N6=J3,I4=m3}G6=e[138266]|0,X6=d>>>0>>0,X6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=k9,L3=a+12|0,e[L3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Pe+8|0,M3=e[o6>>2]|0,K3=e[138266]|0,e6=M3>>>0>=K3>>>0,fe=Pe>>>0>=K3>>>0,F6=e6&fe,F6||v2(),l6=M3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=M3,K6=a+12|0,e[K6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function sD(){e[6410]=K9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function tl(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function xQ(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(tl(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function LQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,j6=d,g|0|0}function ns(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(j6=0,o>>>a-32|0)}function ce(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return fS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function nA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ce(t,o,a)|0;return t|0}function BC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function os(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,j6=d,g|0|0}function x_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(j6=(o|0)<0?-1:0,o>>a-32|0)}function MQ(t){t=t|0;var o=0;return o=f[G9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[G9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[G9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[G9+(t>>>24)>>0]|0)+24|0))}function aD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,d=t>>>16,m=(g>>>16)+(o5($,d)|0)|0,I=o>>>16,E=o5(I,a)|0,j6=((m>>>16)+(o5(I,d)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function L_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=os(g^t,d^o,g,d)|0,Q=j6,B=os(m^a,I^$,m,I)|0,S=m^g,b=I^d,v=sE(E,Q,B,j6,0)|0,w=os(v^S,j6^b,S,b)|0,w|0}function M_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=os(d^t,m^o,d,m)|0,B=j6,S=os(I^a,E^$,I,E)|0,sE(Q,B,S,j6,g)|0,b=os(e[g>>2]^d,e[g+4>>2]^m,d,m)|0,v=j6,C=w,j6=v,b|0}function AD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0;return g=t,d=a,m=aD(g,d)|0,I=j6,E=o5(o,d)|0,j6=((o5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function R_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=sE(t,o,a,$,0)|0,g|0}function F_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,sE(t,o,a,$,g)|0,C=d,j6=e[g+4>>2]|0,e[g>>2]|0|0}function sE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,X=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,q=0,h0=0,t0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;if(d=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0):(S&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(d>>>0)/(E>>>0)>>>0,j6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(K=is(B|0)|0,a0=K-(is(I|0)|0)|0,a0>>>0<=31){W=a0+1|0,r0=31-a0|0,s0=a0-31>>31,t0=W,h0=d>>>(W>>>0)&s0|I<>>(W>>>0)&s0,o0=0,J=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(is(E|0)|0)+33|0,F=R-(is(I|0)|0)|0,T=64-F|0,N=32-F|0,G=N>>31,V=F-32|0,X=V>>31,t0=F,h0=N-1>>31&I>>>(V>>>0)|(I<>>(F>>>0))&X,q=X&I>>>(F>>>0),o0=d<>>(V>>>0))&G|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,j6=L0,F0|0):(L=MQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|d>>>(L>>>0)|0,j6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,j6=L0,F0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,j6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((MQ(B|0)|0)>>>0),j6=L0,F0|0;if(w=is(B|0)|0,D=w-(is(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,t0=y,h0=I<>>(y>>>0),q=I>>>(y>>>0),o0=0,J=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}while(!1);if(!(t0|0))U0=J,N0=o0,T0=q,v0=h0,M0=0,K0=0;else{for(j=0|a&-1,u0=Q|$&0,c0=rs(j|0,u0|0,-1,-1)|0,$0=j6,n0=J,f0=o0,g0=q,I0=h0,Z=t0,l0=0;d0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(I0<<1|n0>>>31),S0=I0>>>31|g0<<1|0,os(c0,$0,C0,S0)|0,Q0=j6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=os(C0,S0,b0&j,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=j6,_0=Z-1|0,_0|0;)n0=d0,f0=p0,g0=B0,I0=w0,Z=_0,l0=E0;U0=d0,N0=p0,T0=B0,v0=w0,M0=0,K0=E0}return O0=N0,k0=0,V0=U0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|O0)>>>31|V0<<1|(k0<<1|O0>>>31)&0|M0,F0=(O0<<1|0)&-2|K0,j6=L0,F0|0}function $D(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,wC[t&3](o|0,a|0,$|0,g|0)|0}function lD(t,o){t=t|0,o=o|0,ss[t&7](o|0)}function cD(t,o,a){t=t|0,o=o|0,a=a|0,vC[t&3](o|0,a|0)}function gD(t,o){return t=t|0,o=o|0,TQ[t&1](o|0)|0}function uD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,NQ[t&1](o|0,a|0,$|0)}function hD(t,o,a,$,g,d,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,GQ[t&3](o|0,a|0,$|0,g|0,d|0,m|0,I|0,E|0)|0}function dD(t,o,a){return t=t|0,o=o|0,a=a|0,mi[t&15](o|0,a|0)|0}function fD(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,kC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function ID(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function QC(t){t=t|0,rn(1)}function RQ(t,o){t=t|0,o=o|0,rn(2)}function mD(t){return t=t|0,rn(3),0}function pD(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function FQ(t,o,a,$,g,d,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,rn(5),0}function il(t,o){return t=t|0,o=o|0,rn(6),0}function yC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var wC=[ID,nb,OS,qS],ss=[QC,tb,ib,hb,kb,Sb,QC,QC],vC=[RQ,jS,bb,RQ],TQ=[mD,db],NQ=[pD,gb],GQ=[FQ,Lb,Tb,FQ],mi=[il,XS,eb,rb,ub,fb,Db,_b,ob,vb,qb,il,il,il,il,il],kC=[yC,xb,Mb,Rb,Fb,Nb,yC,yC];return{_memmove:nA,_strlen:tl,_strcat:xQ,_free:p2,_i64Add:rs,_encoder_clear:Zb,_encoder_transfer_data:tD,_encoder_data_len:eD,_memset:g4,_malloc:M9,_memcpy:ce,_encoder_init:Wb,_encoder_process:Xb,_bitshift64Lshr:ns,_bitshift64Shl:LQ,_strcpy:BC,_encoder_analysis_buffer:jb,runPostSets:sD,stackAlloc:pS,stackSave:ES,stackRestore:CS,establishStackSpace:BS,setThrew:QS,setTempRet0:yS,getTempRet0:wS,dynCall_iiiii:$D,dynCall_vi:lD,dynCall_vii:cD,dynCall_ii:gD,dynCall_viii:uD,dynCall_iiiiiiiii:hD,dynCall_iii:dD,dynCall_iiiiii:fD}}(n.asmGlobalArg,n.asmLibraryArg,U7),a_=n.runPostSets=ee.runPostSets,eS=n._strlen=ee._strlen,tS=n._strcat=ee._strcat,lC=n._free=ee._free,A_=n._encoder_init=ee._encoder_init,iS=n._i64Add=ee._i64Add,rS=n._memmove=ee._memmove,$_=n._encoder_transfer_data=ee._encoder_transfer_data,l_=n._encoder_process=ee._encoder_process,c_=n._encoder_data_len=ee._encoder_data_len,nS=n._memset=ee._memset,xu=n._malloc=ee._malloc,oS=n._memcpy=ee._memcpy,g_=n._encoder_clear=ee._encoder_clear,sS=n._bitshift64Lshr=ee._bitshift64Lshr,u_=n._encoder_analysis_buffer=ee._encoder_analysis_buffer,aS=n._strcpy=ee._strcpy,AS=n._bitshift64Shl=ee._bitshift64Shl,h_=n.dynCall_iiiii=ee.dynCall_iiiii,d_=n.dynCall_vi=ee.dynCall_vi,f_=n.dynCall_vii=ee.dynCall_vii,I_=n.dynCall_ii=ee.dynCall_ii,m_=n.dynCall_viii=ee.dynCall_viii,p_=n.dynCall_iiiiiiiii=ee.dynCall_iiiiiiiii,E_=n.dynCall_iii=ee.dynCall_iii,C_=n.dynCall_iiiiii=ee.dynCall_iiiiii;_.stackAlloc=ee.stackAlloc,_.stackSave=ee.stackSave,_.stackRestore=ee.stackRestore,_.establishStackSpace=ee.establishStackSpace,_.setTempRet0=ee.setTempRet0,_.getTempRet0=ee.getTempRet0;var B_=function(){var r={math:{}};r.math.Long=function(z,D0){this.low_=z|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(z){if(-128<=z&&z<128){var D0=r.math.Long.IntCache_[z];if(D0)return D0}var e1=new r.math.Long(z|0,z<0?-1:0);return-128<=z&&z<128&&(r.math.Long.IntCache_[z]=e1),e1},r.math.Long.fromNumber=function(z){return isNaN(z)||!isFinite(z)?r.math.Long.ZERO:z<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:z+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:z<0?r.math.Long.fromNumber(-z).negate():new r.math.Long(z%r.math.Long.TWO_PWR_32_DBL_|0,z/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(z,D0){return new r.math.Long(z,D0)},r.math.Long.fromString=function(z,D0){if(z.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+z);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var z=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(z&1<0},r.math.Long.prototype.greaterThanOrEqual=function(z){return this.compare(z)>=0},r.math.Long.prototype.compare=function(z){if(this.equals(z))return 0;var D0=this.isNegative(),e1=z.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(z).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(z){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,i4=0,ai=0,ir=0;return ir+=e3+q9,ai+=ir>>>16,ir&=65535,ai+=B2+r9,i4+=ai>>>16,ai&=65535,i4+=e1+F3,U9+=i4>>>16,i4&=65535,U9+=D0+O5,U9&=65535,r.math.Long.fromBits(ai<<16|ir,U9<<16|i4)},r.math.Long.prototype.subtract=function(z){return this.add(z.negate())},r.math.Long.prototype.multiply=function(z){if(this.isZero())return r.math.Long.ZERO;if(z.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return z.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(z.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().multiply(z.negate()):this.negate().multiply(z).negate();if(z.isNegative())return this.multiply(z.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&z.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*z.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,i4=0,ai=0,ir=0;return ir+=e3*q9,ai+=ir>>>16,ir&=65535,ai+=B2*q9,i4+=ai>>>16,ai&=65535,ai+=e3*r9,i4+=ai>>>16,ai&=65535,i4+=e1*q9,U9+=i4>>>16,i4&=65535,i4+=B2*r9,U9+=i4>>>16,i4&=65535,i4+=e3*F3,U9+=i4>>>16,i4&=65535,U9+=D0*q9+e1*r9+B2*F3+e3*O5,U9&=65535,r.math.Long.fromBits(ai<<16|ir,U9<<16|i4)},r.math.Long.prototype.div=function(z){if(z.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(z.equals(r.math.Long.ONE)||z.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(z).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return z.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(z.multiply(e1)),B2=e1.add(O5.div(z));return B2}else if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().div(z.negate()):this.negate().div(z).negate();if(z.isNegative())return this.div(z.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(z);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/z.toNumber())),F3=Math.ceil(Math.log(e1)/Math.LN2),r9=F3<=48?1:Math.pow(2,F3-48),q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);U9.isNegative()||U9.greaterThan(O5);)e1-=r9,q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);q9.isZero()&&(q9=r.math.Long.ONE),e3=e3.add(q9),O5=O5.subtract(U9)}return e3},r.math.Long.prototype.modulo=function(z){return this.subtract(this.div(z).multiply(z))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(z){return r.math.Long.fromBits(this.low_&z.low_,this.high_&z.high_)},r.math.Long.prototype.or=function(z){return r.math.Long.fromBits(this.low_|z.low_,this.high_|z.high_)},r.math.Long.prototype.xor=function(z){return r.math.Long.fromBits(this.low_^z.low_,this.high_^z.high_)},r.math.Long.prototype.shiftLeft=function(z){if(z&=63,z==0)return this;var D0=this.low_;if(z<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-z)}else return r.math.Long.fromBits(0,D0<>>z|D0<<32-z,D0>>z)}else return r.math.Long.fromBits(D0>>z-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(z){if(z&=63,z==0)return this;var D0=this.high_;if(z<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>z|D0<<32-z,D0>>>z)}else return z==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>z-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,Y=(f&16777215)==15715070;function e(z,D0,e1){z!=null&&(typeof z=="number"?this.fromNumber(z,D0,e1):D0==null&&typeof z!="string"?this.fromString(z,256):this.fromString(z,D0))}function X0(){return new e(null)}function r1(z,D0,e1,B2,e3,O5){for(;--O5>=0;){var F3=D0*this[z++]+e1[B2]+e3;e3=Math.floor(F3/67108864),e1[B2++]=F3&67108863}return e3}function x2(z,D0,e1,B2,e3,O5){for(var F3=D0&32767,r9=D0>>15;--O5>=0;){var q9=this[z]&32767,U9=this[z++]>>15,i4=r9*q9+U9*F3;q9=F3*q9+((i4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(q9>>>30)+(i4>>>15)+r9*U9+(e3>>>30),e1[B2++]=q9&1073741823}return e3}function s(z,D0,e1,B2,e3,O5){for(var F3=D0&16383,r9=D0>>14;--O5>=0;){var q9=this[z]&16383,U9=this[z++]>>14,i4=r9*q9+U9*F3;q9=F3*q9+((i4&16383)<<14)+e1[B2]+e3,e3=(q9>>28)+(i4>>14)+r9*U9,e1[B2++]=q9&268435455}return e3}Y&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):Y&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)z[D0]=this[D0];z.t=this.t,z.s=this.s}function Dt(z){this.t=1,this.s=z<0?-1:0,z>0?this[0]=z:z<-1?this[0]=z+DV:this.t=0}function te(z){var D0=X0();return D0.fromInt(z),D0}function It(z,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(z,D0);return}this.t=0,this.s=0;for(var B2=z.length,e3=!1,O5=0;--B2>=0;){var F3=e1==8?z[B2]&255:K9(z,B2);if(F3<0){z.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=F3:O5+e1>this.DB?(this[this.t-1]|=(F3&(1<>this.DB-O5):this[this.t-1]|=F3<=this.DB&&(O5-=this.DB)}e1==8&&z[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==z;)--this.t}function H7(z){if(this.s<0)return"-"+this.negate().toString(z);var D0;if(z==16)D0=4;else if(z==8)D0=3;else if(z==2)D0=1;else if(z==32)D0=5;else if(z==4)D0=2;else return this.toRadix(z);var e1=(1<0)for(r9>r9)>0&&(e3=!0,O5=G9(B2));F3>=0;)r9>(r9+=this.DB-D0)):(B2=this[F3]>>(r9-=D0)&e1,r9<=0&&(r9+=this.DB,--F3)),B2>0&&(e3=!0),e3&&(O5+=G9(B2));return e3?O5:"0"}function Y7(){var z=X0();return e.ZERO.subTo(this,z),z}function Qr(){return this.s<0?this.negate():this}function j$(z){var D0=this.s-z.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-z.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-z[e1])!=0)return D0;return 0}function jp(z){var D0=1,e1;return(e1=z>>>16)!=0&&(z=e1,D0+=16),(e1=z>>8)!=0&&(z=e1,D0+=8),(e1=z>>4)!=0&&(z=e1,D0+=4),(e1=z>>2)!=0&&(z=e1,D0+=2),(e1=z>>1)!=0&&(z=e1,D0+=1),D0}function LB(){return this.t<=0?0:this.DB*(this.t-1)+jp(this[this.t-1]^this.s&this.DM)}function MB(z,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+z]=this[e1];for(e1=z-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+z,D0.s=this.s}function RB(z,D0){for(var e1=z;e1=0;--r9)D0[r9+O5+1]=this[r9]>>B2|F3,F3=(this[r9]&e3)<=0;--r9)D0[r9]=0;D0[O5]=F3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function TB(z,D0){D0.s=this.s;var e1=Math.floor(z/this.DB);if(e1>=this.t){D0.t=0;return}var B2=z%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var F3=e1+1;F3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=z.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function NB(z,D0){var e1=this.abs(),B2=z.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)z[e1]=0;for(e1=0;e1=D0.DV&&(z[e1+D0.t]-=D0.DV,z[e1+D0.t+1]=1)}z.t>0&&(z[z.t-1]+=D0.am(e1,D0[e1],z,2*e1,0,1)),z.s=0,z.clamp()}function UB(z,D0,e1){var B2=z.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(q9,O5),e3.lShiftTo(q9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var U9=O5.t,i4=O5[U9-1];if(i4!=0){var ai=i4*(1<1?O5[U9-2]>>this.F2:0),ir=this.FV/ai,jB=(1<=0&&(e1[e1.t++]=1,e1.subTo(Pi,e1)),e.ONE.dlShiftTo(U9,Pi),Pi.subTo(O5,O5);O5.t=0;){var Xp=e1[--rA]==i4?this.DM:Math.floor(e1[rA]*ir+(e1[rA-1]+XB)*jB);if((e1[rA]+=O5.am(0,Xp,e1,Mu,0,U9))0&&e1.rShiftTo(q9,e1),F3<0&&e.ZERO.subTo(e1,e1)}}}function PB(z){var D0=X0();return this.abs().divRemTo(z,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&z.subTo(D0,D0),D0}function eA(z){this.m=z}function OB(z){return z.s<0||z.compareTo(this.m)>=0?z.mod(this.m):z}function qB(z){return z}function HB(z){z.divRemTo(this.m,null,z)}function YB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}function tA(z,D0){z.squareTo(D0),this.reduce(D0)}eA.prototype.convert=OB,eA.prototype.revert=qB,eA.prototype.reduce=HB,eA.prototype.mulTo=YB,eA.prototype.sqrTo=tA;function tr(){if(this.t<1)return 0;var z=this[0];if(!(z&1))return 0;var D0=z&3;return D0=D0*(2-(z&15)*D0)&15,D0=D0*(2-(z&255)*D0)&255,D0=D0*(2-((z&65535)*D0&65535))&65535,D0=D0*(2-z*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function qn(z){this.m=z,this.mp=z.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function iA(z){var D0=X0();return z.copyTo(D0),this.reduce(D0),D0}function Hn(z){for(;z.t<=this.mt2;)z[z.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&z.DM;for(e1=D0+this.m.t,z[e1]+=this.m.am(0,B2,z,D0,0,this.m.t);z[e1]>=z.DV;)z[e1]-=z.DV,z[++e1]++}z.clamp(),z.drShiftTo(this.m.t,z),z.compareTo(this.m)>=0&&z.subTo(this.m,z)}function VB(z,D0){z.squareTo(D0),this.reduce(D0)}function JB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}qn.prototype.convert=Lu,qn.prototype.revert=iA,qn.prototype.reduce=Hn,qn.prototype.mulTo=JB,qn.prototype.sqrTo=VB;function zB(){return(this.t>0?this[0]&1:this.s)==0}function ts(z,D0){if(z>4294967295||z<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=jp(z)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(z&1<0)D0.mulTo(B2,e3,e1);else{var F3=e1;e1=B2,B2=F3}return D0.revert(e1)}function KB(z,D0){var e1;return z<256||D0.isEven()?e1=new eA(D0):e1=new qn(D0),this.exp(z,e1)}e.prototype.copyTo=Qe,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=MB,e.prototype.drShiftTo=RB,e.prototype.lShiftTo=FB,e.prototype.rShiftTo=TB,e.prototype.subTo=j6,e.prototype.multiplyTo=NB,e.prototype.squareTo=GB,e.prototype.divRemTo=UB,e.prototype.invDigit=tr,e.prototype.isEven=zB,e.prototype.exp=ts,e.prototype.toString=H7,e.prototype.negate=Y7,e.prototype.abs=Qr,e.prototype.compareTo=j$,e.prototype.bitLength=LB,e.prototype.mod=PB,e.prototype.modPowInt=KB,e.ZERO=te(0),e.ONE=te(1);function Yn(z,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,F3=0,r9=0;r9=e1&&(this.dMultiply(B2),this.dAddOffset(F3,0),O5=0,F3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(F3,0)),e3&&e.ZERO.subTo(this,this)}function tn(z){return Math.floor(Math.LN2*this.DB/Math.log(z))}function gC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(z){this[this.t]=this.am(0,z-1,this,0,0,this.t),++this.t,this.clamp()}function WB(z,D0){if(z!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=z;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function is(z){if(z==null&&(z=10),this.signum()==0||z<2||z>36)return"0";var D0=this.chunkSize(z),e1=Math.pow(z,D0),B2=te(e1),e3=X0(),O5=X0(),F3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)F3=(e1+O5.intValue()).toString(z).substr(1)+F3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(z)+F3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=z.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=tn,e.prototype.signum=gC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=WB,e.prototype.toRadix=is,e.prototype.intValue=rn,e.prototype.addTo=ZB;var l7={abs:function(z,D0){var e1=new r.math.Long(z,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,N9[bt>>2]=B2.low_,N9[bt+4>>2]=B2.high_},ensureTemps:function(){l7.ensuredTemps||(l7.ensuredTemps=!0,l7.two32=new e,l7.two32.fromString("4294967296",10),l7.two64=new e,l7.two64.fromString("18446744073709551616",10),l7.temp1=new e,l7.temp2=new e)},lh2bignum:function(z,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(l7.two32,B2);var e3=new e;e3.fromString(z.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(z,D0,e1){var B2=new r.math.Long(z,D0).toString();if(e1&&B2[0]=="-"){l7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,l7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(z,D0,e1,B2,e3){l7.ensureTemps();var O5=new e;O5.fromString(z,D0);var F3=new e;F3.fromString(e1,10);var r9=new e;if(r9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var q9=new e;O5.addTo(l7.two64,q9),O5=q9}var U9=!1;O5.compareTo(F3)<0?(O5=F3,U9=!0):O5.compareTo(r9)>0&&(O5=r9,U9=!0);var i4=r.math.Long.fromString(O5.toString());if(N9[bt>>2]=i4.low_,N9[bt+4>>2]=i4.high_,U9)throw"range error"}};return l7}();function Xa(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}Xa.prototype=new Error,Xa.prototype.constructor=Xa;var bB,Zp=null,$S=!1;O7=function r(){n.calledRun||cC(),n.calledRun||(O7=r)},n.callMain=n.callMain=function(l){e4(v8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),e4(Yp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Wo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)Y.push(0)}var Y=[C3(en(n.thisProgram),"i8",Wa)];f();for(var e=0;e0||(Du(),v8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!i0&&(Wo(),EB(),c&&Zp!==null&&n.printErr("pre-main prep time: "+(Date.now()-Zp)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&xB&&n.callMain(r),Y$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=cC;function DB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(i0=!0,a1=r,v7=bB,Vp(),n.onExit&&n.onExit(r)),h?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):O&&typeof quit=="function"&&quit(r),new Xa(r)}n.exit=n.exit=DB;var _B=[];function es(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",i0=!0,a1=1;var l=` -If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+Op()+l;throw _B&&_B.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=es,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var xB=!0;n.noInitialRun&&(xB=!1),cC();var lS=n._encoder_init,cS=n._encoder_clear,gS=n._encoder_analysis_buffer,uS=n._encoder_process,hS=n._encoder_data_len,dS=n._encoder_transfer_data,k7=n.HEAPU8,K$=n.HEAPU32,W$=n.HEAPF32,Z$=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=lS(this.numChannels,r,u)};Z$.prototype.encode=function(r){for(var l=r[0].length,u=gS(this.encoder,l)>>2,f=0;f>2);this.process(l)},Z$.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},Z$.prototype.cancel=Z$.prototype.cleanup=function(){cS(this.encoder),delete this.encoder,delete this.oggBuffers},Z$.prototype.process=function(r){uS(this.encoder,r);var l=hS(this.encoder);if(l>0){var u=dS(this.encoder);this.oggBuffers.push(new Uint8Array(k7.subarray(u,u+l)))}},eC.OggVorbisEncoder=Z$}};typeof window<"u"&&window===self&&eC.init();function Ik(n,i,A,c){let h=new eC.OggVorbisEncoder(A,i,c);h.encode(n);let p=h.finish(),O=p.reduce((U,W0)=>U+W0.length,0),H=new Uint8Array(O),P=0;for(let U of p)H.set(U,P),P+=U.length;return H}var tC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",h=>{h.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async h=>{h.preventDefault(),c.classList.add("hidden");let p=h.dataTransfer.files[0];if(!p)return;let O=p.name,H=await p.arrayBuffer(),P=H.slice(0,4),U=new TextDecoder;if(U.decode(P)==="RIFF"){let W0=H.slice(8,12);if(U.decode(W0)==="RMID"){i({buf:H,name:O});return}A(H);return}i({buf:H,name:O})})}};async function mk(){let n="locale.exportAudio.formats.formats.dls.warning.";w4(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"color: red"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;_e(i.id),M7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),h=Ja(c.embeddedSoundFont||this.soundFont);Ua(c,await this.synth.getSynthesizerSnapshot()),A&&mu(h,c);let p=h.writeDLS(),O=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(O,`${h.soundFontInfo.INAM||"unnamed"}.dls`),g9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var e_=!1,pr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,h=e_){this.localeManager=c,this.context=i,this.enableDebug=h,this.isExporting=!1,this.compressionFunc=Ik;let p;this.ready=new Promise(O=>p=O),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),h=document.createElement("a");h.href=c,h.download=A,h.click(),U5(h)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let e0 of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(e0,"innerText",e0.getAttribute("translate-path"));for(let e0 of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(e0,"innerText",e0.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(e0,"title",e0.getAttribute("translate-path-title")+".description");this.soundFont=A;let h=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":fk;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+h,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let O=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),P=await(await fetch(O)).arrayBuffer();this.impulseResponse=await i.decodeAudioData(P),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new uu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",e0=>{this.sfError&&this.sfError(e0.message)}),await this.synth.isReady,this.midHandler=new GE,this.wml=new UE(this.synth),this.keyboard=new kp(this.channelColors,this.synth);let U=document.getElementById("note_canvas");U.width=window.innerWidth*window.devicePixelRatio,U.height=window.innerHeight*window.devicePixelRatio,this.renderer=new F7(this.channelColors,this.synth,U,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let W0=!1,_=()=>{if(U.width=window.innerWidth*window.devicePixelRatio,U.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),Ir){if(window.innerWidth/window.innerHeight>1){if(!W0){let e0=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");W0=!0,e0.parentElement.insertBefore(i0,e0)}}else if(W0){let e0=document.getElementById("title_wrapper"),i0=document.getElementById("settings_div");W0=!1,e0.parentElement.insertBefore(e0,i0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),Ir&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Jr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new YE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Po(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new w7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new tC(e0=>{this.play([{binary:e0.buf,altName:e0.name}]),e0.name.length>20&&(e0.name=e0.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=e0.name},e0=>{this.reloadSf(e0)}),document.addEventListener("keydown",e0=>{switch(e0.key.toLowerCase()){case oi.cinematicMode:this.seq&&this.seq.pause();let i0=window.prompt(`Cinematic mode activated! - Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),i0===null)return;U.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${i0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case oi.videoMode:this.seq&&this.seq.pause();let a1=window.prompt(`Video mode! +`));if(!l)return null;r.input=en(l,!0)}return r.input.shift()},put_char:function(r,l){l===null||l===10?(n.print(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.print(Vo(r.output,0)),r.output=[])}},default_tty1_ops:{put_char:function(r,l){l===null||l===10?(n.printErr(Vo(r.output,0)),r.output=[]):l!=0&&r.output.push(l)},flush:function(r){r.output&&r.output.length>0&&(n.printErr(Vo(r.output,0)),r.output=[])}}},L9={ops_table:null,mount:function(r){return L9.createNode(null,"/",16895,0)},createNode:function(r,l,u,f){if(k.isBlkdev(u)||k.isFIFO(u))throw new k.ErrnoError(T2.EPERM);L9.ops_table||(L9.ops_table={dir:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,lookup:L9.node_ops.lookup,mknod:L9.node_ops.mknod,rename:L9.node_ops.rename,unlink:L9.node_ops.unlink,rmdir:L9.node_ops.rmdir,readdir:L9.node_ops.readdir,symlink:L9.node_ops.symlink},stream:{llseek:L9.stream_ops.llseek}},file:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:{llseek:L9.stream_ops.llseek,read:L9.stream_ops.read,write:L9.stream_ops.write,allocate:L9.stream_ops.allocate,mmap:L9.stream_ops.mmap,msync:L9.stream_ops.msync}},link:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr,readlink:L9.node_ops.readlink},stream:{}},chrdev:{node:{getattr:L9.node_ops.getattr,setattr:L9.node_ops.setattr},stream:k.chrdev_stream_ops}});var Y=k.createNode(r,l,u,f);return k.isDir(Y.mode)?(Y.node_ops=L9.ops_table.dir.node,Y.stream_ops=L9.ops_table.dir.stream,Y.contents={}):k.isFile(Y.mode)?(Y.node_ops=L9.ops_table.file.node,Y.stream_ops=L9.ops_table.file.stream,Y.usedBytes=0,Y.contents=null):k.isLink(Y.mode)?(Y.node_ops=L9.ops_table.link.node,Y.stream_ops=L9.ops_table.link.stream):k.isChrdev(Y.mode)&&(Y.node_ops=L9.ops_table.chrdev.node,Y.stream_ops=L9.ops_table.chrdev.stream),Y.timestamp=Date.now(),r&&(r.contents[l]=Y),Y},getFileDataAsRegularArray:function(r){if(r.contents&&r.contents.subarray){for(var l=[],u=0;ur.contents.length&&(r.contents=L9.getFileDataAsRegularArray(r),r.usedBytes=r.contents.length),!r.contents||r.contents.subarray){var u=r.contents?r.contents.buffer.byteLength:0;if(u>=l)return;var f=1024*1024;l=Math.max(l,u*(u0&&r.contents.set(Y.subarray(0,r.usedBytes),0);return}for(!r.contents&&l>0&&(r.contents=[]);r.contents.lengthl)r.contents.length=l;else for(;r.contents.length=r.node.usedBytes)return 0;var X0=Math.min(r.node.usedBytes-Y,f);if(e4(X0>=0),X0>8&&e.subarray)l.set(e.subarray(Y,Y+X0),u);else for(var r1=0;r10||Y+fP5.timestamp)&&(Y.push(k5),f++)});var e=[];if(Object.keys(l.entries).forEach(function(k5){var w2=l.entries[k5],P5=r.entries[k5];P5||(e.push(k5),f++)}),!f)return u(null);var X0=!1,r1=0,x2=r.type==="remote"?r.db:l.db,s=x2.transaction([k8.DB_STORE_NAME],"readwrite"),l1=s.objectStore(k8.DB_STORE_NAME);function C(k5){if(k5)return C.errored?void 0:(C.errored=!0,u(k5));if(++r1>=f)return u(null)}s.onerror=function(k5){C(this.error),k5.preventDefault()},Y.sort().forEach(function(k5){l.type==="local"?k8.loadRemoteEntry(l1,k5,function(w2,P5){if(w2)return C(w2);k8.storeLocalEntry(k5,P5,C)}):k8.loadLocalEntry(k5,function(w2,P5){if(w2)return C(w2);k8.storeRemoteEntry(l1,k5,P5,C)})}),e.sort().reverse().forEach(function(k5){l.type==="local"?k8.removeLocalEntry(k5,C):k8.removeRemoteEntry(l1,k5,C)})}},ft={isWindows:!1,staticInit:function(){ft.isWindows=!!process.platform.match(/^win/)},mount:function(r){return e4(h),ft.createNode(null,"/",ft.getMode(r.opts.root),0)},createNode:function(r,l,u,f){if(!k.isDir(u)&&!k.isFile(u)&&!k.isLink(u))throw new k.ErrnoError(T2.EINVAL);var Y=k.createNode(r,l,u);return Y.node_ops=ft.node_ops,Y.stream_ops=ft.stream_ops,Y},getMode:function(r){var l;try{l=S8.lstatSync(r),ft.isWindows&&(l.mode=l.mode|(l.mode&146)>>1)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}return l.mode},realPath:function(r){for(var l=[];r.parent!==r;)l.push(r.name),r=r.parent;return l.push(r.mount.opts.root),l.reverse(),I9.join.apply(null,l)},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(r){return r in ft.flagsToPermissionStringMap?ft.flagsToPermissionStringMap[r]:r},node_ops:{getattr:function(r){var l=ft.realPath(r),u;try{u=S8.lstatSync(l)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}return ft.isWindows&&!u.blksize&&(u.blksize=4096),ft.isWindows&&!u.blocks&&(u.blocks=(u.size+u.blksize-1)/u.blksize|0),{dev:u.dev,ino:u.ino,mode:u.mode,nlink:u.nlink,uid:u.uid,gid:u.gid,rdev:u.rdev,size:u.size,atime:u.atime,mtime:u.mtime,ctime:u.ctime,blksize:u.blksize,blocks:u.blocks}},setattr:function(r,l){var u=ft.realPath(r);try{if(l.mode!==void 0&&(S8.chmodSync(u,l.mode),r.mode=l.mode),l.timestamp!==void 0){var f=new Date(l.timestamp);S8.utimesSync(u,f,f)}l.size!==void 0&&S8.truncateSync(u,l.size)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},lookup:function(r,l){var u=I9.join2(ft.realPath(r),l),f=ft.getMode(u);return ft.createNode(r,l,f)},mknod:function(r,l,u,f){var Y=ft.createNode(r,l,u,f),e=ft.realPath(Y);try{k.isDir(Y.mode)?S8.mkdirSync(e,Y.mode):S8.writeFileSync(e,"",{mode:Y.mode})}catch(X0){throw X0.code?new k.ErrnoError(T2[X0.code]):X0}return Y},rename:function(r,l,u){var f=ft.realPath(r),Y=I9.join2(ft.realPath(l),u);try{S8.renameSync(f,Y)}catch(e){throw e.code?new k.ErrnoError(T2[e.code]):e}},unlink:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.unlinkSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},rmdir:function(r,l){var u=I9.join2(ft.realPath(r),l);try{S8.rmdirSync(u)}catch(f){throw f.code?new k.ErrnoError(T2[f.code]):f}},readdir:function(r){var l=ft.realPath(r);try{return S8.readdirSync(l)}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},symlink:function(r,l,u){var f=I9.join2(ft.realPath(r),l);try{S8.symlinkSync(u,f)}catch(Y){throw Y.code?new k.ErrnoError(T2[Y.code]):Y}},readlink:function(r){var l=ft.realPath(r);try{return l=S8.readlinkSync(l),l=kB.relative(kB.resolve(r.mount.opts.root),l),l}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}}},stream_ops:{open:function(r){var l=ft.realPath(r.node);try{k.isFile(r.node.mode)&&(r.nfd=S8.openSync(l,ft.flagsToPermissionString(r.flags)))}catch(u){throw u.code?new k.ErrnoError(T2[u.code]):u}},close:function(r){try{k.isFile(r.node.mode)&&r.nfd&&S8.closeSync(r.nfd)}catch(l){throw l.code?new k.ErrnoError(T2[l.code]):l}},read:function(r,l,u,f,Y){if(f===0)return 0;var e=new Buffer(f),X0;try{X0=S8.readSync(r.nfd,e,0,f,Y)}catch(x2){throw new k.ErrnoError(T2[x2.code])}if(X0>0)for(var r1=0;r18)throw new k.ErrnoError(T2.ELOOP);for(var Y=I9.normalizeArray(r.split("/").filter(function(k5){return!!k5}),!1),e=k.root,X0="/",r1=0;r140)throw new k.ErrnoError(T2.ELOOP)}}return{path:X0,node:e}},getPath:function(r){for(var l;;){if(k.isRoot(r)){var u=r.mount.mountpoint;return l?u[u.length-1]!=="/"?u+"/"+l:u+l:u}l=l?r.name+"/"+l:r.name,r=r.parent}},hashName:function(r,l){for(var u=0,f=0;f>>0)%k.nameTable.length},hashAddNode:function(r){var l=k.hashName(r.parent.id,r.name);r.name_next=k.nameTable[l],k.nameTable[l]=r},hashRemoveNode:function(r){var l=k.hashName(r.parent.id,r.name);if(k.nameTable[l]===r)k.nameTable[l]=r.name_next;else for(var u=k.nameTable[l];u;){if(u.name_next===r){u.name_next=r.name_next;break}u=u.name_next}},lookupNode:function(r,l){var u=k.mayLookup(r);if(u)throw new k.ErrnoError(u,r);for(var f=k.hashName(r.id,l),Y=k.nameTable[f];Y;Y=Y.name_next){var e=Y.name;if(Y.parent.id===r.id&&e===l)return Y}return k.lookup(r,l)},createNode:function(r,l,u,f){if(!k.FSNode){k.FSNode=function(r1,x2,s,l1){r1||(r1=this),this.parent=r1,this.mount=r1.mount,this.mounted=null,this.id=k.nextInode++,this.name=x2,this.mode=s,this.node_ops={},this.stream_ops={},this.rdev=l1},k.FSNode.prototype={};var Y=365,e=146;Object.defineProperties(k.FSNode.prototype,{read:{get:function(){return(this.mode&Y)===Y},set:function(r1){r1?this.mode|=Y:this.mode&=~Y}},write:{get:function(){return(this.mode&e)===e},set:function(r1){r1?this.mode|=e:this.mode&=~e}},isFolder:{get:function(){return k.isDir(this.mode)}},isDevice:{get:function(){return k.isChrdev(this.mode)}}})}var X0=new k.FSNode(r,l,u,f);return k.hashAddNode(X0),X0},destroyNode:function(r){k.hashRemoveNode(r)},isRoot:function(r){return r===r.parent},isMountpoint:function(r){return!!r.mounted},isFile:function(r){return(r&61440)===32768},isDir:function(r){return(r&61440)===16384},isLink:function(r){return(r&61440)===40960},isChrdev:function(r){return(r&61440)===8192},isBlkdev:function(r){return(r&61440)===24576},isFIFO:function(r){return(r&61440)===4096},isSocket:function(r){return(r&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(r){var l=k.flagModes[r];if(typeof l>"u")throw new Error("Unknown file open mode: "+r);return l},flagsToPermissionString:function(r){var l=r&2097155,u=["r","w","rw"][l];return r&512&&(u+="w"),u},nodePermissions:function(r,l){return k.ignorePermissions?0:l.indexOf("r")!==-1&&!(r.mode&292)||l.indexOf("w")!==-1&&!(r.mode&146)||l.indexOf("x")!==-1&&!(r.mode&73)?T2.EACCES:0},mayLookup:function(r){var l=k.nodePermissions(r,"x");return l||(r.node_ops.lookup?0:T2.EACCES)},mayCreate:function(r,l){try{var u=k.lookupNode(r,l);return T2.EEXIST}catch{}return k.nodePermissions(r,"wx")},mayDelete:function(r,l,u){var f;try{f=k.lookupNode(r,l)}catch(e){return e.errno}var Y=k.nodePermissions(r,"wx");if(Y)return Y;if(u){if(!k.isDir(f.mode))return T2.ENOTDIR;if(k.isRoot(f)||k.getPath(f)===k.cwd())return T2.EBUSY}else if(k.isDir(f.mode))return T2.EISDIR;return 0},mayOpen:function(r,l){return r?k.isLink(r.mode)?T2.ELOOP:k.isDir(r.mode)&&(l&2097155||l&512)?T2.EISDIR:k.nodePermissions(r,k.flagsToPermissionString(l)):T2.ENOENT},MAX_OPEN_FDS:4096,nextfd:function(r,l){r=r||0,l=l||k.MAX_OPEN_FDS;for(var u=r;u<=l;u++)if(!k.streams[u])return u;throw new k.ErrnoError(T2.EMFILE)},getStream:function(r){return k.streams[r]},createStream:function(r,l,u){k.FSStream||(k.FSStream=function(){},k.FSStream.prototype={},Object.defineProperties(k.FSStream.prototype,{object:{get:function(){return this.node},set:function(X0){this.node=X0}},isRead:{get:function(){return(this.flags&2097155)!==1}},isWrite:{get:function(){return(this.flags&2097155)!==0}},isAppend:{get:function(){return this.flags&1024}}}));var f=new k.FSStream;for(var Y in r)f[Y]=r[Y];r=f;var e=k.nextfd(l,u);return r.fd=e,k.streams[e]=r,r},closeStream:function(r){k.streams[r]=null},getStreamFromPtr:function(r){return k.streams[r-1]},getPtrForStream:function(r){return r?r.fd+1:0},chrdev_stream_ops:{open:function(r){var l=k.getDevice(r.node.rdev);r.stream_ops=l.stream_ops,r.stream_ops.open&&r.stream_ops.open(r)},llseek:function(){throw new k.ErrnoError(T2.ESPIPE)}},major:function(r){return r>>8},minor:function(r){return r&255},makedev:function(r,l){return r<<8|l},registerDevice:function(r,l){k.devices[r]={stream_ops:l}},getDevice:function(r){return k.devices[r]},getMounts:function(r){for(var l=[],u=[r];u.length;){var f=u.pop();l.push(f),u.push.apply(u,f.mounts)}return l},syncfs:function(r,l){typeof r=="function"&&(l=r,r=!1);var u=k.getMounts(k.root.mount),f=0;function Y(e){if(e)return Y.errored?void 0:(Y.errored=!0,l(e));++f>=u.length&&l(null)}u.forEach(function(e){if(!e.type.syncfs)return Y(null);e.type.syncfs(e,r,Y)})},mount:function(r,l,u){var f=u==="/",Y=!u,e;if(f&&k.root)throw new k.ErrnoError(T2.EBUSY);if(!f&&!Y){var X0=k.lookupPath(u,{follow_mount:!1});if(u=X0.path,e=X0.node,k.isMountpoint(e))throw new k.ErrnoError(T2.EBUSY);if(!k.isDir(e.mode))throw new k.ErrnoError(T2.ENOTDIR)}var r1={type:r,opts:l,mountpoint:u,mounts:[]},x2=r.mount(r1);return x2.mount=r1,r1.root=x2,f?k.root=x2:e&&(e.mounted=r1,e.mount&&e.mount.mounts.push(r1)),x2},unmount:function(r){var l=k.lookupPath(r,{follow_mount:!1});if(!k.isMountpoint(l.node))throw new k.ErrnoError(T2.EINVAL);var u=l.node,f=u.mounted,Y=k.getMounts(f);Object.keys(k.nameTable).forEach(function(X0){for(var r1=k.nameTable[X0];r1;){var x2=r1.name_next;Y.indexOf(r1.mount)!==-1&&k.destroyNode(r1),r1=x2}}),u.mounted=null;var e=u.mount.mounts.indexOf(f);e4(e!==-1),u.mount.mounts.splice(e,1)},lookup:function(r,l){return r.node_ops.lookup(r,l)},mknod:function(r,l,u){var f=k.lookupPath(r,{parent:!0}),Y=f.node,e=I9.basename(r);if(!e||e==="."||e==="..")throw new k.ErrnoError(T2.EINVAL);var X0=k.mayCreate(Y,e);if(X0)throw new k.ErrnoError(X0);if(!Y.node_ops.mknod)throw new k.ErrnoError(T2.EPERM);return Y.node_ops.mknod(Y,e,l,u)},create:function(r,l){return l=l!==void 0?l:438,l&=4095,l|=32768,k.mknod(r,l,0)},mkdir:function(r,l){return l=l!==void 0?l:511,l&=1023,l|=16384,k.mknod(r,l,0)},mkdev:function(r,l,u){return typeof u>"u"&&(u=l,l=438),l|=8192,k.mknod(r,l,u)},symlink:function(r,l){if(!I9.resolve(r))throw new k.ErrnoError(T2.ENOENT);var u=k.lookupPath(l,{parent:!0}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);var Y=I9.basename(l),e=k.mayCreate(f,Y);if(e)throw new k.ErrnoError(e);if(!f.node_ops.symlink)throw new k.ErrnoError(T2.EPERM);return f.node_ops.symlink(f,Y,r)},rename:function(r,l){var u=I9.dirname(r),f=I9.dirname(l),Y=I9.basename(r),e=I9.basename(l),X0,r1,x2;try{X0=k.lookupPath(r,{parent:!0}),r1=X0.node,X0=k.lookupPath(l,{parent:!0}),x2=X0.node}catch{throw new k.ErrnoError(T2.EBUSY)}if(!r1||!x2)throw new k.ErrnoError(T2.ENOENT);if(r1.mount!==x2.mount)throw new k.ErrnoError(T2.EXDEV);var s=k.lookupNode(r1,Y),l1=I9.relative(r,f);if(l1.charAt(0)!==".")throw new k.ErrnoError(T2.EINVAL);if(l1=I9.relative(l,u),l1.charAt(0)!==".")throw new k.ErrnoError(T2.ENOTEMPTY);var C;try{C=k.lookupNode(x2,e)}catch{}if(s!==C){var k5=k.isDir(s.mode),w2=k.mayDelete(r1,Y,k5);if(w2)throw new k.ErrnoError(w2);if(w2=C?k.mayDelete(x2,e,k5):k.mayCreate(x2,e),w2)throw new k.ErrnoError(w2);if(!r1.node_ops.rename)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(s)||C&&k.isMountpoint(C))throw new k.ErrnoError(T2.EBUSY);if(x2!==r1&&(w2=k.nodePermissions(r1,"w"),w2))throw new k.ErrnoError(w2);try{k.trackingDelegate.willMovePath&&k.trackingDelegate.willMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['willMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}k.hashRemoveNode(s);try{r1.node_ops.rename(s,x2,e)}catch(P5){throw P5}finally{k.hashAddNode(s)}try{k.trackingDelegate.onMovePath&&k.trackingDelegate.onMovePath(r,l)}catch(P5){console.log("FS.trackingDelegate['onMovePath']('"+r+"', '"+l+"') threw an exception: "+P5.message)}}},rmdir:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!0);if(e)throw new k.ErrnoError(e);if(!u.node_ops.rmdir)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.rmdir(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readdir:function(r){var l=k.lookupPath(r,{follow:!0}),u=l.node;if(!u.node_ops.readdir)throw new k.ErrnoError(T2.ENOTDIR);return u.node_ops.readdir(u)},unlink:function(r){var l=k.lookupPath(r,{parent:!0}),u=l.node,f=I9.basename(r),Y=k.lookupNode(u,f),e=k.mayDelete(u,f,!1);if(e)throw e===T2.EISDIR&&(e=T2.EPERM),new k.ErrnoError(e);if(!u.node_ops.unlink)throw new k.ErrnoError(T2.EPERM);if(k.isMountpoint(Y))throw new k.ErrnoError(T2.EBUSY);try{k.trackingDelegate.willDeletePath&&k.trackingDelegate.willDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['willDeletePath']('"+r+"') threw an exception: "+X0.message)}u.node_ops.unlink(u,f),k.destroyNode(Y);try{k.trackingDelegate.onDeletePath&&k.trackingDelegate.onDeletePath(r)}catch(X0){console.log("FS.trackingDelegate['onDeletePath']('"+r+"') threw an exception: "+X0.message)}},readlink:function(r){var l=k.lookupPath(r),u=l.node;if(!u)throw new k.ErrnoError(T2.ENOENT);if(!u.node_ops.readlink)throw new k.ErrnoError(T2.EINVAL);return I9.resolve(k.getPath(l.node.parent),u.node_ops.readlink(u))},stat:function(r,l){var u=k.lookupPath(r,{follow:!l}),f=u.node;if(!f)throw new k.ErrnoError(T2.ENOENT);if(!f.node_ops.getattr)throw new k.ErrnoError(T2.EPERM);return f.node_ops.getattr(f)},lstat:function(r){return k.stat(r,!0)},chmod:function(r,l,u){var f;if(typeof r=="string"){var Y=k.lookupPath(r,{follow:!u});f=Y.node}else f=r;if(!f.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);f.node_ops.setattr(f,{mode:l&4095|f.mode&-4096,timestamp:Date.now()})},lchmod:function(r,l){k.chmod(r,l,!0)},fchmod:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);k.chmod(u.node,l)},chown:function(r,l,u,f){var Y;if(typeof r=="string"){var e=k.lookupPath(r,{follow:!f});Y=e.node}else Y=r;if(!Y.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);Y.node_ops.setattr(Y,{timestamp:Date.now()})},lchown:function(r,l,u){k.chown(r,l,u,!0)},fchown:function(r,l,u){var f=k.getStream(r);if(!f)throw new k.ErrnoError(T2.EBADF);k.chown(f.node,l,u)},truncate:function(r,l){if(l<0)throw new k.ErrnoError(T2.EINVAL);var u;if(typeof r=="string"){var f=k.lookupPath(r,{follow:!0});u=f.node}else u=r;if(!u.node_ops.setattr)throw new k.ErrnoError(T2.EPERM);if(k.isDir(u.mode))throw new k.ErrnoError(T2.EISDIR);if(!k.isFile(u.mode))throw new k.ErrnoError(T2.EINVAL);var Y=k.nodePermissions(u,"w");if(Y)throw new k.ErrnoError(Y);u.node_ops.setattr(u,{size:l,timestamp:Date.now()})},ftruncate:function(r,l){var u=k.getStream(r);if(!u)throw new k.ErrnoError(T2.EBADF);if(!(u.flags&2097155))throw new k.ErrnoError(T2.EINVAL);k.truncate(u.node,l)},utime:function(r,l,u){var f=k.lookupPath(r,{follow:!0}),Y=f.node;Y.node_ops.setattr(Y,{timestamp:Math.max(l,u)})},open:function(r,l,u,f,Y){if(r==="")throw new k.ErrnoError(T2.ENOENT);l=typeof l=="string"?k.modeStringToFlags(l):l,u=typeof u>"u"?438:u,l&64?u=u&4095|32768:u=0;var e;if(typeof r=="object")e=r;else{r=I9.normalize(r);try{var X0=k.lookupPath(r,{follow:!(l&131072)});e=X0.node}catch{}}var r1=!1;if(l&64)if(e){if(l&128)throw new k.ErrnoError(T2.EEXIST)}else e=k.mknod(r,u,0),r1=!0;if(!e)throw new k.ErrnoError(T2.ENOENT);if(k.isChrdev(e.mode)&&(l&=-513),!r1){var x2=k.mayOpen(e,l);if(x2)throw new k.ErrnoError(x2)}l&512&&k.truncate(e,0),l&=-641;var s=k.createStream({node:e,path:k.getPath(e),flags:l,seekable:!0,position:0,stream_ops:e.stream_ops,ungotten:[],error:!1},f,Y);s.stream_ops.open&&s.stream_ops.open(s),n.logReadFiles&&!(l&1)&&(k.readFiles||(k.readFiles={}),r in k.readFiles||(k.readFiles[r]=1,n.printErr("read file: "+r)));try{if(k.trackingDelegate.onOpenFile){var l1=0;(l&2097155)!==1&&(l1|=k.tracking.openFlags.READ),l&2097155&&(l1|=k.tracking.openFlags.WRITE),k.trackingDelegate.onOpenFile(r,l1)}}catch(C){console.log("FS.trackingDelegate['onOpenFile']('"+r+"', flags) threw an exception: "+C.message)}return s},close:function(r){try{r.stream_ops.close&&r.stream_ops.close(r)}catch(l){throw l}finally{k.closeStream(r.fd)}},llseek:function(r,l,u){if(!r.seekable||!r.stream_ops.llseek)throw new k.ErrnoError(T2.ESPIPE);return r.position=r.stream_ops.llseek(r,l,u),r.ungotten=[],r.position},read:function(r,l,u,f,Y){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.read)throw new k.ErrnoError(T2.EINVAL);var e=!0;if(typeof Y>"u")Y=r.position,e=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var X0=r.stream_ops.read(r,l,u,f,Y);return e||(r.position+=X0),X0},write:function(r,l,u,f,Y,e){if(f<0||Y<0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(k.isDir(r.node.mode))throw new k.ErrnoError(T2.EISDIR);if(!r.stream_ops.write)throw new k.ErrnoError(T2.EINVAL);r.flags&1024&&k.llseek(r,0,2);var X0=!0;if(typeof Y>"u")Y=r.position,X0=!1;else if(!r.seekable)throw new k.ErrnoError(T2.ESPIPE);var r1=r.stream_ops.write(r,l,u,f,Y,e);X0||(r.position+=r1);try{r.path&&k.trackingDelegate.onWriteToFile&&k.trackingDelegate.onWriteToFile(r.path)}catch(x2){console.log("FS.trackingDelegate['onWriteToFile']('"+path+"') threw an exception: "+x2.message)}return r1},allocate:function(r,l,u){if(l<0||u<=0)throw new k.ErrnoError(T2.EINVAL);if(!(r.flags&2097155))throw new k.ErrnoError(T2.EBADF);if(!k.isFile(r.node.mode)&&!k.isDir(node.mode))throw new k.ErrnoError(T2.ENODEV);if(!r.stream_ops.allocate)throw new k.ErrnoError(T2.EOPNOTSUPP);r.stream_ops.allocate(r,l,u)},mmap:function(r,l,u,f,Y,e,X0){if((r.flags&2097155)===1)throw new k.ErrnoError(T2.EACCES);if(!r.stream_ops.mmap)throw new k.ErrnoError(T2.ENODEV);return r.stream_ops.mmap(r,l,u,f,Y,e,X0)},msync:function(r,l,u,f,Y){return!r||!r.stream_ops.msync?0:r.stream_ops.msync(r,l,u,f,Y)},munmap:function(r){return 0},ioctl:function(r,l,u){if(!r.stream_ops.ioctl)throw new k.ErrnoError(T2.ENOTTY);return r.stream_ops.ioctl(r,l,u)},readFile:function(r,l){if(l=l||{},l.flags=l.flags||"r",l.encoding=l.encoding||"binary",l.encoding!=="utf8"&&l.encoding!=="binary")throw new Error('Invalid encoding type "'+l.encoding+'"');var u,f=k.open(r,l.flags),Y=k.stat(r),e=Y.size,X0=new Uint8Array(e);return k.read(f,X0,0,e,0),l.encoding==="utf8"?u=Vo(X0,0):l.encoding==="binary"&&(u=X0),k.close(f),u},writeFile:function(r,l,u){if(u=u||{},u.flags=u.flags||"w",u.encoding=u.encoding||"utf8",u.encoding!=="utf8"&&u.encoding!=="binary")throw new Error('Invalid encoding type "'+u.encoding+'"');var f=k.open(r,u.flags,u.mode);if(u.encoding==="utf8"){var Y=new Uint8Array(Jo(l)+1),e=Gn(l,Y,0,Y.length);k.write(f,Y,0,e,0,u.canOwn)}else u.encoding==="binary"&&k.write(f,l,0,l.length,0,u.canOwn);k.close(f)},cwd:function(){return k.currentPath},chdir:function(r){var l=k.lookupPath(r,{follow:!0});if(!k.isDir(l.node.mode))throw new k.ErrnoError(T2.ENOTDIR);var u=k.nodePermissions(l.node,"x");if(u)throw new k.ErrnoError(u);k.currentPath=l.path},createDefaultDirectories:function(){k.mkdir("/tmp"),k.mkdir("/home"),k.mkdir("/home/web_user")},createDefaultDevices:function(){k.mkdir("/dev"),k.registerDevice(k.makedev(1,3),{read:function(){return 0},write:function(u,f,Y,e,X0){return e}}),k.mkdev("/dev/null",k.makedev(1,3)),On.register(k.makedev(5,0),On.default_tty_ops),On.register(k.makedev(6,0),On.default_tty1_ops),k.mkdev("/dev/tty",k.makedev(5,0)),k.mkdev("/dev/tty1",k.makedev(6,0));var r;if(typeof crypto<"u"){var l=new Uint8Array(1);r=function(){return crypto.getRandomValues(l),l[0]}}else h?r=void 0:r=function(){return Math.random()*256|0};k.createDevice("/dev","random",r),k.createDevice("/dev","urandom",r),k.mkdir("/dev/shm"),k.mkdir("/dev/shm/tmp")},createStandardStreams:function(){n.stdin?k.createDevice("/dev","stdin",n.stdin):k.symlink("/dev/tty","/dev/stdin"),n.stdout?k.createDevice("/dev","stdout",null,n.stdout):k.symlink("/dev/tty","/dev/stdout"),n.stderr?k.createDevice("/dev","stderr",null,n.stderr):k.symlink("/dev/tty1","/dev/stderr");var r=k.open("/dev/stdin","r");N9[Sk>>2]=k.getPtrForStream(r),e4(r.fd===0,"invalid handle for stdin ("+r.fd+")");var l=k.open("/dev/stdout","w");N9[bk>>2]=k.getPtrForStream(l),e4(l.fd===1,"invalid handle for stdout ("+l.fd+")");var u=k.open("/dev/stderr","w");N9[Dk>>2]=k.getPtrForStream(u),e4(u.fd===2,"invalid handle for stderr ("+u.fd+")")},ensureErrnoError:function(){k.ErrnoError||(k.ErrnoError=function(l,u){this.node=u,this.setErrno=function(f){this.errno=f;for(var Y in T2)if(T2[Y]===f){this.code=Y;break}},this.setErrno(l),this.message=kk[l]},k.ErrnoError.prototype=new Error,k.ErrnoError.prototype.constructor=k.ErrnoError,[T2.ENOENT].forEach(function(r){k.genericErrors[r]=new k.ErrnoError(r),k.genericErrors[r].stack=""}))},staticInit:function(){k.ensureErrnoError(),k.nameTable=new Array(4096),k.mount(L9,{},"/"),k.createDefaultDirectories(),k.createDefaultDevices()},init:function(r,l,u){e4(!k.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)"),k.init.initialized=!0,k.ensureErrnoError(),n.stdin=r||n.stdin,n.stdout=l||n.stdout,n.stderr=u||n.stderr,k.createStandardStreams()},quit:function(){k.init.initialized=!1;for(var r=0;rthis.length-1||k5<0)){var w2=k5%this.chunkSize,P5=k5/this.chunkSize|0;return this.getter(P5)[w2]}},e.prototype.setDataGetter=function(k5){this.getter=k5},e.prototype.cacheLength=function(){var k5=new XMLHttpRequest;if(k5.open("HEAD",u,!1),k5.send(null),!(k5.status>=200&&k5.status<300||k5.status===304))throw new Error("Couldn't load "+u+". Status: "+k5.status);var w2=Number(k5.getResponseHeader("Content-length")),P5,G9=(P5=k5.getResponseHeader("Accept-Ranges"))&&P5==="bytes",K9=1024*1024;G9||(K9=w2);var Qe=function(te,It){if(te>It)throw new Error("invalid range ("+te+", "+It+") or no bytes requested!");if(It>w2-1)throw new Error("only "+w2+" bytes available! programmer error!");var t4=new XMLHttpRequest;if(t4.open("GET",u,!1),w2!==K9&&t4.setRequestHeader("Range","bytes="+te+"-"+It),typeof Uint8Array<"u"&&(t4.responseType="arraybuffer"),t4.overrideMimeType&&t4.overrideMimeType("text/plain; charset=x-user-defined"),t4.send(null),!(t4.status>=200&&t4.status<300||t4.status===304))throw new Error("Couldn't load "+u+". Status: "+t4.status);return t4.response!==void 0?new Uint8Array(t4.response||[]):en(t4.responseText||"",!0)},Dt=this;Dt.setDataGetter(function(te){var It=te*K9,t4=(te+1)*K9-1;if(t4=Math.min(t4,w2-1),typeof Dt.chunks[te]>"u"&&(Dt.chunks[te]=Qe(It,t4)),typeof Dt.chunks[te]>"u")throw new Error("doXHR failed!");return Dt.chunks[te]}),this._length=w2,this._chunkSize=K9,this.lengthKnown=!0},typeof XMLHttpRequest<"u"){if(!p)throw"Cannot do synchronous binary XHRs outside webworkers in modern browsers. Use --embed-file or --preload-file in emcc";var X0=new e;Object.defineProperty(X0,"length",{get:function(){return this.lengthKnown||this.cacheLength(),this._length}}),Object.defineProperty(X0,"chunkSize",{get:function(){return this.lengthKnown||this.cacheLength(),this._chunkSize}});var r1={isDevice:!1,contents:X0}}else var r1={isDevice:!1,url:u};var x2=k.createFile(r,l,r1,f,Y);r1.contents?x2.contents=r1.contents:r1.url&&(x2.contents=null,x2.url=r1.url),Object.defineProperty(x2,"usedBytes",{get:function(){return this.contents.length}});var s={},l1=Object.keys(x2.stream_ops);return l1.forEach(function(C){var k5=x2.stream_ops[C];s[C]=function(){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);return k5.apply(null,arguments)}}),s.read=function(k5,w2,P5,G9,K9){if(!k.forceLoadFile(x2))throw new k.ErrnoError(T2.EIO);var Qe=k5.node.contents;if(K9>=Qe.length)return 0;var Dt=Math.min(Qe.length-K9,G9);if(e4(Dt>=0),Qe.slice)for(var te=0;te=0;f--){var Y=r[f];Y==="."?r.splice(f,1):Y===".."?(r.splice(f,1),u++):u&&(r.splice(f,1),u--)}if(l)for(;u--;u)r.unshift("..");return r},normalize:function(r){var l=r.charAt(0)==="/",u=r.substr(-1)==="/";return r=I9.normalizeArray(r.split("/").filter(function(f){return!!f}),!l).join("/"),!r&&!l&&(r="."),r&&u&&(r+="/"),(l?"/":"")+r},dirname:function(r){var l=I9.splitPath(r),u=l[0],f=l[1];return!u&&!f?".":(f&&(f=f.substr(0,f.length-1)),u+f)},basename:function(r){if(r==="/")return"/";var l=r.lastIndexOf("/");return l===-1?r:r.substr(l+1)},extname:function(r){return I9.splitPath(r)[3]},join:function(){var r=Array.prototype.slice.call(arguments,0);return I9.normalize(r.join("/"))},join2:function(r,l){return I9.normalize(r+"/"+l)},resolve:function(){for(var r="",l=!1,u=arguments.length-1;u>=-1&&!l;u--){var f=u>=0?arguments[u]:k.cwd();if(typeof f!="string")throw new TypeError("Arguments to path.resolve must be strings");if(!f)return"";r=f+"/"+r,l=f.charAt(0)==="/"}return r=I9.normalizeArray(r.split("/").filter(function(Y){return!!Y}),!l).join("/"),(l?"/":"")+r||"."},relative:function(r,l){r=I9.resolve(r).substr(1),l=I9.resolve(l).substr(1);function u(s){for(var l1=0;l1=0&&s[C]==="";C--);return l1>C?[]:s.slice(l1,C-l1+1)}for(var f=u(r.split("/")),Y=u(l.split("/")),e=Math.min(f.length,Y.length),X0=e,r1=0;r10){var r1=Date.now(),x2=J1.mainLoop.queue.shift();if(x2.func(x2.arg),J1.mainLoop.remainingBlockers){var s=J1.mainLoop.remainingBlockers,l1=s%1==0?s-1:Math.floor(s);x2.counted?J1.mainLoop.remainingBlockers=l1:(l1=l1+.5,J1.mainLoop.remainingBlockers=(8*s+l1)/9)}console.log('main loop blocker "'+x2.name+'" took '+(Date.now()-r1)+" ms"),J1.mainLoop.updateStatus(),setTimeout(J1.mainLoop.runner,0);return}if(!(e1&&J1.mainLoop.currentFrameNumber%J1.mainLoop.timingValue!=0){J1.mainLoop.scheduler();return}J1.mainLoop.method==="timeout"&&n.ctx&&(n.printErr("Looks like you are rendering without using requestAnimationFrame for the main loop. You should use 0 for the frame rate in emscripten_set_main_loop in order to use requestAnimationFrame, as that can greatly improve your frame rates!"),J1.mainLoop.method=""),J1.mainLoop.runIter(function(){typeof f<"u"?_.dynCall("vi",r,[f]):_.dynCall("v",r)}),!(e0?Kp(0,1e3/l):Kp(1,1),J1.mainLoop.scheduler()),u)throw"SimulateInfiniteLoop"}var J1={mainLoop:{scheduler:null,method:"",currentlyRunningMainloop:0,func:null,arg:0,timingMode:0,timingValue:0,currentFrameNumber:0,queue:[],pause:function(){J1.mainLoop.scheduler=null,J1.mainLoop.currentlyRunningMainloop++},resume:function(){J1.mainLoop.currentlyRunningMainloop++;var r=J1.mainLoop.timingMode,l=J1.mainLoop.timingValue,u=J1.mainLoop.func;J1.mainLoop.func=null,wB(u,0,!1,J1.mainLoop.arg,!0),Kp(r,l),J1.mainLoop.scheduler()},updateStatus:function(){if(n.setStatus){var r=n.statusMessage||"Please wait...",l=J1.mainLoop.remainingBlockers,u=J1.mainLoop.expectedBlockers;l?l"u"&&(console.log("warning: Browser does not support creating object URLs. Built-in browser image decoding will not be available."),n.noImageDecoding=!0);var r={};r.canHandle=function(e){return!n.noImageDecoding&&/\.(jpg|jpeg|png|bmp)$/i.test(e)},r.handle=function(e,X0,r1,x2){var s=null;if(J1.hasBlobConstructor)try{s=new Blob([e],{type:J1.getMimetype(X0)}),s.size!==e.length&&(s=new Blob([new Uint8Array(e).buffer],{type:J1.getMimetype(X0)}))}catch(w2){_.warnOnce("Blob constructor present but fails: "+w2+"; falling back to blob builder")}if(!s){var l1=new J1.BlobBuilder;l1.append(new Uint8Array(e).buffer),s=l1.getBlob()}var C=J1.URLObject.createObjectURL(s),k5=new Image;k5.onload=function(){e4(k5.complete,"Image "+X0+" could not be decoded");var P5=document.createElement("canvas");P5.width=k5.width,P5.height=k5.height;var G9=P5.getContext("2d");G9.drawImage(k5,0,0),n.preloadedImages[X0]=P5,J1.URLObject.revokeObjectURL(C),r1&&r1(e)},k5.onerror=function(P5){console.log("Image "+C+" could not be decoded"),x2&&x2()},k5.src=C},n.preloadPlugins.push(r);var l={};l.canHandle=function(e){return!n.noAudioDecoding&&e.substr(-4)in{".ogg":1,".wav":1,".mp3":1}},l.handle=function(e,X0,r1,x2){var s=!1;function l1(G9){s||(s=!0,n.preloadedAudios[X0]=G9,r1&&r1(e))}function C(){s||(s=!0,n.preloadedAudios[X0]=new Audio,x2&&x2())}if(J1.hasBlobConstructor){try{var k5=new Blob([e],{type:J1.getMimetype(X0)})}catch{return C()}var w2=J1.URLObject.createObjectURL(k5),P5=new Audio;P5.addEventListener("canplaythrough",function(){l1(P5)},!1),P5.onerror=function(K9){if(s)return;console.log("warning: browser could not fully decode audio "+X0+", trying slower base64 approach");function Qe(Dt){for(var te="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/",It="=",t4="",H7=0,Y7=0,Qr=0;Qr=6;){var j$=H7>>Y7-6&63;Y7-=6,t4+=te[j$]}return Y7==2?(t4+=te[(H7&3)<<4],t4+=It+It):Y7==4&&(t4+=te[(H7&15)<<2],t4+=It),t4}P5.src="data:audio/x-"+X0.substr(-3)+";base64,"+Qe(e),l1(P5)},P5.src=w2,J1.safeSetTimeout(function(){l1(P5)},1e4)}else return C()},n.preloadPlugins.push(l);var u=n.canvas;function f(){J1.pointerLock=document.pointerLockElement===u||document.mozPointerLockElement===u||document.webkitPointerLockElement===u||document.msPointerLockElement===u}u&&(u.requestPointerLock=u.requestPointerLock||u.mozRequestPointerLock||u.webkitRequestPointerLock||u.msRequestPointerLock||function(){},u.exitPointerLock=document.exitPointerLock||document.mozExitPointerLock||document.webkitExitPointerLock||document.msExitPointerLock||function(){},u.exitPointerLock=u.exitPointerLock.bind(document),document.addEventListener("pointerlockchange",f,!1),document.addEventListener("mozpointerlockchange",f,!1),document.addEventListener("webkitpointerlockchange",f,!1),document.addEventListener("mspointerlockchange",f,!1),n.elementPointerLock&&u.addEventListener("click",function(Y){!J1.pointerLock&&u.requestPointerLock&&(u.requestPointerLock(),Y.preventDefault())},!1))},createContext:function(r,l,u,f){if(l&&n.ctx&&r==n.canvas)return n.ctx;var Y,e;if(l){var X0={antialias:!1,alpha:!1};if(f)for(var r1 in f)X0[r1]=f[r1];e=GL.createContext(r,X0),e&&(Y=GL.getContext(e).GLctx),r.style.backgroundColor="black"}else Y=r.getContext("2d");return Y?(u&&(l||e4(typeof GLctx>"u","cannot set in module if GLctx is used, but we are a non-GL context that would replace it"),n.ctx=Y,l&&GL.makeContextCurrent(e),n.useWebGL=l,J1.moduleContextCreatedCallbacks.forEach(function(x2){x2()}),J1.init()),Y):null},destroyContext:function(r,l,u){},fullScreenHandlersInstalled:!1,lockPointer:void 0,resizeCanvas:void 0,requestFullScreen:function(r,l,u){J1.lockPointer=r,J1.resizeCanvas=l,J1.vrDevice=u,typeof J1.lockPointer>"u"&&(J1.lockPointer=!0),typeof J1.resizeCanvas>"u"&&(J1.resizeCanvas=!1),typeof J1.vrDevice>"u"&&(J1.vrDevice=null);var f=n.canvas;function Y(){J1.isFullScreen=!1;var X0=f.parentNode;(document.webkitFullScreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.mozFullscreenElement||document.fullScreenElement||document.fullscreenElement||document.msFullScreenElement||document.msFullscreenElement||document.webkitCurrentFullScreenElement)===X0?(f.cancelFullScreen=document.cancelFullScreen||document.mozCancelFullScreen||document.webkitCancelFullScreen||document.msExitFullscreen||document.exitFullscreen||function(){},f.cancelFullScreen=f.cancelFullScreen.bind(document),J1.lockPointer&&f.requestPointerLock(),J1.isFullScreen=!0,J1.resizeCanvas&&J1.setFullScreenCanvasSize()):(X0.parentNode.insertBefore(f,X0),X0.parentNode.removeChild(X0),J1.resizeCanvas&&J1.setWindowedCanvasSize()),n.onFullScreen&&n.onFullScreen(J1.isFullScreen),J1.updateCanvasDimensions(f)}J1.fullScreenHandlersInstalled||(J1.fullScreenHandlersInstalled=!0,document.addEventListener("fullscreenchange",Y,!1),document.addEventListener("mozfullscreenchange",Y,!1),document.addEventListener("webkitfullscreenchange",Y,!1),document.addEventListener("MSFullscreenChange",Y,!1));var e=document.createElement("div");f.parentNode.insertBefore(e,f),e.appendChild(f),e.requestFullScreen=e.requestFullScreen||e.mozRequestFullScreen||e.msRequestFullscreen||(e.webkitRequestFullScreen?function(){e.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT)}:null),u?e.requestFullScreen({vrDisplay:u}):e.requestFullScreen()},nextRAF:0,fakeRequestAnimationFrame:function(r){var l=Date.now();if(J1.nextRAF===0)J1.nextRAF=l+1e3/60;else for(;l+2>=J1.nextRAF;)J1.nextRAF+=1e3/60;var u=Math.max(J1.nextRAF-l,0);setTimeout(r,u)},requestAnimationFrame:function(l){typeof window>"u"?J1.fakeRequestAnimationFrame(l):(window.requestAnimationFrame||(window.requestAnimationFrame=window.requestAnimationFrame||window.mozRequestAnimationFrame||window.webkitRequestAnimationFrame||window.msRequestAnimationFrame||window.oRequestAnimationFrame||J1.fakeRequestAnimationFrame),window.requestAnimationFrame(l))},safeCallback:function(r){return function(){if(!t0)return r.apply(null,arguments)}},allowAsyncCallbacks:!0,queuedAsyncCallbacks:[],pauseAsyncCallbacks:function(){J1.allowAsyncCallbacks=!1},resumeAsyncCallbacks:function(){if(J1.allowAsyncCallbacks=!0,J1.queuedAsyncCallbacks.length>0){var r=J1.queuedAsyncCallbacks;J1.queuedAsyncCallbacks=[],r.forEach(function(l){l()})}},safeRequestAnimationFrame:function(r){return J1.requestAnimationFrame(function(){t0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))})},safeSetTimeout:function(r,l){return n.noExitRuntime=!0,setTimeout(function(){t0||(J1.allowAsyncCallbacks?r():J1.queuedAsyncCallbacks.push(r))},l)},safeSetInterval:function(r,l){return n.noExitRuntime=!0,setInterval(function(){t0||J1.allowAsyncCallbacks&&r()},l)},getMimetype:function(r){return{jpg:"image/jpeg",jpeg:"image/jpeg",png:"image/png",bmp:"image/bmp",ogg:"audio/ogg",wav:"audio/wav",mp3:"audio/mpeg"}[r.substr(r.lastIndexOf(".")+1)]},getUserMedia:function(r){window.getUserMedia||(window.getUserMedia=navigator.getUserMedia||navigator.mozGetUserMedia),window.getUserMedia(r)},getMovementX:function(r){return r.movementX||r.mozMovementX||r.webkitMovementX||0},getMovementY:function(r){return r.movementY||r.mozMovementY||r.webkitMovementY||0},getMouseWheelDelta:function(r){var l=0;switch(r.type){case"DOMMouseScroll":l=r.detail;break;case"mousewheel":l=r.wheelDelta;break;case"wheel":l=r.deltaY;break;default:throw"unrecognized mouse wheel event: "+r.type}return l},mouseX:0,mouseY:0,mouseMovementX:0,mouseMovementY:0,touches:{},lastTouches:{},calculateMouseEvent:function(r){if(J1.pointerLock)r.type!="mousemove"&&"mozMovementX"in r?J1.mouseMovementX=J1.mouseMovementY=0:(J1.mouseMovementX=J1.getMovementX(r),J1.mouseMovementY=J1.getMovementY(r)),typeof SDL<"u"?(J1.mouseX=SDL.mouseX+J1.mouseMovementX,J1.mouseY=SDL.mouseY+J1.mouseMovementY):(J1.mouseX+=J1.mouseMovementX,J1.mouseY+=J1.mouseMovementY);else{var l=n.canvas.getBoundingClientRect(),u=n.canvas.width,f=n.canvas.height,Y=typeof window.scrollX<"u"?window.scrollX:window.pageXOffset,e=typeof window.scrollY<"u"?window.scrollY:window.pageYOffset;if(r.type==="touchstart"||r.type==="touchend"||r.type==="touchmove"){var X0=r.touch;if(X0===void 0)return;var r1=X0.pageX-(Y+l.left),x2=X0.pageY-(e+l.top);r1=r1*(u/l.width),x2=x2*(f/l.height);var s={x:r1,y:x2};if(r.type==="touchstart")J1.lastTouches[X0.identifier]=s,J1.touches[X0.identifier]=s;else if(r.type==="touchend"||r.type==="touchmove"){var l1=J1.touches[X0.identifier];l1||(l1=s),J1.lastTouches[X0.identifier]=l1,J1.touches[X0.identifier]=s}return}var C=r.pageX-(Y+l.left),k5=r.pageY-(e+l.top);C=C*(u/l.width),k5=k5*(f/l.height),J1.mouseMovementX=C-J1.mouseX,J1.mouseMovementY=k5-J1.mouseY,J1.mouseX=C,J1.mouseY=k5}},xhrLoad:function(r,l,u){var f=new XMLHttpRequest;f.open("GET",r,!0),f.responseType="arraybuffer",f.onload=function(){f.status==200||f.status==0&&f.response?l(f.response):u()},f.onerror=u,f.send(null)},asyncLoad:function(r,l,u,f){J1.xhrLoad(r,function(Y){e4(Y,'Loading data file "'+r+'" failed (no arrayBuffer).'),l(new Uint8Array(Y)),f||Cr("al "+r)},function(Y){if(u)u();else throw'Loading data file "'+r+'" failed.'}),f||Pn("al "+r)},resizeListeners:[],updateResizeListeners:function(){var r=n.canvas;J1.resizeListeners.forEach(function(l){l(r.width,r.height)})},setCanvasSize:function(r,l,u){var f=n.canvas;J1.updateCanvasDimensions(f,r,l),u||J1.updateResizeListeners()},windowedWidth:0,windowedHeight:0,setFullScreenCanvasSize:function(){if(typeof SDL<"u"){var r=K$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r|8388608,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},setWindowedCanvasSize:function(){if(typeof SDL<"u"){var r=K$[SDL.screen+_.QUANTUM_SIZE*0>>2];r=r&-8388609,N9[SDL.screen+_.QUANTUM_SIZE*0>>2]=r}J1.updateResizeListeners()},updateCanvasDimensions:function(r,l,u){l&&u?(r.widthNative=l,r.heightNative=u):(l=r.widthNative,u=r.heightNative);var f=l,Y=u;if(n.forcedAspectRatio&&n.forcedAspectRatio>0&&(f/Y>2]=l),l}function Yk(){n.printErr("missing function: floor0_exportbundle"),es(-1)}if(jo=_.staticAlloc(4),N9[jo>>2]=0,n.requestFullScreen=function(l,u,f){J1.requestFullScreen(l,u,f)},n.requestAnimationFrame=function(l){J1.requestAnimationFrame(l)},n.setCanvasSize=function(l,u,f){J1.setCanvasSize(l,u,f)},n.pauseMainLoop=function(){J1.mainLoop.pause()},n.resumeMainLoop=function(){J1.mainLoop.resume()},n.getUserMedia=function(){J1.getUserMedia()},n.createContext=function(l,u,f,Y){return J1.createContext(l,u,f,Y)},k.staticInit(),q$.unshift(function(){!n.noFSInit&&!k.init.initialized&&k.init()}),ku.push(function(){k.ignorePermissions=!1}),H$.push(function(){k.quit()}),n.FS_createFolder=k.createFolder,n.FS_createPath=k.createPath,n.FS_createDataFile=k.createDataFile,n.FS_createPreloadedFile=k.createPreloadedFile,n.FS_createLazyFile=k.createLazyFile,n.FS_createLink=k.createLink,n.FS_createDevice=k.createDevice,q$.unshift(function(){On.init()}),H$.push(function(){On.shutdown()}),h)var S8=void 0,kB=void 0;vu=v7=_.alignMemory(jr),G$=!0,U$=vu+Hp,P$=G7=_.alignMemory(U$),e4(P$>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0]}function __(t){t=t|0,f[w2>>0]=f[t>>0],f[w2+1>>0]=f[t+1>>0],f[w2+2>>0]=f[t+2>>0],f[w2+3>>0]=f[t+3>>0],f[w2+4>>0]=f[t+4>>0],f[w2+5>>0]=f[t+5>>0],f[w2+6>>0]=f[t+6>>0],f[w2+7>>0]=f[t+7>>0]}function wS(t){t=t|0,j6=t}function vS(){return j6|0}function uC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0;m=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,o=M9(256)|0,a=t+8|0,e[a>>2]=o,$=t+12|0,e[$>>2]=o,f[o>>0]=0,g=t+16|0,e[g>>2]=256}function kS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;L=C,a=o>>3,$=t+12|0,B=e[$>>2]|0,S=(B|0)==0,!S&&(b=a<<3,v=o-b|0,w=t+8|0,D=e[w>>2]|0,y=D+a|0,e[$>>2]=y,x=t+4|0,e[x>>2]=v,e[t>>2]=a,g=8+(v<<2)|0,d=e[g>>2]|0,m=f[y>>0]|0,I=m&255,E=I&d,Q=E&255,f[y>>0]=Q)}function O2(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;H0=C,d=a>>>0>32;do if(!d){if(m=e[t>>2]|0,x=t+16|0,a0=e[x>>2]|0,c0=a0+-4|0,S0=(m|0)<(c0|0),$=t+12|0,g=e[$>>2]|0,S0)N=g;else{if(T0=(g|0)==0,T0)return;if(J0=(a0|0)>2147483391,J0||(q0=t+8|0,Z0=e[q0>>2]|0,I=a0+256|0,E=J7(Z0,I)|0,Q=(E|0)==0,Q))break;e[q0>>2]=E,B=e[x>>2]|0,S=B+256|0,e[x>>2]=S,b=e[t>>2]|0,v=E+b|0,e[$>>2]=v,N=v}w=8+(a<<2)|0,D=e[w>>2]|0,y=D&o,M=t+4|0,L=e[M>>2]|0,R=L+a|0,F=y<>0]|0,G=T&255,V=G|F,e0=V&255,f[N>>0]=e0,K=(R|0)>7;do if(K&&(W=e[M>>2]|0,r0=8-W|0,s0=y>>>r0,J=s0&255,o0=e[$>>2]|0,H=o0+1|0,f[H>>0]=J,h0=(R|0)>15,h0&&(i0=e[M>>2]|0,j=16-i0|0,u0=y>>>j,$0=u0&255,l0=e[$>>2]|0,Z=l0+2|0,f[Z>>0]=$0,I0=(R|0)>23,I0&&(g0=e[M>>2]|0,f0=24-g0|0,n0=y>>>f0,d0=n0&255,p0=e[$>>2]|0,C0=p0+3|0,f[C0>>0]=d0,Q0=(R|0)>31,Q0))))if(b0=e[M>>2]|0,E0=(b0|0)==0,E0){M0=e[$>>2]|0,v0=M0+4|0,f[v0>>0]=0;break}else{y0=32-b0|0,w0=y>>>y0,B0=w0&255,_0=e[$>>2]|0,K0=_0+4|0,f[K0>>0]=B0;break}while(!1);N0=(R|0)/8&-1,U0=e[t>>2]|0,O0=U0+N0|0,e[t>>2]=O0,k0=e[$>>2]|0,V0=k0+N0|0,e[$>>2]=V0,F0=R&7,e[M>>2]=F0;return}while(!1);L0=t+8|0,G0=e[L0>>2]|0,z0=(G0|0)==0,z0||E2(G0),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function hC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;d=C,o=t+8|0,a=e[o>>2]|0,$=(a|0)==0,$||E2(a),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0}function Ii(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=t+12|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+8|0,d=e[g>>2]|0,e[o>>2]=d,m=d,f[m>>0]=0,e[t>>2]=0,I=t+4|0,e[I>>2]=0)}function dC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,$=o>>>0>32,$)return a=-1,a|0;if(g=8+(o<<2)|0,D=e[g>>2]|0,e0=t+4|0,j=e[e0>>2]|0,p0=j+o|0,S0=e[t>>2]|0,Q0=t+16|0,b0=e[Q0>>2]|0,E0=b0+-4|0,d=(S0|0)<(E0|0),!d){if(m=p0+7|0,I=m>>3,E=b0-I|0,Q=(S0|0)>(E|0),Q)return a=-1,a|0;if(B=(p0|0)==0,B)return a=0,a|0}return S=t+12|0,b=e[S>>2]|0,v=f[b>>0]|0,w=v&255,y=w>>>j,x=(p0|0)>8,x?(M=b+1|0,L=f[M>>0]|0,R=L&255,F=8-j|0,T=R<16,G?(V=b+2|0,K=f[V>>0]|0,a0=K&255,W=16-j|0,r0=a0<24,J?(o0=b+3|0,H=f[o0>>0]|0,h0=H&255,i0=24-j|0,u0=h0<>0]|0,g0=I0&255,f0=32-j|0,n0=g0<>2]|0,S=$+o|0,b=e[t>>2]|0,v=t+16|0,w=e[v>>2]|0,D=S+7|0,y=D>>3,x=w-y|0,M=(b|0)>(x|0),M){B=t+12|0,e[B>>2]=0,e[t>>2]=w,L=1,e[a>>2]=L;return}else{g=(S|0)/8&-1,d=t+12|0,m=e[d>>2]|0,I=m+g|0,e[d>>2]=I,E=b+g|0,e[t>>2]=E,Q=S&7,L=Q,e[a>>2]=L;return}}function r4(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;L0=C,E=o>>>0>32;do if(E)$=t+16|0,g=e[$>>2]|0,I=t+4|0,d=t,m=I,v0=g;else{if(Q=8+(o<<2)|0,R=e[Q>>2]|0,s0=t+4|0,Z=e[s0>>2]|0,E0=Z+o|0,T0=e[t>>2]|0,N0=t+16|0,U0=e[N0>>2]|0,O0=U0+-4|0,B=(T0|0)<(O0|0),!B){if(S=E0+7|0,b=S>>3,v=U0-b|0,w=(T0|0)>(v|0),w){d=t,m=s0,v0=U0;break}if(D=(E0|0)==0,D)return a=0,a|0}return y=t+12|0,x=e[y>>2]|0,M=f[x>>0]|0,L=M&255,F=L>>>Z,T=(E0|0)>8,T?(N=x+1|0,G=f[N>>0]|0,V=G&255,e0=8-Z|0,K=V<16,W?(r0=x+2|0,J=f[r0>>0]|0,o0=J&255,H=16-Z|0,h0=o0<24,j?(u0=x+3|0,c0=f[u0>>0]|0,$0=c0&255,l0=24-Z|0,I0=$0<>0]|0,C0=p0&255,S0=32-Z|0,Q0=C0<>2]=B0,_0=T0+w0|0,e[t>>2]=_0,K0=E0&7,e[s0>>2]=K0,a=y0,a|0}while(!1);return M0=t+12|0,e[M0>>2]=0,e[d>>2]=v0,e[m>>2]=1,a=-1,a|0}function b8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,o=e[t>>2]|0,a=t+4|0,$=e[a>>2]|0,g=$+7|0,d=(g|0)/8&-1,m=d+o|0,m|0}function tQ(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+8|0,a=e[o>>2]|0,a|0}function SS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;if(T=C,g=(t|0)==0,g)return a=-1,a|0;g4(t|0,0,360)|0,d=t+4|0,e[d>>2]=16384,b=t+24|0,e[b>>2]=1024,v=M9(16384)|0,e[t>>2]=v,w=M9(4096)|0,D=t+16|0,e[D>>2]=w,y=M9(8192)|0,x=t+20|0,e[x>>2]=y,M=(v|0)==0;do if(M)I=w;else{if(L=(w|0)==0,m=(y|0)==0,R=m|L,R){E2(v),$=e[D>>2]|0,I=$;break}return S=t+336|0,e[S>>2]=o,a=0,a|0}while(!1);return E=(I|0)==0,E||E2(I),Q=e[x>>2]|0,B=(Q|0)==0,B||E2(Q),g4(t|0,0,360)|0,a=-1,a|0}function bS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;return S=C,o=(t|0)==0,o||(a=e[t>>2]|0,$=(a|0)==0,$||E2(a),g=t+16|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+20|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),g4(t|0,0,360)|0),0}function DS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0;if(U0=C,o=(t|0)==0,!o){if(a=e[t>>2]|0,v=a+22|0,f[v>>0]=0,G=e[t>>2]|0,h0=G+23|0,f[h0>>0]=0,n0=e[t>>2]|0,b0=n0+24|0,f[b0>>0]=0,E0=e[t>>2]|0,y0=E0+25|0,f[y0>>0]=0,w0=t+4|0,$=e[w0>>2]|0,g=($|0)>0,g)for(d=e[t>>2]|0,_0=0,v0=0;;)if(S=_0<<8,b=_0>>>24,w=d+v0|0,D=f[w>>0]|0,y=D&255,x=y^b,M=144+(x<<2)|0,L=e[M>>2]|0,R=L^S,F=v0+1|0,T=(F|0)<($|0),T)_0=R,v0=F;else{B0=R;break}else B0=0;if(m=t+12|0,I=e[m>>2]|0,E=(I|0)>0,E)for(Q=t+8|0,B=e[Q>>2]|0,M0=B0,T0=0;;)if(N=M0<<8,V=M0>>>24,e0=B+T0|0,K=f[e0>>0]|0,a0=K&255,W=a0^V,r0=144+(W<<2)|0,s0=e[r0>>2]|0,J=s0^N,o0=T0+1|0,H=(o0|0)<(I|0),H)M0=J,T0=o0;else{K0=J;break}else K0=B0;i0=K0&255,j=e[t>>2]|0,u0=j+22|0,f[u0>>0]=i0,c0=K0>>>8,$0=c0&255,l0=e[t>>2]|0,Z=l0+23|0,f[Z>>0]=$0,I0=K0>>>16,g0=I0&255,f0=e[t>>2]|0,d0=f0+24|0,f[d0>>0]=g0,p0=K0>>>24,C0=p0&255,S0=e[t>>2]|0,Q0=S0+25|0,f[Q0>>0]=C0}}function _S(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0;if(p2=C,n0=(t|0)==0,n0||(_0=e[t>>2]|0,L0=(_0|0)==0,L0))return I=-1,I|0;if(x0=(o|0)==0,x0)return I=0,I|0;j0=(a|0)>0;e:do if(j0){for(m2=0,k2=0;;){if(b1=(o+(k2<<3)|0)+4|0,q1=e[b1>>2]|0,s2=(q1|0)<0,w=2147483647-q1|0,V=(m2|0)>(w|0),N2=s2|V,N2){I=-1;break}if(i0=q1+m2|0,c0=k2+1|0,$0=(c0|0)<(a|0),$0)m2=i0,k2=c0;else{o2=i0;break e}}return I|0}else o2=0;while(!1);l0=(o2|0)/255&-1,Z=l0+1|0,I0=t+12|0,g0=e[I0>>2]|0,f0=(g0|0)==0,v=t+8|0,f0||(d0=e[v>>2]|0,p0=d0-g0|0,e[v>>2]=p0,C0=(d0|0)==(g0|0),C0||(S0=_0+g0|0,nA(_0|0,S0|0,p0|0)|0),e[I0>>2]=0),Q0=t+4|0,b0=e[Q0>>2]|0,E0=b0-o2|0,y0=e[v>>2]|0,w0=(E0|0)>(y0|0);do if(!w0){if(B0=2147483647-o2|0,K0=(b0|0)>(B0|0),K0)return M0=e[t>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=t+16|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||E2(N0),O0=t+20|0,k0=e[O0>>2]|0,V0=(k0|0)==0,V0||E2(k0),g4(t|0,0,360)|0,I=-1,I|0;if(F0=b0+o2|0,G0=(F0|0)<2147482623,z0=F0+1024|0,m=G0?z0:F0,J0=e[t>>2]|0,q0=J7(J0,m)|0,Z0=(q0|0)==0,!Z0){e[Q0>>2]=m,e[t>>2]=q0;break}return P0=e[t>>2]|0,H0=(P0|0)==0,H0||E2(P0),s1=t+16|0,Y0=e[s1>>2]|0,i1=(Y0|0)==0,i1||E2(Y0),o1=t+20|0,d1=e[o1>>2]|0,u1=(d1|0)==0,u1||E2(d1),g4(t|0,0,360)|0,I=-1,I|0}while(!1);if(m1=xS(t,Z)|0,f1=(m1|0)==0,!f1)return I=-1,I|0;if(j0)for(Q=e[v>>2]|0,v1=Q,D2=0;B1=e[t>>2]|0,w1=B1+v1|0,k1=o+(D2<<3)|0,L1=e[k1>>2]|0,M1=(o+(D2<<3)|0)+4|0,_1=e[M1>>2]|0,ce(w1|0,L1|0,_1|0)|0,R1=e[M1>>2]|0,F1=e[v>>2]|0,U1=F1+R1|0,e[v>>2]=U1,D1=D2+1|0,t2=(D1|0)==(a|0),!t2;)v1=U1,D2=D1;if(h1=(o2|0)>254,A1=t+28|0,g1=e[A1>>2]|0,a1=t+16|0,$1=e[a1>>2]|0,h1){for(E1=t+352|0,I1=t+20|0,Q1=e[I1>>2]|0,p1=(l0|0)>1,Q2=0;P1=g1+Q2|0,Z1=$1+(P1<<2)|0,e[Z1>>2]=255,G1=E1,x1=G1,z1=e[x1>>2]|0,H1=G1+4|0,Y1=H1,V1=e[Y1>>2]|0,X1=Q1+(P1<<3)|0,n2=X1,j1=n2,e[j1>>2]=z1,O1=n2+4|0,g2=O1,e[g2>>2]=V1,W1=Q2+1|0,d2=(W1|0)<(l0|0),d2;)Q2=W1;L2=p1?l0:1,B=E1,l2=Q1,S2=L2}else E=t+20|0,S=e[E>>2]|0,b=t+352|0,B=b,l2=S,S2=0;return C2=(o2|0)%255&-1,a2=g1+S2|0,K1=$1+(a2<<2)|0,e[K1>>2]=C2,h2=l2+(a2<<3)|0,i2=h2,c2=i2,e[c2>>2]=g,r2=i2+4|0,A2=r2,e[A2>>2]=d,e2=B,D=e2,e[D>>2]=g,y=e2+4|0,x=y,e[x>>2]=d,M=$1+(g1<<2)|0,L=e[M>>2]|0,R=L|256,e[M>>2]=R,F=g1+Z|0,e[A1>>2]=F,T=t+344|0,N=T,G=N,e0=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=rs(e0|0,W|0,1,0)|0,s0=j6,J=T,o0=J,e[o0>>2]=r0,H=J+4|0,h0=H,e[h0>>2]=s0,j=($|0)==0,j?(I=0,I|0):(u0=t+328|0,e[u0>>2]=1,I=0,I|0)}function eE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,C=C+16|0,y=M,a=e[o>>2]|0,e[y>>2]=a,$=o+4|0,E=e[$>>2]|0,Q=y+4|0,e[Q>>2]=E,B=o+12|0,S=e[B>>2]|0,b=o+16|0,v=b,w=v,D=e[w>>2]|0,g=v+4|0,d=g,m=e[d>>2]|0,I=_S(t,y,1,S,D,m)|0,C=M,I|0}function iQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0;return g=C,a=nQ(t,o,1,4096)|0,a|0}function rQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0;return M=C,d=(t|0)==0,d||(m=e[t>>2]|0,I=(m|0)==0,I)?(a=0,a|0):(E=t+328|0,Q=e[E>>2]|0,B=(Q|0)==0,$=t+28|0,g=e[$>>2]|0,y=(g|0)==0,B?y?D=0:(S=t+332|0,b=e[S>>2]|0,v=(b|0)==0,v?x=7:D=0):y?D=0:x=7,(x|0)==7&&(D=1),w=nQ(t,o,D,4096)|0,a=w,a|0)}function xS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0;return d0=C,g=t+24|0,d=e[g>>2]|0,y=d-o|0,K=t+28|0,u0=e[K>>2]|0,l0=(y|0)>(u0|0),l0?($=0,$|0):(Z=2147483647-o|0,I0=(d|0)>(Z|0),I0?(g0=e[t>>2]|0,f0=(g0|0)==0,f0||E2(g0),m=t+16|0,I=e[m>>2]|0,E=(I|0)==0,E||E2(I),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),g4(t|0,0,360)|0,$=-1,$|0):(b=d+o|0,v=(b|0)<2147483615,w=b+32|0,a=v?w:b,D=t+16|0,x=e[D>>2]|0,M=a<<2,L=J7(x,M)|0,R=(L|0)==0,R?(F=e[t>>2]|0,T=(F|0)==0,T||E2(F),N=e[D>>2]|0,G=(N|0)==0,G||E2(N),V=t+20|0,e0=e[V>>2]|0,a0=(e0|0)==0,a0||E2(e0),g4(t|0,0,360)|0,$=-1,$|0):(e[D>>2]=L,W=t+20|0,r0=e[W>>2]|0,s0=a<<3,J=J7(r0,s0)|0,o0=(J|0)==0,o0?(H=e[t>>2]|0,h0=(H|0)==0,h0||E2(H),i0=e[D>>2]|0,j=(i0|0)==0,j||E2(i0),c0=e[W>>2]|0,$0=(c0|0)==0,$0||E2(c0),g4(t|0,0,360)|0,$=-1,$|0):(e[W>>2]=J,e[g>>2]=a,$=0,$|0))))}function nQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0;if(S5=C,y=t+28|0,x=e[y>>2]|0,d1=(x|0)>255,g=d1?255:x,I1=(t|0)==0,I1||(R1=e[t>>2]|0,Y1=(R1|0)==0,a2=(g|0)==0,b3=a2|Y1,b3))return d=0,d|0;t2=t+332|0,V2=e[t2>>2]|0,j2=(V2|0)==0;e:do if(j2)for(Q0=t+16|0,g3=0;;){if(N0=(g3|0)<(g|0),!N0){I=a,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,z5=g3,V5=14;break e}if(Z0=e[Q0>>2]|0,Y0=Z0+(g3<<2)|0,i1=e[Y0>>2]|0,x0=i1&255,o1=(x0|0)==255,u1=g3+1|0,o1)g3=u1;else{I=a,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,z5=u1,V5=14;break}}else if(M=(g|0)>0,M){for(W=t+16|0,$0=t+20|0,Q5=0,D5=-1,h5=-1,l5=-1,X2=-1,u2=-1,w5=-1,r5=-1,a5=-1,t3=0,T3=0,Q3=0;;){if(m1=(Q5|0)>($|0),f1=(t3|0)>3,q3=m1&f1,q3){m=1,q5=D5,L5=h5,Y2=l5,p5=X2,$5=u2,u5=w5,y5=r5,T1=a5,u3=Q3;break}if(h1=e[W>>2]|0,A1=h1+(Q3<<2)|0,g1=e[A1>>2]|0,a1=g1&255,$1=a1+Q5|0,j0=(a1|0)==255,j0?(d5=D5,z2=h5,f5=l5,n5=X2,M5=u2,e5=w5,c5=r5,F2=a5,s6=0,H3=T3):(E1=e[$0>>2]|0,Q1=E1+(Q3<<3)|0,p1=Q1,B1=p1,w1=e[B1>>2]|0,v1=p1+4|0,k1=v1,L1=e[k1>>2]|0,M1=T3+1|0,b1=w1&255,_1=ns(w1|0,L1|0,8)|0,F1=j6,U1=_1&255,D1=ns(w1|0,L1|0,16)|0,P1=j6,Z1=D1&255,G1=ns(w1|0,L1|0,24)|0,x1=j6,z1=G1&255,q1=L1&255,H1=ns(w1|0,L1|0,40)|0,V1=j6,X1=H1&255,n2=ns(w1|0,L1|0,48)|0,j1=j6,O1=n2&255,g2=ns(w1|0,L1|0,56)|0,W1=j6,d2=g2&255,d5=b1,z2=Z1,f5=z1,n5=q1,M5=X1,e5=O1,c5=d2,F2=U1,s6=M1,H3=M1),s2=Q3+1|0,C2=(s2|0)<(g|0),C2)Q5=$1,D5=d5,h5=z2,l5=f5,X2=n5,u2=M5,w5=e5,r5=c5,a5=F2,t3=s6,T3=H3,Q3=s2;else{m=a,q5=d5,L5=z2,Y2=f5,p5=n5,$5=M5,u5=e5,y5=c5,T1=F2,u3=s2;break}}K1=(u3|0)==255,K1?(a3=q5,B3=L5,N5=Y2,W5=p5,D3=$5,f3=u5,y3=y5,X3=T1,H5=255):(I=m,v5=q5,J5=L5,i3=Y2,E5=p5,I3=$5,d3=u5,K5=y5,r3=T1,z5=u3,V5=14)}else I=a,v5=-1,J5=-1,i3=-1,E5=-1,I3=-1,d3=-1,K5=-1,r3=-1,z5=0,V5=14;while(!1);if((V5|0)==14){if(h2=(I|0)==0,h2)return d=0,d|0;a3=v5,B3=J5,N5=i3,W5=E5,D3=I3,f3=d3,y3=K5,X3=r3,H5=z5}if(l2=t+40|0,f[l2>>0]=79,f[l2+1>>0]=103,f[l2+2>>0]=103,f[l2+3>>0]=83,i2=t+44|0,f[i2>>0]=0,c2=t+45|0,f[c2>>0]=0,r2=t+16|0,A2=e[r2>>2]|0,e2=e[A2>>2]|0,o2=e2>>>8,S=o2&1,m2=S^1,k2=m2|2,E=j2?k2:m2,c3=E&255,f[c2>>0]=c3,D2=t+328|0,S2=e[D2>>2]|0,Q2=(S2|0)!=0,N2=(x|0)==(H5|0),X5=Q2&N2,X5&&(Q=j2?k2:m2,L2=Q|4,U2=L2&255,f[c2>>0]=U2),e[t2>>2]=1,p2=t+46|0,f[p2>>0]=a3,W2=t+47|0,f[W2>>0]=X3,P2=t+48|0,f[P2>>0]=B3,G2=t+49|0,f[G2>>0]=N5,q2=t+50|0,f[q2>>0]=W5,Z2=t+51|0,f[Z2>>0]=D3,A5=t+52|0,f[A5>>0]=f3,H2=t+53|0,f[H2>>0]=y3,N1=t+336|0,t5=e[N1>>2]|0,F5=t5&255,i5=t+54|0,f[i5>>0]=F5,_5=t5>>>8,I5=_5&255,b5=t+55|0,f[b5>>0]=I5,Y5=t5>>>16,g5=Y5&255,b2=t+56|0,f[b2>>0]=g5,B5=t5>>>24,s5=B5&255,R2=t+57|0,f[R2>>0]=s5,M2=t+340|0,y2=e[M2>>2]|0,L=(y2|0)==-1,L?(e[M2>>2]=0,F=0):F=y2,R=F+1|0,e[M2>>2]=R,T=F&255,N=t+58|0,f[N>>0]=T,G=F>>>8,V=G&255,e0=t+59|0,f[e0>>0]=V,K=F>>>16,a0=K&255,r0=t+60|0,f[r0>>0]=a0,s0=F>>>24,J=s0&255,o0=t+61|0,f[o0>>0]=J,H=t+62|0,h0=H5&255,i0=t+66|0,f[H>>0]=0,f[H+1>>0]=0,f[H+2>>0]=0,f[H+3>>0]=0,f[i0>>0]=h0,j=(H5|0)>0,j){if(u0=e[A2>>2]|0,c0=u0&255,l0=t+67|0,f[l0>>0]=c0,Z=u0&255,x5=(H5|0)==1,x5)B=Z;else for(g0=1,b0=Z;;)if(b=e[r2>>2]|0,I0=b+(g0<<2)|0,f0=e[I0>>2]|0,n0=f0&255,d0=g0+27|0,p0=(t+40|0)+d0|0,f[p0>>0]=n0,C0=f0&255,S0=C0+b0|0,E0=g0+1|0,m5=(E0|0)==(H5|0),m5){B=S0;break}else g0=E0,b0=S0;v=e[t>>2]|0,w=e[y>>2]|0,D=e[r2>>2]|0,v0=v,k0=w,F0=D,T5=B}else v0=R1,k0=x,F0=A2,T5=0;return e[o>>2]=l2,y0=H5+27|0,w0=t+324|0,e[w0>>2]=y0,B0=o+4|0,e[B0>>2]=y0,_0=t+12|0,K0=e[_0>>2]|0,M0=v0+K0|0,T0=o+8|0,e[T0>>2]=M0,U0=o+12|0,e[U0>>2]=T5,O0=k0-H5|0,e[y>>2]=O0,V0=F0+(H5<<2)|0,L0=O0<<2,nA(F0|0,V0|0,L0|0)|0,G0=t+20|0,z0=e[G0>>2]|0,J0=z0+(H5<<3)|0,q0=e[y>>2]|0,P0=q0<<3,nA(z0|0,J0|0,P0|0)|0,H0=e[_0>>2]|0,s1=H0+T5|0,e[_0>>2]=s1,DS(o),d=1,d|0}function LS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0;return Y0=C,$=t+104|0,g=e[$>>2]|0,D=t+88|0,e0=g+12|0,e[D>>2]=0,e[D+4>>2]=0,e[D+8>>2]=0,e[D+12>>2]=0,j=e[e0>>2]|0,Ii(j),p0=g+16|0,M0=e[p0>>2]|0,Ii(M0),z0=g+20|0,P0=e[z0>>2]|0,Ii(P0),H0=g+24|0,d=e[H0>>2]|0,Ii(d),m=g+28|0,I=e[m>>2]|0,Ii(I),E=g+32|0,Q=e[E>>2]|0,Ii(Q),B=g+36|0,S=e[B>>2]|0,Ii(S),b=g+40|0,v=e[b>>2]|0,Ii(v),w=g+44|0,y=e[w>>2]|0,Ii(y),x=g+48|0,M=e[x>>2]|0,Ii(M),L=g+52|0,R=e[L>>2]|0,Ii(R),F=g+56|0,T=e[F>>2]|0,Ii(T),N=g+60|0,G=e[N>>2]|0,Ii(G),V=g+64|0,K=e[V>>2]|0,Ii(K),a0=g+68|0,W=e[a0>>2]|0,Ii(W),r0=e[6416]|0,s0=r0+12|0,J=e[s0>>2]|0,o0=FQ[J&1](t)|0,H=(o0|0)==0,H?(h0=(o|0)==0,h0?(a=0,a|0):(i0=Ru(t)|0,u0=(i0|0)==0,u0?(c0=t+4|0,$0=tQ(c0)|0,e[o>>2]=$0,l0=b8(c0)|0,Z=o+4|0,e[Z>>2]=l0,I0=o+8|0,e[I0>>2]=0,g0=t+44|0,f0=e[g0>>2]|0,n0=o+12|0,e[n0>>2]=f0,d0=t+48|0,C0=d0,S0=C0,Q0=e[S0>>2]|0,b0=C0+4|0,E0=b0,y0=e[E0>>2]|0,w0=o+16|0,B0=w0,_0=B0,e[_0>>2]=Q0,K0=B0+4|0,v0=K0,e[v0>>2]=y0,T0=t+56|0,N0=T0,U0=N0,O0=e[U0>>2]|0,k0=N0+4|0,V0=k0,F0=e[V0>>2]|0,L0=o+24|0,G0=L0,J0=G0,e[J0>>2]=O0,q0=G0+4|0,Z0=q0,e[Z0>>2]=F0,a=0,a|0):(a=-131,a|0))):(a=o0,a|0)}function MS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0;Q0=C,a=t+28|0,$=e[a>>2]|0,C0=o,b0=C0+48|0;do e[C0>>2]=0,C0=C0+4|0;while((C0|0)<(b0|0));w=$+3372|0,V=e[w>>2]|0,i0=(V|0)>0,i0&&(g0=t+8|0,f0=e[g0>>2]|0,n0=e[$>>2]|0,d0=n0>>1,p0=$+4|0,g=e[p0>>2]|0,d=(g|0)/(n0|0)&-1,m=o+24|0,e[m>>2]=d,e[o>>2]=1,I=$+3360|0,E=e[I>>2]|0,Q=+(E|0),B=+(d0|0),S=Q*B,b=+(f0|0),v=S/b,D=+V7(v),y=~~D,x=o+12|0,e[x>>2]=y,M=$+3364|0,L=e[M>>2]|0,R=+(L|0),F=R*B,T=F/b,N=+V7(T),G=~~N,e0=o+16|0,e[e0>>2]=G,K=$+3368|0,a0=e[K>>2]|0,W=+(a0|0),r0=W*B,s0=r0/b,J=+V7(s0),o0=~~J,H=o+20|0,e[H>>2]=o0,h0=o+32|0,l1[h0>>3]=7,j=+(V|0),u0=$+3376|0,c0=+l1[u0>>3],$0=j*c0,l0=~~$0,Z=o+8|0,e[Z>>2]=l0,I0=o+4|0,e[I0>>2]=l0)}function RS(t){t=t|0;var o=0,a=0,$=0,g=0;$=C,o=t,g=o+48|0;do e[o>>2]=0,o=o+4|0;while((o|0)<(g|0))}function Ru(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,a=t+64|0,$=e[a>>2]|0,g=$+104|0,d=e[g>>2]|0,m=d+80|0,I=e[m>>2]|0,E=(I|0)!=0,o=E&1,o|0}function FS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0;if(F6=C,Q=t+104|0,B=e[Q>>2]|0,W1=t+64|0,b2=e[W1>>2]|0,L5=b2+104|0,u2=e[L5>>2]|0,F2=b2+4|0,N5=e[F2>>2]|0,T3=N5+28|0,G5=e[T3>>2]|0,S=u2+112|0,T=+l1[S>>3],o0=+V7(T),g0=~~o0,w0=(B+12|0)+(g0<<2)|0,V0=e[w0>>2]|0,Y0=b8(V0)|0,a1=Y0<<3,L1=t+28|0,x1=e[L1>>2]|0,d2=(x1|0)==0,e2=u2+96|0,p2=e[e2>>2]|0,d2?(F5=u2+100|0,_5=e[F5>>2]|0,H=p2,b0=F5,B0=_5):(j2=u2+104|0,I5=e[j2>>2]|0,b5=u2+100|0,Y5=e[b5>>2]|0,g5=o5(I5,p2)|0,B5=o5(I5,Y5)|0,H=g5,b0=b5,B0=B5),s5=G5+(x1<<2)|0,R2=e[s5>>2]|0,M2=R2>>1,y2=G5+3372|0,Q5=e[y2>>2]|0,T5=+(Q5|0),m5=G5+3376|0,x5=+l1[m5>>3],q5=T5*x5,Y2=~~q5,p5=u2+80|0,$5=e[p5>>2]|0,u5=($5|0)==0,y5=u2+120|0,u5)return T1=e[y5>>2]|0,D5=(T1|0)==0,D5?(e[y5>>2]=t,a=0,a|0):(a=-1,a|0);if(e[y5>>2]=t,h5=u2+92|0,l5=e[h5>>2]|0,X2=(l5|0)>0,X2){d2?c5=l5:(w5=u2+104|0,r5=e[w5>>2]|0,a5=o5(r5,l5)|0,c5=a5),d5=G5+3384|0,z2=+l1[d5>>3],f5=15/z2,n5=u2+84|0,M5=e[n5>>2]|0,e5=a1-c5|0,v5=M5+e5|0,J5=(v5|0)>(Y2|0);e:do if(J5)if(i3=(g0|0)>0,E5=(a1|0)>(c5|0),R6=E5&i3,R6)if(I3=a1-c5|0,d3=I3+M5|0,K5=(d3|0)>(Y2|0),K5)for(V3=g0;;){if(r3=V3+-1|0,a3=(B+12|0)+(r3<<2)|0,B3=e[a3>>2]|0,W5=b8(B3)|0,D3=W5<<3,f3=(V3|0)>1,y3=(D3|0)>(c5|0),M6=y3&f3,!M6){Z5=r3;break e}if(I=e[n5>>2]|0,X3=D3-c5|0,q3=X3+I|0,X5=(q3|0)>(Y2|0),X5)V3=r3;else{Z5=r3;break}}else Z5=g0;else Z5=g0;else if(b3=(v5|0)<(Y2|0),b3)if(t3=g0+1|0,s6=(t3|0)<15,H3=(a1|0)<(c5|0),r6=H3&s6,r6)if(c3=a1-c5|0,g3=c3+M5|0,u3=(g3|0)<(Y2|0),u3)for(z5=t3;;){if(Q3=(B+12|0)+(z5<<2)|0,H5=e[Q3>>2]|0,V5=b8(H5)|0,S5=V5<<3,Y3=z5+1|0,$6=(Y3|0)<15,n3=(S5|0)<(c5|0),S6=n3&$6,!S6){Z5=z5;break e}if(m=e[n5>>2]|0,l3=S5-c5|0,N3=l3+m|0,E6=(N3|0)<(Y2|0),E6)z5=Y3;else{Z5=z5;break}}else Z5=g0;else Z5=g0;else Z5=g0;while(!1);k3=+(Z5|0),_3=+l1[S>>3],S3=k3-_3,a6=+V7(S3),i6=+(M2|0),b=a6/i6,v=N5+8|0,w=e[v>>2]|0,D=+(w|0),y=D*b,x=-f5,M=yf5,L3=L?f5:v6,R=L3/D,F=R*i6,N=F+_3,l1[S>>3]=N,G=+V7(N),V=~~G,e0=(B+12|0)+(V<<2)|0,K=e[e0>>2]|0,a0=b8(K)|0,W=a0<<3,E=e[e2>>2]|0,r0=E,x3=V,n6=W}else r0=p2,x3=g0,n6=a1;s0=(r0|0)>0,J=(n6|0)<(H|0),d6=J&s0;e:do if(d6)if(h0=u2+88|0,i0=e[h0>>2]|0,j=n6-H|0,u0=j+i0|0,c0=(u0|0)<0,c0)for(h3=x3,o6=n6;;){if($0=h3+1|0,l0=(h3|0)>13,l0){J3=$0,C6=o6;break e}if(Z=(B+12|0)+($0<<2)|0,I0=e[Z>>2]|0,f0=b8(I0)|0,n0=f0<<3,d0=e[h0>>2]|0,p0=n0-H|0,C0=p0+d0|0,S0=(C0|0)<0,S0)h3=$0,o6=n0;else{J3=$0,C6=n0;break}}else J3=x3,C6=n6;else J3=x3,C6=n6;while(!1);Q0=e[b0>>2]|0,E0=(Q0|0)>0,y0=(C6|0)>(B0|0),b6=y0&E0;e:do if(b6)if(_0=u2+88|0,K0=e[_0>>2]|0,M0=C6-B0|0,v0=M0+K0|0,T0=e[y2>>2]|0,N0=(v0|0)>(T0|0),N0)for(h6=J3,z3=C6;;){if(U0=h6+-1|0,O0=(h6|0)<1,O0){m3=U0,M3=z3;break e}if(k0=(B+12|0)+(U0<<2)|0,F0=e[k0>>2]|0,L0=b8(F0)|0,G0=L0<<3,z0=e[_0>>2]|0,J0=G0-B0|0,q0=J0+z0|0,Z0=e[y2>>2]|0,P0=(q0|0)>(Z0|0),P0)h6=U0,z3=G0;else{m3=U0,M3=G0;break}}else m3=J3,M3=C6;else m3=J3,M3=C6;while(!1);if(H0=(m3|0)<0,H0)s1=e[y2>>2]|0,i1=u2+88|0,x0=e[i1>>2]|0,o1=s1+B0|0,d1=o1-x0|0,u1=(d1|0)/8&-1,m1=u2+124|0,e[m1>>2]=0,f1=B+12|0,h1=e[f1>>2]|0,A1=b8(h1)|0,g1=(A1|0)>(u1|0),g1?($1=e[f1>>2]|0,j0=u1<<3,kS($1,j0),E1=e[f1>>2]|0,I1=b8(E1)|0,Q1=I1<<3,K3=Q1):K3=M3;else{if(p1=u2+88|0,B1=e[p1>>2]|0,w1=H+7|0,v1=w1-B1|0,k1=(v1|0)/8&-1,M1=(m3|0)>14,g=M1?14:m3,b1=u2+124|0,e[b1>>2]=g,_1=(B+12|0)+(g<<2)|0,R1=e[_1>>2]|0,F1=b8(R1)|0,U1=k1-F1|0,D1=(U1|0)>0,P1=e[_1>>2]|0,D1)for(G1=P1,L6=U1;;)if(Z1=L6+-1|0,O2(G1,0,8),z1=(L6|0)>1,q1=e[_1>>2]|0,z1)G1=q1,L6=Z1;else{d=q1;break}else d=P1;H1=b8(d)|0,Y1=H1<<3,K3=Y1}V1=e[e2>>2]|0,X1=(V1|0)>0,X1?e6=37:(n2=e[b0>>2]|0,j1=(n2|0)>0,j1&&(e6=37));do if((e6|0)==37){if(O1=(B0|0)>0,g2=(K3|0)>(B0|0),G6=O1&g2,G6){s2=K3-B0|0,C2=u2+88|0,a2=e[C2>>2]|0,K1=s2+a2|0,e[C2>>2]=K1;break}if(h2=(H|0)>0,l2=(K3|0)<(H|0),X6=h2&l2,X6){i2=K3-H|0,c2=u2+88|0,r2=e[c2>>2]|0,A2=i2+r2|0,e[c2>>2]=A2;break}if(o2=u2+88|0,m2=e[o2>>2]|0,t2=(m2|0)>(Y2|0),t2)if(O1){k2=K3-B0|0,D2=m2+k2|0,S2=(D2|0)<(Y2|0),o=S2?Y2:D2,e[o2>>2]=o;break}else{e[o2>>2]=Y2;break}else if(h2){Q2=K3-H|0,N2=m2+Q2|0,L2=(N2|0)>(Y2|0),$=L2?Y2:N2,e[o2>>2]=$;break}else{e[o2>>2]=Y2;break}}while(!1);return U2=e[h5>>2]|0,W2=(U2|0)>0,W2?(P2=e[L1>>2]|0,V2=(P2|0)==0,V2?H2=U2:(G2=u2+104|0,q2=e[G2>>2]|0,Z2=o5(q2,U2)|0,H2=Z2),A5=K3-H2|0,N1=u2+84|0,t5=e[N1>>2]|0,i5=A5+t5|0,e[N1>>2]=i5,a=0,a|0):(a=0,a|0)}function oQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0;return B0=C,$=t+104|0,g=e[$>>2]|0,D=g+120|0,e0=e[D>>2]|0,j=(e0|0)==0,j?(a=0,a|0):(p0=(o|0)==0,p0||(C0=e0+104|0,S0=e[C0>>2]|0,Q0=e0+64|0,b0=e[Q0>>2]|0,d=b0+104|0,m=e[d>>2]|0,I=m+80|0,E=e[I>>2]|0,y0=(E|0)==0,y0?E0=7:(Q=g+124|0,B=e[Q>>2]|0,E0=B),S=(S0+12|0)+(E0<<2)|0,b=e[S>>2]|0,v=tQ(b)|0,e[o>>2]=v,w=e[S>>2]|0,y=b8(w)|0,x=o+4|0,e[x>>2]=y,M=o+8|0,e[M>>2]=0,L=e0+44|0,R=e[L>>2]|0,F=o+12|0,e[F>>2]=R,T=e0+48|0,N=T,G=N,V=e[G>>2]|0,K=N+4|0,a0=K,W=e[a0>>2]|0,r0=o+16|0,s0=r0,J=s0,e[J>>2]=V,o0=s0+4|0,H=o0,e[H>>2]=W,h0=e0+56|0,i0=h0,u0=i0,c0=e[u0>>2]|0,$0=i0+4|0,l0=$0,Z=e[l0>>2]|0,I0=o+24|0,g0=I0,f0=g0,e[f0>>2]=c0,n0=g0+4|0,d0=n0,e[d0>>2]=Z),e[D>>2]=0,a=1,a|0)}function TS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0;F=C,L=o,T=L+112|0;do e[L>>2]=0,L=L+4|0;while((L|0)<(T|0));if(a=o+64|0,e[a>>2]=t,$=o+76|0,e[$>>2]=0,Q=o+68|0,e[Q>>2]=0,B=e[t>>2]|0,S=(B|0)==0,S)return 0;for(b=le(1,72)|0,v=o+104|0,e[v>>2]=b,w=b+4|0,s[w>>2]=-9999,D=o+4|0,y=b+12|0,g=b+40|0,M=0;;)if(d=(M|0)==7,d){e[g>>2]=D,uC(D),M=8;continue}else{if(m=le(1,20)|0,I=y+(M<<2)|0,e[I>>2]=m,uC(m),E=M+1|0,x=(E|0)==15,x)break;M=E;continue}return 0}function z8(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0;return K=C,a=o+7|0,$=a&-8,w=t+72|0,L=e[w>>2]|0,R=L+$|0,F=t+76|0,T=e[F>>2]|0,N=(R|0)>(T|0),G=t+68|0,V=e[G>>2]|0,N?(g=(V|0)==0,g||(d=V,m=M9(8)|0,I=t+80|0,E=e[I>>2]|0,Q=E+L|0,e[I>>2]=Q,B=t+84|0,S=e[B>>2]|0,b=m+4|0,e[b>>2]=S,e[m>>2]=d,e[B>>2]=m),e[F>>2]=$,v=M9($)|0,e[G>>2]=v,e[w>>2]=0,y=v,x=0,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0):(y=V,x=L,D=y+x|0,M=x+$|0,e[w>>2]=M,D|0)}function NS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0;if(i0=C,$=t+104|0,g=e[$>>2]|0,D=t+84|0,G=e[D>>2]|0,V=(G|0)==0,!V)for(o0=G;e0=o0+4|0,K=e[e0>>2]|0,a0=e[o0>>2]|0,E2(a0),E2(o0),W=(K|0)==0,!W;)o0=K;if(r0=t+80|0,d=e[r0>>2]|0,m=(d|0)==0,o=t+68|0,a=e[o>>2]|0,m?y=a:(I=t+76|0,E=e[I>>2]|0,Q=E+d|0,B=J7(a,Q)|0,e[o>>2]=B,S=e[r0>>2]|0,b=e[I>>2]|0,v=b+S|0,e[I>>2]=v,e[r0>>2]=0,y=B),w=t+72|0,e[w>>2]=0,e[D>>2]=0,x=(y|0)==0,x||E2(y),M=(g|0)==0,M){H=t,j=H+112|0;do e[H>>2]=0,H=H+4|0;while((H|0)<(j|0));return 0}else J=0;for(;;){if(L=(g+12|0)+(J<<2)|0,R=e[L>>2]|0,hC(R),F=(J|0)==7,F){J=8;continue}if(T=e[L>>2]|0,E2(T),N=J+1|0,s0=(N|0)==15,s0)break;J=N}E2(g),H=t,j=H+112|0;do e[H>>2]=0,H=H+4|0;while((H|0)<(j|0));return 0}function GS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=PS(t,o,1)|0,g=($|0)==0,g?(E=t+104|0,Q=e[E>>2]|0,B=pb(o)|0,S=Q+60|0,e[S>>2]=B,b=le(1,180)|0,e[Q>>2]=b,VS(b,o),v=Q+80|0,MS(o,v),w=t+64|0,D=w,d=D,e[d>>2]=3,m=D+4|0,I=m,e[I>>2]=0,a=0,a|0):(a=1,a|0)}function sQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0;if(P2=C,B=(t|0)==0,!B){if(S=t+4|0,w0=e[S>>2]|0,V0=(w0|0)!=0,V0?(Y0=w0+28|0,a1=e[Y0>>2]|0,k0=a1):k0=0,L1=t+104|0,x1=e[L1>>2]|0,W1=(x1|0)!=0,W1){if(A2=e[x1>>2]|0,b=(A2|0)==0,b||(JS(A2),N=e[x1>>2]|0,E2(N)),H=x1+12|0,f0=e[H>>2]|0,C0=(f0|0)==0,C0||(S0=e[f0>>2]|0,EC(S0),Q0=e[H>>2]|0,b0=e[Q0>>2]|0,E2(b0),E0=e[H>>2]|0,E2(E0)),y0=x1+16|0,B0=e[y0>>2]|0,_0=(B0|0)==0,_0||(K0=e[B0>>2]|0,EC(K0),M0=e[y0>>2]|0,v0=e[M0>>2]|0,E2(v0),T0=e[y0>>2]|0,E2(T0)),N0=x1+48|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0){if(F0=(k0|0)==0,F0)p1=U0;else if(L0=k0+16|0,G0=e[L0>>2]|0,z0=(G0|0)>0,z0){if(J0=k0+800|0,q0=e[J0>>2]|0,Z0=25640+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+16|0,s1=e[H0>>2]|0,i1=e[U0>>2]|0,ss[s1&7](i1),x0=e[L0>>2]|0,o1=(x0|0)>1,o1)for(u1=1;o=e[N0>>2]|0,d1=J0+(u1<<2)|0,m1=e[d1>>2]|0,f1=25640+(m1<<2)|0,h1=e[f1>>2]|0,A1=h1+16|0,g1=e[A1>>2]|0,$1=o+(u1<<2)|0,j0=e[$1>>2]|0,ss[g1&7](j0),E1=u1+1|0,I1=e[L0>>2]|0,Q1=(E1|0)<(I1|0),Q1;)u1=E1;a=e[N0>>2]|0,p1=a}else p1=U0;E2(p1)}if(B1=x1+52|0,w1=e[B1>>2]|0,v1=(w1|0)==0,!v1){if(k1=(k0|0)==0,k1)K1=w1;else if(M1=k0+20|0,b1=e[M1>>2]|0,_1=(b1|0)>0,_1){if(R1=k0+1312|0,F1=e[R1>>2]|0,U1=25648+(F1<<2)|0,D1=e[U1>>2]|0,P1=D1+16|0,Z1=e[P1>>2]|0,G1=e[w1>>2]|0,ss[Z1&7](G1),z1=e[M1>>2]|0,q1=(z1|0)>1,q1)for(Y1=1;$=e[B1>>2]|0,H1=R1+(Y1<<2)|0,V1=e[H1>>2]|0,X1=25648+(V1<<2)|0,n2=e[X1>>2]|0,j1=n2+16|0,O1=e[j1>>2]|0,g2=$+(Y1<<2)|0,d2=e[g2>>2]|0,ss[O1&7](d2),s2=Y1+1|0,C2=e[M1>>2]|0,a2=(s2|0)<(C2|0),a2;)Y1=s2;g=e[B1>>2]|0,K1=g}else K1=w1;E2(K1)}if(h2=x1+56|0,l2=e[h2>>2]|0,i2=(l2|0)==0,!i2){if(c2=(k0|0)==0,c2)L2=l2;else if(r2=k0+28|0,e2=e[r2>>2]|0,o2=(e2|0)>0,o2){if(dQ(l2),m2=e[r2>>2]|0,t2=(m2|0)>1,t2)for(D2=1;d=e[h2>>2]|0,k2=d+(D2*52|0)|0,dQ(k2),S2=D2+1|0,Q2=e[r2>>2]|0,N2=(S2|0)<(Q2|0),N2;)D2=S2;m=e[h2>>2]|0,L2=m}else L2=l2;E2(L2)}v=x1+60|0,w=e[v>>2]|0,D=(w|0)==0,D||Eb(w),y=x1+80|0,RS(y),x=x1+20|0,wQ(x),M=x1+32|0,wQ(M)}if(L=t+8|0,R=e[L>>2]|0,F=(R|0)==0,!F){if(V0)if(T=w0+4|0,G=e[T>>2]|0,V=(G|0)>0,V){for(K=R,p0=G,U2=0;e0=K+(U2<<2)|0,a0=e[e0>>2]|0,W=(a0|0)==0,W?J=p0:(E2(a0),E=e[T>>2]|0,J=E),r0=U2+1|0,s0=(r0|0)<(J|0),!!s0;)I=e[L>>2]|0,K=I,p0=J,U2=r0;Q=e[L>>2]|0,o0=Q}else o0=R;else o0=R;E2(o0),h0=t+12|0,i0=e[h0>>2]|0,j=(i0|0)==0,j||E2(i0)}W1&&(u0=x1+64|0,c0=e[u0>>2]|0,$0=(c0|0)==0,$0||E2(c0),l0=x1+68|0,Z=e[l0>>2]|0,I0=(Z|0)==0,I0||E2(Z),g0=x1+72|0,n0=e[g0>>2]|0,d0=(n0|0)==0,d0||E2(n0),E2(x1)),p2=t,V2=p2+112|0;do e[p2>>2]=0,p2=p2+4|0;while((p2|0)<(V2|0))}}function aQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0;if(V0=C,I=t+4|0,E=e[I>>2]|0,L=t+104|0,r0=e[L>>2]|0,l0=r0+64|0,b0=e[l0>>2]|0,v0=(b0|0)==0,v0||E2(b0),e[l0>>2]=0,T0=r0+68|0,N0=e[T0>>2]|0,U0=(N0|0)==0,U0||E2(N0),e[T0>>2]=0,Q=r0+72|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),e[Q>>2]=0,b=t+20|0,v=e[b>>2]|0,w=v+o|0,D=t+16|0,y=e[D>>2]|0,x=(w|0)<(y|0),x)a=E+4|0,d=e[a>>2]|0,o0=d,k0=11;else if(M=o<<1,R=v+M|0,e[D>>2]=R,F=E+4|0,T=e[F>>2]|0,N=(T|0)>0,N)if(G=t+8|0,V=e[G>>2]|0,e0=e[V>>2]|0,K=R<<2,a0=J7(e0,K)|0,W=e[G>>2]|0,e[W>>2]=a0,s0=e[F>>2]|0,J=(s0|0)>1,J)for($0=1;;)if($=e[D>>2]|0,u0=e[G>>2]|0,c0=u0+($0<<2)|0,Z=e[c0>>2]|0,I0=$<<2,g0=J7(Z,I0)|0,f0=e[G>>2]|0,n0=f0+($0<<2)|0,e[n0>>2]=g0,d0=$0+1|0,p0=e[F>>2]|0,C0=(d0|0)<(p0|0),C0)$0=d0;else{o0=p0,k0=11;break}else o0=s0,k0=11;if((k0|0)==11&&(H=(o0|0)>0,H)){for(h0=t+8|0,i0=e[b>>2]|0,j=t+12|0,O0=0;;)if(S0=e[h0>>2]|0,Q0=S0+(O0<<2)|0,E0=e[Q0>>2]|0,y0=E0+(i0<<2)|0,w0=e[j>>2]|0,B0=w0+(O0<<2)|0,e[B0>>2]=y0,_0=O0+1|0,K0=(_0|0)<(o0|0),K0)O0=_0;else{g=j;break}return M0=e[g>>2]|0,M0|0}return m=t+12|0,g=m,M0=e[g>>2]|0,M0|0}function US(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=t+4|0,E=e[I>>2]|0,L=E+28|0,r0=e[L>>2]|0,l0=(o|0)<1,!l0)return S0=t+20|0,Q0=e[S0>>2]|0,E0=Q0+o|0,y0=t+16|0,w0=e[y0>>2]|0,B0=(E0|0)>(w0|0),B0?($=-131,C=q0,$|0):(e[S0>>2]=E0,_0=t+28|0,K0=e[_0>>2]|0,M0=(K0|0)==0,!M0||(v0=t+48|0,T0=e[v0>>2]|0,N0=E0-T0|0,O0=r0+4|0,k0=e[O0>>2]|0,V0=(N0|0)>(k0|0),!V0)?($=0,C=q0,$|0):($Q(t),$=0,C=q0,$|0));if(b0=C,C=C+128|0,U0=t+28|0,F0=e[U0>>2]|0,L0=(F0|0)==0,L0&&$Q(t),G0=r0+4|0,Q=e[G0>>2]|0,B=Q*3|0,aQ(t,B)|0,S=t+20|0,b=e[S>>2]|0,v=t+32|0,e[v>>2]=b,w=e[G0>>2]|0,D=w*3|0,y=b+D|0,e[S>>2]=y,x=E+4|0,M=e[x>>2]|0,R=(M|0)>0,!R)return $=0,C=q0,$|0;for(F=t+8|0,T=b,z0=0;;){if(N=(T|0)>64,N?(G=e[G0>>2]|0,V=(T|0)>(G|0),a=V?G:T,e0=e[F>>2]|0,K=e0+(z0<<2)|0,a0=e[K>>2]|0,d=T-a|0,W=a0+(d<<2)|0,+lQ(W,b0,a,32),s0=e[F>>2]|0,J=s0+(z0<<2)|0,o0=e[J>>2]|0,H=e[v>>2]|0,h0=o0+(H<<2)|0,m=H+-32|0,i0=o0+(m<<2)|0,j=e[S>>2]|0,u0=j-H|0,cQ(b0,i0,32,h0,u0)):(c0=e[F>>2]|0,$0=c0+(z0<<2)|0,Z=e[$0>>2]|0,I0=Z+(T<<2)|0,g0=e[S>>2]|0,f0=g0-T|0,n0=f0<<2,g4(I0|0,0,n0|0)|0),d0=z0+1|0,p0=e[x>>2]|0,C0=(d0|0)<(p0|0),!C0){$=0;break}g=e[v>>2]|0,T=g,z0=d0}return C=q0,$|0}function AQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0;if(ge=C,S=t+4|0,b=e[S>>2]|0,s2=b+28|0,S5=e[s2>>2]|0,a6=t+104|0,R6=e[a6>>2]|0,C6=R6+60|0,B6=e[C6>>2]|0,V6=t+48|0,a9=e[V6>>2]|0,v=t+40|0,G=e[v>>2]|0,h0=S5+(G<<2)|0,n0=e[h0>>2]|0,_0=(n0|0)/2&-1,L0=a9-_0|0,x0=o+104|0,j0=e[x0>>2]|0,b1=t+28|0,q1=e[b1>>2]|0,C2=(q1|0)==0,C2||(m2=t+32|0,P2=e[m2>>2]|0,_5=(P2|0)==-1,_5))return $=0,$|0;y2=zS(t)|0,y5=(y2|0)==-1;do if(y5){if(z2=e[m2>>2]|0,I3=(z2|0)==0,I3)return $=0,$|0;X3=t+44|0,e[X3>>2]=0,d=X3,V3=0;break}else if(Q3=e[S5>>2]|0,Y3=S5+4|0,G5=e[Y3>>2]|0,$6=(Q3|0)==(G5|0),n3=t+44|0,$6){e[n3>>2]=0,d=n3,V3=0;break}else{e[n3>>2]=y2,d=n3,V3=y2;break}while(!1);if(l3=e[V6>>2]|0,N3=e[v>>2]|0,E6=S5+(N3<<2)|0,k3=e[E6>>2]|0,_3=(k3|0)/4&-1,S3=_3+l3|0,i6=S5+(V3<<2)|0,Z5=e[i6>>2]|0,x3=(Z5|0)/4&-1,h3=S3+x3|0,J3=(Z5|0)/2&-1,h6=h3+J3|0,m3=t+20|0,L6=e[m3>>2]|0,M6=(L6|0)<(h6|0),M6)return $=0,$|0;if(S6=o+84|0,r6=e[S6>>2]|0,d6=(r6|0)==0,!d6)for(y9=r6;b6=y9+4|0,G6=e[b6>>2]|0,X6=e[y9>>2]|0,E2(X6),E2(y9),v6=(G6|0)==0,!v6;)y9=G6;L3=o+80|0,n6=e[L3>>2]|0,o6=(n6|0)==0,o6||(z3=o+68|0,M3=e[z3>>2]|0,K3=o+76|0,e6=e[K3>>2]|0,F6=e6+n6|0,l6=J7(M3,F6)|0,e[z3>>2]=l6,o3=e[L3>>2]|0,K6=e[K3>>2]|0,A3=K6+o3|0,e[K3>>2]=A3,e[L3>>2]=0),c6=o+72|0,e[c6>>2]=0,e[S6>>2]=0,R3=t+36|0,Y6=e[R3>>2]|0,A6=o+24|0,e[A6>>2]=Y6,D6=e[v>>2]|0,U6=o+28|0,e[U6>>2]=D6,t9=e[d>>2]|0,Q6=o+32|0,e[Q6>>2]=t9,e9=(D6|0)==0;do if(e9)if(c9=KS(t)|0,P6=(c9|0)==0,J6=j0+8|0,P6){e[J6>>2]=1;break}else{e[J6>>2]=0;break}else if(G3=(Y6|0)==0,n9=(t9|0)==0,Y9=G3|n9,s9=j0+8|0,Y9){e[s9>>2]=0;break}else{e[s9>>2]=1;break}while(!1);T6=o+64|0,e[T6>>2]=t,i9=t+64|0,_6=i9,O6=_6,U3=e[O6>>2]|0,q6=_6+4|0,h9=q6,o9=e[h9>>2]|0,C9=rs(U3|0,o9|0,1,0)|0,B9=j6,Q9=i9,d9=Q9,e[d9>>2]=C9,f9=Q9+4|0,H9=f9,e[H9>>2]=B9,y6=o+56|0,H6=y6,w=H6,e[w>>2]=U3,D=H6+4|0,y=D,e[y>>2]=o9,x=t+56|0,M=x,L=M,R=e[L>>2]|0,F=M+4|0,T=F,N=e[T>>2]|0,V=o+48|0,e0=V,K=e0,e[K>>2]=R,a0=e0+4|0,W=a0,e[W>>2]=N,r0=e[v>>2]|0,s0=S5+(r0<<2)|0,J=e[s0>>2]|0,o0=o+36|0,e[o0>>2]=J,H=j0+4|0,i0=+s[H>>2],j=+s[B6>>2],u0=i0>j,u0?(s[B6>>2]=i0,c0=i0):c0=j,$0=+Qb(c0,t),s[B6>>2]=$0,s[H>>2]=$0,l0=b+4|0,Z=e[l0>>2]|0,I0=Z<<2,g0=I0+7|0,f0=g0&-8,d0=e[c6>>2]|0,p0=f0+d0|0,C0=o+76|0,S0=e[C0>>2]|0,Q0=(p0|0)>(S0|0),b0=o+68|0,E0=e[b0>>2]|0,Q0?(y0=(E0|0)==0,y0||(w0=E0,B0=M9(8)|0,K0=e[L3>>2]|0,M0=K0+d0|0,e[L3>>2]=M0,v0=e[S6>>2]|0,T0=B0+4|0,e[T0>>2]=v0,e[B0>>2]=w0,e[S6>>2]=B0),e[C0>>2]=f0,N0=M9(f0)|0,e[b0>>2]=N0,e[c6>>2]=0,g=e[l0>>2]|0,O0=N0,k0=0,G0=g,P0=f0):(O0=E0,k0=d0,G0=Z,P0=S0),U0=O0+k0|0,V0=k0+f0|0,e[c6>>2]=V0,e[o>>2]=U0,F0=G0<<2,z0=F0+7|0,J0=z0&-8,q0=J0+V0|0,Z0=(q0|0)>(P0|0),Z0?(H0=(O0|0)==0,H0||(s1=O0,Y0=M9(8)|0,i1=e[L3>>2]|0,o1=i1+V0|0,e[L3>>2]=o1,d1=e[S6>>2]|0,u1=Y0+4|0,e[u1>>2]=d1,e[Y0>>2]=s1,e[S6>>2]=Y0),e[C0>>2]=J0,m1=M9(J0)|0,e[b0>>2]=m1,e[c6>>2]=0,m=e[l0>>2]|0,h1=m1,A1=0,a1=m,V5=J0):(h1=O0,A1=V0,a1=G0,V5=P0),f1=h1+A1|0,g1=A1+J0|0,e[c6>>2]=g1,e[j0>>2]=f1,$1=(a1|0)>0;e:do if($1)for(E1=t+8|0,k1=g1,M1=V5,_1=h1,A9=0;;){if(I1=e[o0>>2]|0,Q1=I1+L0|0,p1=Q1<<2,B1=p1+7|0,w1=B1&-8,v1=w1+k1|0,L1=(v1|0)>(M1|0),L1?(R1=(_1|0)==0,R1||(F1=_1,U1=M9(8)|0,D1=e[L3>>2]|0,P1=D1+k1|0,e[L3>>2]=P1,Z1=e[S6>>2]|0,G1=U1+4|0,e[G1>>2]=Z1,e[U1>>2]=F1,e[S6>>2]=U1),e[C0>>2]=w1,x1=M9(w1)|0,e[b0>>2]=x1,e[c6>>2]=0,H1=x1,Y1=0):(H1=_1,Y1=k1),z1=H1+Y1|0,V1=Y1+w1|0,e[c6>>2]=V1,X1=e[j0>>2]|0,n2=X1+(A9<<2)|0,e[n2>>2]=z1,j1=e[j0>>2]|0,O1=j1+(A9<<2)|0,g2=e[O1>>2]|0,W1=e[E1>>2]|0,d2=W1+(A9<<2)|0,a2=e[d2>>2]|0,ce(g2|0,a2|0,p1|0)|0,K1=e[j0>>2]|0,h2=K1+(A9<<2)|0,l2=e[h2>>2]|0,i2=l2+(L0<<2)|0,c2=e[o>>2]|0,r2=c2+(A9<<2)|0,e[r2>>2]=i2,A2=A9+1|0,e2=e[l0>>2]|0,o2=(A2|0)<(e2|0),!o2)break e;I=e[c6>>2]|0,E=e[C0>>2]|0,Q=e[b0>>2]|0,k1=I,M1=E,_1=Q,A9=A2}while(!1);if(t2=e[m2>>2]|0,k2=(t2|0)==0,!k2&&(D2=e[V6>>2]|0,S2=(D2|0)<(t2|0),!S2))return e[m2>>2]=-1,Q2=o+44|0,e[Q2>>2]=1,$=1,$|0;if(N2=S5+4|0,L2=e[N2>>2]|0,U2=(L2|0)/2&-1,p2=h3-U2|0,W2=(p2|0)>0,!W2)return $=1,$|0;if(V2=e[R6>>2]|0,WS(V2,p2),G2=e[m3>>2]|0,q2=G2-p2|0,e[m3>>2]=q2,Z2=e[l0>>2]|0,A5=(Z2|0)>0,A5&&(H2=t+8|0,N1=e[H2>>2]|0,t5=e[N1>>2]|0,F5=t5+(p2<<2)|0,i5=q2<<2,nA(t5|0,F5|0,i5|0)|0,j2=e[l0>>2]|0,I5=(j2|0)>1,I5))for(g5=1;B=e[m3>>2]|0,b5=e[H2>>2]|0,Y5=b5+(g5<<2)|0,b2=e[Y5>>2]|0,B5=b2+(p2<<2)|0,s5=B<<2,nA(b2|0,B5|0,s5|0)|0,R2=g5+1|0,M2=e[l0>>2]|0,Q5=(R2|0)<(M2|0),Q5;)g5=R2;return T5=e[v>>2]|0,e[R3>>2]=T5,m5=e[d>>2]|0,e[v>>2]=m5,e[V6>>2]=U2,x5=e[m2>>2]|0,q5=(x5|0)==0,q5?(f3=(p2|0)<0,y3=f3<<31>>31,q3=x,X5=q3,b3=e[X5>>2]|0,t3=q3+4|0,s6=t3,T3=e[s6>>2]|0,H3=rs(b3|0,T3|0,p2|0,y3|0)|0,c3=j6,g3=x,u3=g3,e[u3>>2]=H3,z5=g3+4|0,H5=z5,e[H5>>2]=c3,$=1,$|0):(L5=x5-p2|0,Y2=(L5|0)<1,a=Y2?-1:L5,e[m2>>2]=a,p5=(a|0)>(U2|0),p5?(c5=(p2|0)<0,F2=c5<<31>>31,v5=x,J5=v5,i3=e[J5>>2]|0,E5=v5+4|0,d3=E5,K5=e[d3>>2]|0,r3=rs(i3|0,K5|0,p2|0,F2|0)|0,a3=j6,B3=x,N5=B3,e[N5>>2]=r3,W5=B3+4|0,D3=W5,e[D3>>2]=a3,$=1,$|0):($5=a+p2|0,u5=$5-U2|0,T1=(u5|0)<0,D5=T1<<31>>31,h5=x,l5=h5,X2=e[l5>>2]|0,u2=h5+4|0,w5=u2,r5=e[w5>>2]|0,a5=rs(X2|0,r5|0,u5|0,D5|0)|0,d5=j6,f5=x,n5=f5,e[n5>>2]=a5,M5=f5+4|0,e5=M5,e[e5>>2]=d5,$=1,$|0))}function PS(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0;if(n5=C,Q=o+28|0,B=e[Q>>2]|0,v1=(B|0)==0,v1||(Z1=B+8|0,O1=e[Z1>>2]|0,c2=(O1|0)<1,c2)||(N2=e[B>>2]|0,H2=(N2|0)<64,H2)||(b2=B+4|0,L5=e[b2>>2]|0,S=(L5|0)<(N2|0),S))return $=1,$|0;T=B+3656|0,o0=e[T>>2]|0,z2=t,M5=z2+112|0;do e[z2>>2]=0,z2=z2+4|0;while((z2|0)<(M5|0));g0=le(1,136)|0,w0=t+104|0,e[w0>>2]=g0,V0=t+4|0,e[V0>>2]=o,Y0=e[Z1>>2]|0,a1=Y0+-1|0,B1=O8(a1)|0,w1=g0+44|0,e[w1>>2]=B1,k1=le(1,4)|0,L1=g0+12|0,e[L1>>2]=k1,M1=le(1,4)|0,b1=g0+16|0,e[b1>>2]=M1,_1=le(1,20)|0,e[k1>>2]=_1,R1=le(1,20)|0,e[M1>>2]=R1,F1=e[B>>2]|0,U1=F1>>o0,pC(_1,U1),D1=e[b1>>2]|0,P1=e[D1>>2]|0,G1=e[b2>>2]|0,x1=G1>>o0,pC(P1,x1),z1=e[B>>2]|0,q1=O8(z1)|0,H1=q1+-7|0,Y1=g0+4|0,e[Y1>>2]=H1,V1=e[b2>>2]|0,X1=O8(V1)|0,n2=X1+-7|0,j1=g0+8|0,e[j1>>2]=n2,g2=(a|0)==0;e:do if(g2){if(y2=B+2848|0,Q5=e[y2>>2]|0,T5=(Q5|0)==0,T5&&(m5=B+24|0,x5=e[m5>>2]|0,q5=le(x5,56)|0,e[y2>>2]=q5,Y2=e[m5>>2]|0,p5=(Y2|0)>0,p5)){for(Q1=Y2,w5=0;;){if($5=(B+1824|0)+(w5<<2)|0,u5=e[$5>>2]|0,y5=(u5|0)==0,y5){T1=Q1;break}if(h5=e[y2>>2]|0,l5=h5+(w5*56|0)|0,X2=qb(l5,u5)|0,b=(X2|0)==0,!b){f5=20;break}if(v=e[$5>>2]|0,CC(v),e[$5>>2]=0,w=w5+1|0,D=e[m5>>2]|0,y=(w|0)<(D|0),y)Q1=D,w5=w;else break e}if((f5|0)==20&&(I=e[m5>>2]|0,T1=I),D5=(T1|0)>0,D5)for(p1=T1,d5=0;A1=(B+1824|0)+(d5<<2)|0,g1=e[A1>>2]|0,$1=(g1|0)==0,$1?I1=p1:(CC(g1),e[A1>>2]=0,E=e[m5>>2]|0,I1=E),j0=d5+1|0,E1=(j0|0)<(I1|0),E1;)p1=I1,d5=j0;return sQ(t),$=-1,$|0}}else{if(W1=g0+20|0,d2=e[B>>2]|0,yQ(W1,d2),s2=g0+32|0,C2=e[b2>>2]|0,yQ(s2,C2),a2=B+2848|0,K1=e[a2>>2]|0,h2=(K1|0)==0,h2&&(l2=B+24|0,i2=e[l2>>2]|0,r2=le(i2,56)|0,e[a2>>2]=r2,A2=e[l2>>2]|0,e2=(A2|0)>0,e2&&(o2=B+1824|0,m2=e[o2>>2]|0,QQ(r2,m2)|0,t2=e[l2>>2]|0,k2=(t2|0)>1,k2)))for(S2=1;g=e[a2>>2]|0,D2=g+(S2*56|0)|0,Q2=(B+1824|0)+(S2<<2)|0,L2=e[Q2>>2]|0,QQ(D2,L2)|0,U2=S2+1|0,p2=e[l2>>2]|0,W2=(U2|0)<(p2|0),W2;)S2=U2;P2=B+28|0,V2=e[P2>>2]|0,G2=le(V2,52)|0,q2=g0+56|0,e[q2>>2]=G2,Z2=e[P2>>2]|0,A5=(Z2|0)>0;t:do if(A5)for(N1=B+2868|0,t5=o+8|0,i5=G2,u2=0;;){if(F5=i5+(u2*52|0)|0,_5=(B+2852|0)+(u2<<2)|0,j2=e[_5>>2]|0,I5=e[j2>>2]|0,b5=B+(I5<<2)|0,Y5=e[b5>>2]|0,g5=(Y5|0)/2&-1,B5=e[t5>>2]|0,Bb(F5,j2,N1,g5,B5),s5=u2+1|0,R2=e[P2>>2]|0,M2=(s5|0)<(R2|0),!M2)break t;d=e[q2>>2]|0,i5=d,u2=s5}while(!1);e[t>>2]=1}while(!1);if(x=e[b2>>2]|0,M=t+16|0,e[M>>2]=x,L=o+4|0,R=e[L>>2]|0,F=R<<2,N=M9(F)|0,G=t+8|0,e[G>>2]=N,V=M9(F)|0,e0=t+12|0,e[e0>>2]=V,K=(R|0)>0,K&&(a0=le(x,4)|0,e[N>>2]=a0,W=(R|0)>1,W))for(J=1;m=e[G>>2]|0,r0=le(x,4)|0,s0=m+(J<<2)|0,e[s0>>2]=r0,H=J+1|0,h0=(H|0)<(R|0),h0;)J=H;if(i0=t+36|0,e[i0>>2]=0,j=t+40|0,e[j>>2]=0,u0=e[b2>>2]|0,c0=(u0|0)/2&-1,$0=t+48|0,e[$0>>2]=c0,l0=t+20|0,e[l0>>2]=c0,Z=B+16|0,I0=e[Z>>2]|0,f0=le(I0,4)|0,n0=g0+48|0,e[n0>>2]=f0,d0=B+20|0,p0=e[d0>>2]|0,C0=le(p0,4)|0,S0=g0+52|0,e[S0>>2]=C0,Q0=e[Z>>2]|0,b0=(Q0|0)>0,b0)for(r5=0;B0=(B+800|0)+(r5<<2)|0,_0=e[B0>>2]|0,K0=25640+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0+8|0,T0=e[v0>>2]|0,N0=(B+1056|0)+(r5<<2)|0,U0=e[N0>>2]|0,O0=mi[T0&15](t,U0)|0,k0=e[n0>>2]|0,F0=k0+(r5<<2)|0,e[F0>>2]=O0,L0=r5+1|0,G0=e[Z>>2]|0,z0=(L0|0)<(G0|0),z0;)r5=L0;if(E0=e[d0>>2]|0,y0=(E0|0)>0,y0)a5=0;else return $=0,$|0;for(;;)if(J0=(B+1312|0)+(a5<<2)|0,q0=e[J0>>2]|0,Z0=25648+(q0<<2)|0,P0=e[Z0>>2]|0,H0=P0+8|0,s1=e[H0>>2]|0,i1=(B+1568|0)+(a5<<2)|0,x0=e[i1>>2]|0,o1=mi[s1&15](t,x0)|0,d1=e[S0>>2]|0,u1=d1+(a5<<2)|0,e[u1>>2]=o1,m1=a5+1|0,f1=e[d0>>2]|0,h1=(m1|0)<(f1|0),h1)a5=m1;else{$=0;break}return $|0}function $Q(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,C=C+64|0,g=M0,d=t+20|0,y=e[d>>2]|0,K=y<<2,o=K,u0=C,C=C+((1*o|0)+15&-16)|0,C0=t+28|0,e[C0>>2]=1,Q0=t+48|0,b0=e[Q0>>2]|0,E0=y-b0|0,y0=(E0|0)>32,!y0){C=M0;return}if(m=t+4|0,I=e[m>>2]|0,E=I+4|0,Q=e[E>>2]|0,B=(Q|0)>0,!B){C=M0;return}for(S=t+8|0,b=y,w0=0;;){if(v=(b|0)>0,v)for(w=e[S>>2]|0,D=w+(w0<<2)|0,x=e[D>>2]|0,B0=0;M=B0^-1,L=b+M|0,R=x+(L<<2)|0,F=e[R>>2]|0,T=u0+(B0<<2)|0,e[T>>2]=F,N=B0+1|0,G=(b|0)>(N|0),G;)B0=N;if(V=e[Q0>>2]|0,e0=b-V|0,+lQ(u0,g,e0,16),a0=e[d>>2]|0,W=e[Q0>>2]|0,a=a0-W|0,r0=u0+(a<<2)|0,$=a+-16|0,s0=u0+($<<2)|0,cQ(g,s0,16,r0,W),J=e[d>>2]|0,o0=(J|0)>0,o0)for(H=e[S>>2]|0,h0=H+(w0<<2)|0,i0=e[h0>>2]|0,_0=0;j=u0+(_0<<2)|0,c0=e[j>>2]|0,$0=_0^-1,l0=J+$0|0,Z=i0+(l0<<2)|0,e[Z>>2]=c0,I0=_0+1|0,g0=(J|0)>(I0|0),g0;)_0=I0;if(f0=w0+1|0,n0=e[m>>2]|0,d0=n0+4|0,p0=e[d0>>2]|0,S0=(f0|0)<(p0|0),S0)b=J,w0=f0;else break}C=M0}function OS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0;A2=C,O2(o,5653314,24),m=e[t>>2]|0,O2(o,m,16),I=t+4|0,G=e[I>>2]|0,O2(o,G,24),h0=e[I>>2]|0,n0=(h0|0)>1;e:do if(n0)for(_0=t+8|0,L0=e[_0>>2]|0,g=f[L0>>0]|0,x0=g,O1=1;;){if(j0=x0<<24>>24==0,j0){j1=O1;break e}if(b1=L0+O1|0,E=f[b1>>0]|0,D=E<<24>>24>24,D){j1=O1;break e}if(y=O1+1|0,x=(y|0)<(h0|0),x)x0=E,O1=y;else{j1=y;break}}else j1=1;while(!1);M=(j1|0)==(h0|0);e:do if(M){if(O2(o,1,1),L=t+8|0,R=e[L>>2]|0,F=f[R>>0]|0,T=F<<24>>24,N=T+-1|0,O2(o,N,5),V=e[I>>2]|0,e0=(V|0)>1,e0)for(w=V,H1=0,W1=1;;){if(K=e[L>>2]|0,a0=K+W1|0,W=f[a0>>0]|0,r0=W1+-1|0,s0=K+r0|0,J=f[s0>>0]|0,o0=W<<24>>24>J<<24>>24,o0)for(H=J<<24>>24,i0=W<<24>>24,c0=w,Y1=H1,l2=H;;)if(j=W1-Y1|0,u0=c0-Y1|0,$0=O8(u0)|0,O2(o,j,$0),l0=l2+1|0,n2=(l0|0)==(i0|0),d=e[I>>2]|0,n2){g0=d,V1=W1;break}else c0=d,Y1=W1,l2=l0;else g0=w,V1=H1;if(Z=W1+1|0,I0=(Z|0)<(g0|0),I0)w=g0,H1=V1,W1=Z;else{$=g0,q1=V1,g2=Z;break}}else $=V,q1=0,g2=1;f0=g2-q1|0,d0=$-q1|0,p0=O8(d0)|0,O2(o,f0,p0)}else{O2(o,0,1),C0=e[I>>2]|0,S0=(C0|0)>0;t:do if(S0)for(Q0=t+8|0,b0=e[Q0>>2]|0,s2=0;;){if(E0=b0+s2|0,y0=f[E0>>0]|0,w0=y0<<24>>24==0,w0){d2=s2;break t}if(B0=s2+1|0,K0=(B0|0)<(C0|0),K0)s2=B0;else{d2=B0;break}}else d2=0;while(!1);if(M0=(d2|0)==(C0|0),M0){if(O2(o,0,1),v0=e[I>>2]|0,T0=(v0|0)>0,!T0)break;for(N0=t+8|0,C2=0;;)if(U0=e[N0>>2]|0,O0=U0+C2|0,k0=f[O0>>0]|0,V0=k0<<24>>24,F0=V0+-1|0,O2(o,F0,5),G0=C2+1|0,z0=e[I>>2]|0,J0=(G0|0)<(z0|0),J0)C2=G0;else break e}if(O2(o,1,1),q0=e[I>>2]|0,Z0=(q0|0)>0,Z0)for(P0=t+8|0,a2=0;H0=e[P0>>2]|0,s1=H0+a2|0,Y0=f[s1>>0]|0,i1=Y0<<24>>24==0,i1?O2(o,0,1):(O2(o,1,1),o1=e[P0>>2]|0,d1=o1+a2|0,u1=f[d1>>0]|0,m1=u1<<24>>24,f1=m1+-1|0,O2(o,f1,5)),h1=a2+1|0,A1=e[I>>2]|0,g1=(h1|0)<(A1|0),g1;)a2=h1}while(!1);if(a1=t+12|0,$1=e[a1>>2]|0,O2(o,$1,4),E1=e[a1>>2]|0,(E1|0)==2|(E1|0)==1)r2=28;else if(E1|0)return a=-1,a|0;do if((r2|0)==28){if(I1=t+32|0,Q1=e[I1>>2]|0,p1=(Q1|0)==0,p1)return a=-1,a|0;if(B1=t+16|0,w1=e[B1>>2]|0,O2(o,w1,32),v1=t+20|0,k1=e[v1>>2]|0,O2(o,k1,32),L1=t+24|0,M1=e[L1>>2]|0,_1=M1+-1|0,O2(o,_1,4),R1=t+28|0,F1=e[R1>>2]|0,O2(o,F1,1),U1=e[a1>>2]|0,(U1|0)==1)D1=Ub(t)|0,c2=D1;else if((U1|0)==2)P1=e[I>>2]|0,Z1=e[t>>2]|0,G1=o5(Z1,P1)|0,c2=G1;else break;if(x1=(c2|0)>0,x1)for(K1=0;z1=e[I1>>2]|0,Q=z1+(K1<<2)|0,B=e[Q>>2]|0,h2=(B|0)>-1,i2=0-B|0,S=h2?B:i2,b=e[L1>>2]|0,O2(o,S,b),v=K1+1|0,X1=(v|0)==(c2|0),!X1;)K1=v}while(!1);return a=0,a|0}function Fu(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0;return e0=C,g=(o|0)<0,g||(d=t+12|0,y=e[d>>2]|0,M=y+4|0,L=e[M>>2]|0,R=(L|0)>(o|0),!R)?($=0,$|0):(F=t+20|0,T=e[F>>2]|0,N=T+(o<<2)|0,G=e[N>>2]|0,m=y+8|0,I=e[m>>2]|0,E=I+o|0,Q=f[E>>0]|0,B=Q<<24>>24,O2(a,G,B),S=e[d>>2]|0,b=S+8|0,v=e[b>>2]|0,w=v+o|0,D=f[w>>0]|0,x=D<<24>>24,$=x,$|0)}function tE(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0;return v=C,$=t+8|0,g=e[$>>2]|0,d=(g|0)>0,!d||(m=Tu(t,o)|0,I=(m|0)>-1,!I)?(a=-1,a|0):(E=t+24|0,Q=e[E>>2]|0,B=Q+(m<<2)|0,S=e[B>>2]|0,a=S,a|0)}function qS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0;if(n0=C,E=t+8|0,Q=e[E>>2]|0,R=(Q|0)>0,!R)return g=0,C=n0,g|0;s0=e[t>>2]|0,o0=($|0)/(s0|0)&-1,H=o0<<2,d=H,h0=C,C=C+((1*d|0)+15&-16)|0,i0=(o0|0)>0;e:do if(i0){for(j=t+16|0,l0=0;;){if(N=Tu(t,a)|0,G=(N|0)==-1,G){g=-1;break}if(V=e[j>>2]|0,e0=e[t>>2]|0,K=o5(e0,N)|0,a0=V+(K<<2)|0,W=h0+(l0<<2)|0,e[W>>2]=a0,r0=l0+1|0,J=(r0|0)<(o0|0),J)l0=r0;else{u0=e0;break e}}return C=n0,g|0}else u0=s0;while(!1);if(m=(u0|0)<1,I=i0^1,c0=m|I,c0)return g=0,C=n0,g|0;for(Z=0,g0=0;;){for(I0=0;v=h0+(I0<<2)|0,w=e[v>>2]|0,D=w+(Z<<2)|0,y=+s[D>>2],x=I0+g0|0,M=o+(x<<2)|0,L=+s[M>>2],F=L+y,s[M>>2]=F,T=I0+1|0,$0=(T|0)==(o0|0),!$0;)I0=T;if(B=Z+1|0,S=g0+o0|0,b=(B|0)<(u0|0),b)Z=B,g0=S;else{g=0;break}}return C=n0,g|0}function HS(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0;if(t5=C,K=t+8|0,a0=e[K>>2]|0,f0=(a0|0)>0,!f0)return g=0,g|0;if(B0=e[t>>2]|0,F0=(B0|0)>8,F0){if(M1=($|0)>0,!M1)return g=0,g|0;for(z1=t+16|0,e2=0;;){if(i0=Tu(t,a)|0,j=(i0|0)==-1,j){g=-1,N1=29;break}if(u0=e[z1>>2]|0,c0=e[t>>2]|0,$0=o5(c0,i0)|0,l0=(c0|0)>0,l0){for(Z=(c0|0)>1,H2=Z?c0:1,m2=e2,p2=0;I0=p2+1|0,e0=p2+$0|0,g0=u0+(e0<<2)|0,n0=+s[g0>>2],d0=m2+1|0,p0=o+(m2<<2)|0,C0=+s[p0>>2],S0=C0+n0,s[p0>>2]=S0,Q0=(I0|0)<(c0|0),Q0;)m2=d0,p2=I0;d2=e2+H2|0,o2=d2}else o2=e2;if(W=(o2|0)<($|0),W)e2=o2;else{g=0,N1=29;break}}if((N1|0)==29)return g|0}if(i1=t+16|0,$1=($|0)>0,$1)t2=0;else return g=0,g|0;e:for(;;){t:for(;;){if(J=Tu(t,a)|0,o0=(J|0)==-1,o0){g=-1,N1=29;break e}switch(H=e[i1>>2]|0,h0=e[t>>2]|0,h0|0){case 4:{B=J,y=H,N1=19;break t}case 3:{S=J,x=H,N1=21;break t}case 7:{I=J,v=H,N1=13;break t}case 6:{E=J,w=H,N1=15;break t}case 8:{d=H,m=J,N1=12;break t}case 5:{Q=J,D=H,N1=17;break t}case 1:{K1=J,l2=H,U2=t2,A5=0;break t}case 2:{b=J,M=H,N1=23;break t}default:}}if((N1|0)==12?(N1=0,b0=m<<3,E0=d+(b0<<2)|0,y0=+s[E0>>2],w0=t2+1|0,_0=o+(t2<<2)|0,K0=+s[_0>>2],M0=K0+y0,s[_0>>2]=M0,N0=b0,O0=d,k2=w0,W2=1,N1=14):(N1|0)==13?(N1=0,v0=I*7|0,N0=v0,O0=v,k2=t2,W2=0,N1=14):(N1|0)==15?(N1=0,J0=E*6|0,Z0=J0,H0=w,D2=t2,P2=0,N1=16):(N1|0)==17?(N1=0,u1=Q*5|0,f1=u1,A1=D,S2=t2,V2=0,N1=18):(N1|0)==19?(N1=0,Q1=B<<2,B1=Q1,v1=y,Q2=t2,G2=0,N1=20):(N1|0)==21?(N1=0,F1=S*3|0,D1=F1,Z1=x,N2=t2,q2=0,N1=22):(N1|0)==23&&(N1=0,V1=b<<1,n2=V1,O1=M,L2=t2,Z2=0,N1=24),(N1|0)==14&&(N1=0,T0=W2+1|0,V=W2+N0|0,U0=O0+(V<<2)|0,k0=+s[U0>>2],V0=k2+1|0,L0=o+(k2<<2)|0,G0=+s[L0>>2],z0=G0+k0,s[L0>>2]=z0,Z0=N0,H0=O0,D2=V0,P2=T0,N1=16),(N1|0)==16&&(N1=0,q0=P2+1|0,G=P2+Z0|0,P0=H0+(G<<2)|0,s1=+s[P0>>2],Y0=D2+1|0,x0=o+(D2<<2)|0,o1=+s[x0>>2],d1=o1+s1,s[x0>>2]=d1,f1=Z0,A1=H0,S2=Y0,V2=q0,N1=18),(N1|0)==18&&(N1=0,m1=V2+1|0,N=V2+f1|0,h1=A1+(N<<2)|0,g1=+s[h1>>2],a1=S2+1|0,j0=o+(S2<<2)|0,E1=+s[j0>>2],I1=E1+g1,s[j0>>2]=I1,B1=f1,v1=A1,Q2=a1,G2=m1,N1=20),(N1|0)==20&&(N1=0,p1=G2+1|0,T=G2+B1|0,w1=v1+(T<<2)|0,k1=+s[w1>>2],L1=Q2+1|0,b1=o+(Q2<<2)|0,_1=+s[b1>>2],R1=_1+k1,s[b1>>2]=R1,D1=B1,Z1=v1,N2=L1,q2=p1,N1=22),(N1|0)==22&&(N1=0,U1=q2+1|0,F=q2+D1|0,P1=Z1+(F<<2)|0,G1=+s[P1>>2],x1=N2+1|0,q1=o+(N2<<2)|0,H1=+s[q1>>2],Y1=H1+G1,s[q1>>2]=Y1,n2=D1,O1=Z1,L2=x1,Z2=U1,N1=24),(N1|0)==24&&(N1=0,X1=Z2+1|0,R=Z2+n2|0,j1=O1+(R<<2)|0,g2=+s[j1>>2],W1=L2+1|0,s2=o+(L2<<2)|0,C2=+s[s2>>2],a2=C2+g2,s[s2>>2]=a2,K1=n2,l2=O1,U2=W1,A5=X1),L=A5+K1|0,h2=l2+(L<<2)|0,i2=+s[h2>>2],c2=U2+1|0,r2=o+(U2<<2)|0,A2=+s[r2>>2],r0=A2+i2,s[r2>>2]=r0,s0=(c2|0)<($|0),s0)t2=c2;else{g=0,N1=29;break}}return(N1|0)==29?g|0:0}function YS(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0;if(f0=C,B=t+8|0,S=e[B>>2]|0,T=(S|0)>0,!T||(r0=(a|0)/($|0)&-1,s0=d+a|0,J=(s0|0)/($|0)&-1,o0=(r0|0)<(J|0),!o0))return I=0,I|0;for(H=t+16|0,j=0,$0=r0;;){if(i0=Tu(t,g)|0,b=(i0|0)==-1,b){I=-1,g0=8;break}if(v=e[H>>2]|0,w=e[t>>2]|0,D=o5(w,i0)|0,y=(w|0)>0,y)for(c0=j,Z=$0,I0=0;;)if(Q=I0+D|0,x=v+(Q<<2)|0,M=+s[x>>2],L=c0+1|0,R=o+(c0<<2)|0,F=e[R>>2]|0,N=F+(Z<<2)|0,G=+s[N>>2],V=G+M,s[N>>2]=V,e0=(L|0)==($|0),K=e0&1,E=K+Z|0,m=e0?0:L,a0=I0+1|0,W=(a0|0)<(w|0),W)c0=m,Z=E,I0=a0;else{u0=m,l0=E;break}else u0=j,l0=$0;if(h0=(l0|0)<(J|0),h0)j=u0,$0=l0;else{I=0,g0=8;break}}return(g0|0)==8?I|0:0}function Tu(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0;I1=C,g=t+40|0,d=e[g>>2]|0,y=t+36|0,K=e[y>>2]|0,u0=dC(o,K)|0,C0=(u0|0)>-1;do if(C0){if(v0=t+32|0,J0=e[v0>>2]|0,d1=J0+(u0<<2)|0,u1=e[d1>>2]|0,m=(u1|0)<0,m){I=u1>>>15,E=I&32767,Q=t+8|0,B=e[Q>>2]|0,S=u1&32767,b=B-S|0,m1=b,h1=E;break}return v=u1+-1|0,w=t+28|0,D=e[w>>2]|0,x=D+v|0,M=f[x>>0]|0,L=M<<24>>24,fC(o,L),a=v,a|0}else R=t+8|0,F=e[R>>2]|0,m1=F,h1=0;while(!1);if(T=dC(o,d)|0,N=(T|0)<0,G=(d|0)>1,V=N&G,V)for(j0=d;;)if(e0=j0+-1|0,a0=dC(o,e0)|0,W=(a0|0)<0,r0=(e0|0)>1,s0=W&r0,s0)j0=e0;else{$=W,a1=a0,$1=e0;break}else $=N,a1=T,$1=d;if($)return a=-1,a|0;if(J=a1>>>16,o0=a1<<16,H=J|o0,h0=H>>>8,i0=h0&16711935,j=H<<8,c0=j&-16711936,$0=i0|c0,l0=$0>>>4,Z=l0&252645135,I0=$0<<4,g0=I0&-252645136,f0=Z|g0,n0=f0>>>2,d0=n0&858993459,p0=f0<<2,S0=p0&-858993460,Q0=d0|S0,b0=Q0>>>1,E0=b0&1431655765,y0=Q0<<1,w0=y0&-1431655766,B0=E0|w0,_0=m1-h1|0,K0=(_0|0)>1,K0)for(M0=t+20|0,T0=e[M0>>2]|0,U0=_0,f1=m1,g1=h1;;)if(N0=U0>>1,O0=N0+g1|0,k0=T0+(O0<<2)|0,V0=e[k0>>2]|0,F0=V0>>>0>B0>>>0,L0=F0?0:N0,G0=L0+g1|0,z0=F0?N0:0,q0=f1-z0|0,Z0=q0-G0|0,P0=(Z0|0)>1,P0)U0=Z0,f1=q0,g1=G0;else{A1=G0;break}else A1=h1;return H0=t+28|0,s1=e[H0>>2]|0,Y0=s1+A1|0,i1=f[Y0>>0]|0,x0=i1<<24>>24,o1=(x0|0)>($1|0),o1?(fC(o,$1),a=-1,a|0):(fC(o,x0),a=A1,a|0)}function VS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0;for(d1=C,Q=o+28|0,B=e[Q>>2]|0,F=o+4|0,J=e[F>>2]|0,I0=t+4|0,e[I0>>2]=128,y0=t+8|0,e[y0>>2]=64,k0=B+2932|0,J0=e[k0>>2]|0,q0=t+12|0,e[q0>>2]=J0,e[t>>2]=J,Z0=t+164|0,e[Z0>>2]=128,S=B+4|0,b=e[S>>2]|0,v=(b|0)/2&-1,w=t+176|0,e[w>>2]=v,D=le(128,4)|0,y=t+36|0,e[y>>2]=D,x=t+16|0,pC(x,128),M=e[y>>2]|0,Y0=0;L=+(Y0|0),R=L*.024736950028266088,T=+Hn(+R),N=T,G=M+(Y0<<2)|0,V=N*N,s[G>>2]=V,e0=Y0+1|0,s1=(e0|0)==128,!s1;)Y0=e0;for(K=t+40|0,e[K>>2]=2,a0=t+44|0,e[a0>>2]=4,W=t+56|0,e[W>>2]=4,r0=t+60|0,e[r0>>2]=5,s0=t+72|0,e[s0>>2]=6,o0=t+76|0,e[o0>>2]=6,H=t+88|0,e[H>>2]=9,h0=t+92|0,e[h0>>2]=8,i0=t+104|0,e[i0>>2]=13,j=t+108|0,e[j>>2]=8,u0=t+120|0,e[u0>>2]=17,c0=t+124|0,e[c0>>2]=8,$0=t+136|0,e[$0>>2]=22,l0=t+140|0,e[l0>>2]=8,g0=4,x0=0;;){if(Z=g0<<2,f0=M9(Z)|0,n0=((t+40|0)+(x0<<4)|0)+8|0,e[n0>>2]=f0,d0=(g0|0)>0,d0){for(p0=+(g0|0),C0=((t+40|0)+(x0<<4)|0)+12|0,E=+s[C0>>2],M0=E,i1=0;;)if(S0=+(i1|0),Q0=S0+.5,b0=Q0/p0,E0=b0*3.141592653589793,w0=+Hn(+E0),B0=w0,_0=f0+(i1<<2)|0,s[_0>>2]=B0,K0=M0+B0,v0=i1+1|0,P0=(v0|0)==(g0|0),P0){a=K0;break}else M0=K0,i1=v0;s[C0>>2]=a,m=C0,N0=a}else g=((t+40|0)+(x0<<4)|0)+12|0,I=+s[g>>2],m=g,N0=I;if(T0=1/N0,s[m>>2]=T0,U0=x0+1|0,H0=(U0|0)==7,H0)break;$=((t+40|0)+(U0<<4)|0)+4|0,d=e[$>>2]|0,g0=d,x0=U0}O0=J*7|0,V0=le(O0,144)|0,F0=t+152|0,e[F0>>2]=V0,L0=e[Z0>>2]|0,G0=le(L0,4)|0,z0=t+160|0,e[z0>>2]=G0}function JS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;N=C,o=t+16|0,EC(o),a=t+48|0,v=e[a>>2]|0,E2(v),D=t+64|0,y=e[D>>2]|0,E2(y),x=t+80|0,M=e[x>>2]|0,E2(M),L=t+96|0,R=e[L>>2]|0,E2(R),F=t+112|0,$=e[F>>2]|0,E2($),g=t+128|0,d=e[g>>2]|0,E2(d),m=t+144|0,I=e[m>>2]|0,E2(I),E=t+36|0,Q=e[E>>2]|0,E2(Q),B=t+152|0,S=e[B>>2]|0,E2(S),b=t+160|0,w=e[b>>2]|0,E2(w),g4(t|0,0,180)|0}function zS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,d=t+4|0,m=e[d>>2]|0,R=m+28|0,s0=e[R>>2]|0,Z=s0+2868|0,E0=t+104|0,O0=e[E0>>2]|0,H0=e[O0>>2]|0,A1=H0+168|0,v1=e[A1>>2]|0,I=H0+8|0,S=e[I>>2]|0,b=(v1|0)/(S|0)&-1,v=t+20|0,w=e[v>>2]|0,D=(w|0)/(S|0)&-1,y=D+-4|0,x=(b|0)<0,o=x?0:b,M=D+2|0,L=H0+164|0,F=e[L>>2]|0,T=(M|0)>(F|0),T&&(e[L>>2]=M,N=H0+160|0,G=e[N>>2]|0,V=M<<2,e0=J7(G,V)|0,e[N>>2]=e0),K=(o|0)<(y|0),K)for(a0=H0+156|0,W=H0+160|0,r0=t+8|0,J=H0+40|0,o0=H0+152|0,x1=o;;){if(H=e[a0>>2]|0,h0=H+1|0,i0=(H|0)>23,$=i0?24:h0,e[a0>>2]=$,j=e[H0>>2]|0,u0=(j|0)>0,u0){for(G1=0,Y1=0;;)if(I0=e[r0>>2]|0,g0=I0+(G1<<2)|0,f0=e[g0>>2]|0,n0=e[I>>2]|0,d0=o5(n0,x1)|0,p0=f0+(d0<<2)|0,C0=e[o0>>2]|0,S0=G1*7|0,Q0=C0+(S0*144|0)|0,b0=ZS(H0,Z,p0,J,Q0)|0,y0=b0|Y1,w0=G1+1|0,B0=e[H0>>2]|0,_0=(w0|0)<(B0|0),_0)G1=w0,Y1=y0;else{g=y0;break}K0=x1+2|0,M0=e[W>>2]|0,v0=M0+(K0<<2)|0,e[v0>>2]=0,T0=g&1,N0=(T0|0)==0,N0||(U0=M0+(x1<<2)|0,e[U0>>2]=1,k0=x1+1|0,V0=M0+(k0<<2)|0,e[V0>>2]=1),F0=g&2,L0=(F0|0)==0,L0||(G0=M0+(x1<<2)|0,e[G0>>2]=1,z0=(x1|0)>0,z0&&(J0=x1+-1|0,q0=M0+(J0<<2)|0,e[q0>>2]=1)),Z0=g&4,P0=(Z0|0)==0,P0||(e[a0>>2]=-1)}else c0=x1+2|0,$0=e[W>>2]|0,l0=$0+(c0<<2)|0,e[l0>>2]=0;if(s1=x1+1|0,Z1=(s1|0)==(y|0),Z1)break;x1=s1}if(Y0=e[I>>2]|0,i1=o5(Y0,y)|0,e[A1>>2]=i1,x0=t+48|0,o1=e[x0>>2]|0,d1=t+40|0,u1=e[d1>>2]|0,m1=s0+(u1<<2)|0,f1=e[m1>>2]|0,h1=(f1|0)/4&-1,g1=h1+o1|0,a1=s0+4|0,$1=e[a1>>2]|0,j0=($1|0)/2&-1,E1=g1+j0|0,I1=e[s0>>2]|0,Q1=(I1|0)/4&-1,p1=E1+Q1|0,B1=H0+176|0,w1=e[B1>>2]|0,k1=i1-Y0|0,L1=(w1|0)<(k1|0),!L1)return a=-1,a|0;for(M1=H0+160|0,z1=w1;;){if(R1=(z1|0)<(p1|0),!R1){a=1,V1=22;break}if(e[B1>>2]=z1,F1=(z1|0)/(Y0|0)&-1,U1=e[M1>>2]|0,D1=U1+(F1<<2)|0,P1=e[D1>>2]|0,E=(P1|0)!=0,Q=(z1|0)>(o1|0),H1=Q&E,b1=Y0+z1|0,H1){q1=z1,V1=21;break}if(_1=(b1|0)<(k1|0),_1)z1=b1;else{a=-1,V1=22;break}}return(V1|0)==21?(B=H0+172|0,e[B>>2]=q1,a=0,a|0):(V1|0)==22?a|0:0}function KS(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0;if(y0=C,g=t+104|0,d=e[g>>2]|0,y=e[d>>2]|0,K=t+4|0,u0=e[K>>2]|0,g0=u0+28|0,f0=e[g0>>2]|0,n0=t+48|0,d0=e[n0>>2]|0,p0=t+40|0,m=e[p0>>2]|0,I=f0+(m<<2)|0,E=e[I>>2]|0,Q=(E|0)/4&-1,B=d0-Q|0,S=Q+d0|0,b=(m|0)==0,b?(G=e[f0>>2]|0,V=(G|0)/4&-1,a=V,$=V):(v=t+36|0,w=e[v>>2]|0,D=f0+(w<<2)|0,x=e[D>>2]|0,M=(x|0)/4&-1,L=t+44|0,R=e[L>>2]|0,F=f0+(R<<2)|0,T=e[F>>2]|0,N=(T|0)/4&-1,a=N,$=M),C0=B-$|0,S0=S+a|0,e0=y+172|0,a0=e[e0>>2]|0,W=(a0|0)>=(C0|0),r0=(a0|0)<(S0|0),b0=W&r0,b0)return o=1,o|0;if(s0=y+8|0,J=e[s0>>2]|0,o0=(C0|0)/(J|0)&-1,H=(S0|0)/(J|0)&-1,h0=(o0|0)<(H|0),!h0)return o=0,o|0;for(i0=y+160|0,j=e[i0>>2]|0,Q0=o0;;){if(l0=j+(Q0<<2)|0,Z=e[l0>>2]|0,I0=(Z|0)==0,c0=Q0+1|0,!I0){o=1,E0=9;break}if($0=(c0|0)<(H|0),$0)Q0=c0;else{o=0,E0=9;break}}return(E0|0)==9?o|0:0}function WS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,a=t+168|0,$=e[a>>2]|0,w=t+8|0,y=e[w>>2]|0,x=($|0)/(y|0)&-1,M=x+2|0,L=(o|0)/(y|0)&-1,R=t+160|0,F=e[R>>2]|0,T=F+(L<<2)|0,g=M-L|0,d=g<<2,nA(F|0,T|0,d|0)|0,m=e[a>>2]|0,I=m-o|0,e[a>>2]=I,E=t+172|0,Q=e[E>>2]|0,B=(Q|0)>-1,!B){b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D;return}S=Q-o|0,e[E>>2]=S,b=t+176|0,v=e[b>>2]|0,D=v-o|0,e[b>>2]=D}function ZS(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0;if(m3=C,K=t+4|0,a0=e[K>>2]|0,c2=t+12|0,N2=+s[c2>>2],H2=a0<<2,x=H2,b2=C,C=C+((1*x|0)+15&-16)|0,L5=t+156|0,u2=e[L5>>2]|0,F2=(u2|0)>5,N5=(u2|0)/2&-1,d=F2?N5:2,W=o+60|0,$0=+s[W>>2],Q0=N5+-2|0,N0=+(Q0|0),Z0=$0-N0,f1=Z0<0,E6=f1?0:Z0,B1=E6>$0,k3=B1?$0:E6,D1=(a0|0)>0,D1)for(n2=t+36|0,l2=e[n2>>2]|0,V5=0;r2=a+(V5<<2)|0,A2=+s[r2>>2],e2=l2+(V5<<2)|0,o2=+s[e2>>2],m2=o2*A2,t2=b2+(V5<<2)|0,s[t2>>2]=m2,k2=V5+1|0,Q3=(k2|0)==(a0|0),!Q3;)V5=k2;D2=t+16|0,gQ(D2,b2,b2),S2=+s[b2>>2],Q2=S2*S2,L2=Q2,U2=b2+4|0,p2=+s[U2>>2],W2=p2,P2=W2*W2,V2=P2*.7,G2=V2+L2,q2=b2+8|0,Z2=+s[q2>>2],A5=Z2,N1=A5*A5,t5=N1*.2,F5=G2+t5,i5=F5,_5=g+140|0,j2=e[_5>>2]|0,I5=(j2|0)==0,I5?(b5=g+136|0,Y5=+s[b5>>2],g5=Y5+i5,B5=g+132|0,s[B5>>2]=g5,s[b5>>2]=i5,T=B5,Y2=g5):(s5=g+132|0,R2=+s[s5>>2],M2=R2+i5,s[s5>>2]=M2,y2=g+136|0,Q5=+s[y2>>2],T5=Q5+i5,s[y2>>2]=T5,T=s5,Y2=M2),m5=(g+72|0)+(j2<<2)|0,x5=+s[m5>>2],q5=Y2-x5,s[T>>2]=q5,s[m5>>2]=i5,p5=e[_5>>2]|0,$5=p5+1|0,u5=(p5|0)>13,m=u5?0:$5,e[_5>>2]=m,y5=(a0|0)/2&-1,T1=(a0|0)>1;e:do if(T1)for(D5=Y2*.0625,h5=(s[w2>>2]=D5,e[w2>>2]|0),l5=h5&2147483647,X2=+(l5>>>0),w5=X2*7177114298428933e-22,r5=w5+-764.6162109375,a5=r5,d5=a5*.5,z2=d5+-15,f5=z2,M=f5,T0=S2,S5=0;;){if(v0=T0*T0,U0=S5|1,O0=b2+(U0<<2)|0,k0=+s[O0>>2],V0=k0*k0,F0=V0+v0,L0=(s[w2>>2]=F0,e[w2>>2]|0),G0=L0&2147483647,z0=+(G0>>>0),J0=z0*35885571492144663e-23,q0=J0+-382.30810546875,P0=q0>1,Y0=b2+(s1<<2)|0,s[Y0>>2]=e0,i1=S5+2|0,x0=(i1|0)<(y5|0),!x0)break e;o1=M+-8,R=b2+(i1<<2)|0,F=+s[R>>2],M=o1,T0=F,S5=i1}while(!1);if(n5=(d|0)>0,n5)l3=0,V3=0;else{for(n3=0,i6=0;;){if(d1=($+(n3<<4)|0)+4|0,u1=e[d1>>2]|0,m1=(u1|0)>0,m1)for(h1=$+(n3<<4)|0,A1=e[h1>>2]|0,g1=($+(n3<<4)|0)+8|0,a1=e[g1>>2]|0,c3=0,Y3=0;;)if($1=A1+Y3|0,j0=b2+($1<<2)|0,E1=+s[j0>>2],I1=a1+(Y3<<2)|0,Q1=+s[I1>>2],p1=Q1*E1,w1=p1+c3,v1=Y3+1|0,k1=(v1|0)<(u1|0),k1)c3=w1,Y3=v1;else{T3=w1;break}else T3=0;if(L1=($+(n3<<4)|0)+12|0,M1=+s[L1>>2],b1=M1*T3,_1=(g+(n3*144|0)|0)+68|0,R1=e[_1>>2]|0,F1=(R1|0)<1,Q=F1?16:-1,I=Q+R1|0,U1=(g+(n3*144|0)|0)+(I<<2)|0,P1=+s[U1>>2],Z1=b1P1,S=x1?P1:b1,z1=S+-99999,q1=G1+99999,H1=(g+(n3*144|0)|0)+(R1<<2)|0,s[H1>>2]=b1,Y1=e[_1>>2]|0,V1=Y1+1|0,X1=(Y1|0)>15,D=X1?0:V1,e[_1>>2]=D,j1=(o+4|0)+(n3<<2)|0,O1=+s[j1>>2],g2=O1+k3,W1=q1>g2,d2=i6|5,Z5=W1?d2:i6,s2=(o+32|0)+(n3<<2)|0,C2=+s[s2>>2],a2=C2-k3,K1=z1>2]|0,c5=(e5|0)>0,c5)for(S0=$+(l3<<4)|0,c0=e[S0>>2]|0,b0=($+(l3<<4)|0)+8|0,g0=e[b0>>2]|0,g3=0,G5=0;;)if(u0=c0+G5|0,l0=b2+(u0<<2)|0,Z=+s[l0>>2],I0=g0+(G5<<2)|0,f0=+s[I0>>2],n0=f0*Z,d0=n0+g3,p0=G5+1|0,C0=(p0|0)<(e5|0),C0)g3=d0,G5=p0;else{H3=d0;break}else H3=0;for(E0=($+(l3<<4)|0)+12|0,y0=+s[E0>>2],d3=y0*H3,r3=(g+(l3*144|0)|0)+68|0,I3=e[r3>>2]|0,w0=(I3|0)<1,B=w0?16:-1,E=B+I3|0,B0=(g+(l3*144|0)|0)+(E<<2)|0,_0=+s[B0>>2],K0=d3<_0,i3=K0?_0:d3,M0=d3>_0,b=M0?_0:d3,$6=0,N3=E,_3=-99999,S3=99999;;)if(s0=(N3|0)<1,w=s0?16:-1,v=w+N3|0,J=(g+(l3*144|0)|0)+(v<<2)|0,o0=+s[J>>2],H=_3o0,N=i0?o0:S3,j=$6+1|0,z5=(j|0)==(d|0),z5){L=h0,G=N;break}else $6=j,N3=v,_3=h0,S3=N;if(v5=b-G,J5=i3-L,E5=(g+(l3*144|0)|0)+(I3<<2)|0,s[E5>>2]=d3,K5=e[r3>>2]|0,a3=K5+1|0,B3=(K5|0)>15,y=B3?0:a3,e[r3>>2]=y,W5=(o+4|0)+(l3<<2)|0,D3=+s[W5>>2],f3=D3+k3,y3=J5>f3,X3=V3|5,x3=y3?X3:V3,q3=(o+32|0)+(l3<<2)|0,X5=+s[q3>>2],b3=X5-k3,t3=v5>2]|0,Q2=o+1288|0,r6=e[Q2>>2]|0,U3=o+1284|0,y6=e[U3>>2]|0,w9=(y6|0)>0,w9){for(mt=0;n4=Se+(mt<<2)|0,e[n4>>2]=-200,k4=mt+1|0,S4=(k4|0)==(y6|0),!S4;)mt=k4;if(w9){for(W3=0;Ce=Ie+(W3<<2)|0,e[Ce>>2]=-200,r0=W3+1|0,fe=(r0|0)==(y6|0),!fe;)W3=r0;if(w9){for(l0=y6<<2,g4(Pt|0,0,l0|0)|0,_9=0;b0=F4+(_9<<2)|0,e[b0>>2]=1,U0=_9+1|0,J4=(U0|0)==(y6|0),!J4;)_9=U0;if(w9){if(h1=y6<<2,g4(t8|0,-1,h1|0)|0,w1=(y6|0)>1,!w1)return A4=0,C=ae,A4|0;for(P1=r6+-1|0,j1=W+1112|0,i2=y6+-1|0,F=e[o>>2]|0,ve=F,S9=0,b4=0;;){Fe=S9+1|0,Te=o+(Fe<<2)|0,Ge=e[Te>>2]|0,qe=z6+(S9*56|0)|0,O4=qe,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[qe>>2]=ve,He=(z6+(S9*56|0)|0)+4|0,e[He>>2]=Ge,J9=(Ge|0)<(r6|0),s8=J9?Ge:P1,Ye=(s8|0)<(ve|0),Ye)_t=0,n8=0,Mt=0,Rt=0,Qt=0,P4=0,a8=0,Z9=0,jt=0,Tt=0,K8=0,W8=0;else for(xe=ve,pt=0,z4=0,Ke=0,oe=0,D4=0,gt=0,E3=0,F9=0,ht=0,b9=0,u8=0,Nt=0;;){he=$+(xe<<2)|0,V=+s[he>>2],Ue=V*7.314285755157471,Ee=Ue+1023.5,v4=~~Ee,W9=(v4|0)>1023,v9=(v4|0)<0,m=v9?0:v4,S=W9?1023:m,Y4=(S|0)==0;do if(Y4)zt=pt,at=z4,$t=Ke,Bt=oe,W4=D4,be=gt,wt=E3,Wt=F9,Ze=ht,et=b9,c4=u8,Xt=Nt;else if(nt=a+(xe<<2)|0,Ve=+s[nt>>2],V4=+s[j1>>2],Je=V4+Ve,o4=!(Je>=V),o4){h4=xe+gt|0,ne=S+Nt|0,d4=o5(xe,xe)|0,f4=d4+oe|0,ke=o5(S,S)|0,s0=ke+b9|0,J=o5(S,xe)|0,o0=J+F9|0,H=z4+1|0,zt=pt,at=H,$t=Ke,Bt=f4,W4=D4,be=h4,wt=E3,Wt=o0,Ze=ht,et=s0,c4=u8,Xt=ne;break}else{R4=xe+D4|0,ot=S+u8|0,re=o5(xe,xe)|0,u4=re+Ke|0,N6=o5(S,S)|0,ze=N6+ht|0,P9=o5(S,xe)|0,de=P9+E3|0,Ne=pt+1|0,zt=Ne,at=z4,$t=u4,Bt=oe,W4=R4,be=gt,wt=de,Wt=F9,Ze=ze,et=b9,c4=ot,Xt=Nt;break}while(!1);if(h0=xe+1|0,i0=(xe|0)<(s8|0),i0)xe=h0,pt=zt,z4=at,Ke=$t,oe=Bt,D4=W4,gt=be,E3=wt,F9=Wt,ht=Ze,b9=et,u8=c4,Nt=Xt;else{_t=zt,n8=at,Mt=$t,Rt=Bt,Qt=W4,P4=be,a8=wt,Z9=Wt,jt=Ze,Tt=et,K8=c4,W8=Xt;break}}if(j=(z6+(S9*56|0)|0)+8|0,e[j>>2]=Qt,u0=(z6+(S9*56|0)|0)+12|0,e[u0>>2]=K8,c0=(z6+(S9*56|0)|0)+16|0,e[c0>>2]=Mt,$0=(z6+(S9*56|0)|0)+20|0,e[$0>>2]=jt,Z=(z6+(S9*56|0)|0)+24|0,e[Z>>2]=a8,I0=(z6+(S9*56|0)|0)+28|0,e[I0>>2]=_t,g0=(z6+(S9*56|0)|0)+32|0,e[g0>>2]=P4,f0=(z6+(S9*56|0)|0)+36|0,e[f0>>2]=W8,n0=(z6+(S9*56|0)|0)+40|0,e[n0>>2]=Rt,d0=(z6+(S9*56|0)|0)+44|0,e[d0>>2]=Tt,p0=(z6+(S9*56|0)|0)+48|0,e[p0>>2]=Z9,C0=(z6+(S9*56|0)|0)+52|0,e[C0>>2]=n8,S0=_t+b4|0,f6=(Fe|0)==(i2|0),f6){E8=S0;break}else ve=Ge,S9=Fe,b4=S0}}else C4=9}else C4=9}else C4=9}else C4=9;if((C4|0)==9){if(P0=(y6|0)==0,!P0)return A4=0,C=ae,A4|0;N2=z6+4|0,O4=z6,T8=O4+56|0;do e[O4>>2]=0,O4=O4+4|0;while((O4|0)<(T8|0));if(e[N2>>2]=r6,H2=(r6|0)<1,H2)Vt=0,r8=0,Kt=0,Ct=0,ct=0,se=0,yt=0,$4=0,l8=0,c8=0,q8=0,H8=0;else for(b2=W+1112|0,me=0,xt=0,Et=0,At=0,m4=0,p4=0,E4=0,We=0,l4=0,ut=0,X4=0,M8=0,dt=0;;){L5=$+(me<<2)|0,G=+s[L5>>2],u2=G*7.314285755157471,F2=u2+1023.5,N5=~~F2,T3=(N5|0)>1023,G5=(N5|0)<0,d=G5?0:N5,B=T3?1023:d,V3=(B|0)==0;do if(V3)Jt=xt,G4=Et,U4=At,lt=m4,K4=p4,_4=E4,Z4=We,j4=l4,Ft=ut,g8=X4,R8=M8,F8=dt;else if(d6=a+(me<<2)|0,K3=+s[d6>>2],A6=+s[b2>>2],c9=A6+K3,P6=!(c9>=G),P6){C9=me+E4|0,B9=B+dt|0,Q9=o5(me,me)|0,d9=Q9+m4|0,f9=o5(B,B)|0,H9=f9+X4|0,H6=o5(B,me)|0,A9=H6+l4|0,Y9=Et+1|0,Jt=xt,G4=Y9,U4=At,lt=d9,K4=p4,_4=C9,Z4=We,j4=A9,Ft=ut,g8=H9,R8=M8,F8=B9;break}else{J6=me+p4|0,T6=B+M8|0,i9=o5(me,me)|0,_6=i9+At|0,O6=o5(B,B)|0,q6=O6+ut|0,a9=o5(B,me)|0,h9=a9+We|0,o9=xt+1|0,Jt=o9,G4=Et,U4=_6,lt=m4,K4=J6,_4=E4,Z4=h9,j4=l4,Ft=q6,g8=X4,R8=T6,F8=dt;break}while(!1);if(y9=me+1|0,k9=(y9|0)==(r6|0),k9){Vt=Jt,r8=G4,Kt=U4,Ct=lt,ct=K4,se=_4,yt=Z4,$4=j4,l8=Ft,c8=g8,q8=R8,H8=F8;break}else me=y9,xt=Jt,Et=G4,At=U4,m4=lt,p4=K4,E4=_4,We=Z4,l4=j4,ut=Ft,X4=g8,M8=R8,dt=F8}ye=z6+8|0,e[ye>>2]=ct,ge=z6+12|0,e[ge>>2]=q8,pe=z6+16|0,e[pe>>2]=Kt,V9=z6+20|0,e[V9>>2]=l8,ie=z6+24|0,e[ie>>2]=yt,R9=z6+28|0,e[R9>>2]=Vt,W6=z6+32|0,e[W6>>2]=se,$9=z6+36|0,e[$9>>2]=H8,we=z6+40|0,e[we>>2]=Ct,Re=z6+44|0,e[Re>>2]=c8,ue=z6+48|0,e[ue>>2]=$4,D9=z6+52|0,e[D9>>2]=r8,E8=Vt}if(Q0=(E8|0)==0,Q0)return A4=0,C=ae,A4|0;e[$8>>2]=-200,e[Zt>>2]=-200,E0=y6+-1|0,IC(z6,E0,$8,Zt,W)|0,y0=e[$8>>2]|0,e[Se>>2]=y0,e[Ie>>2]=y0,w0=e[Zt>>2]|0,B0=Ie+4|0,e[B0>>2]=w0,_0=Se+4|0,e[_0>>2]=w0,K0=(y6|0)>2;do if(K0){M0=W+1112|0,v0=W+1096|0,T0=W+1100|0,N0=W+1104|0,Oe=2;e:for(;;){O0=(o+520|0)+(Oe<<2)|0,k0=e[O0>>2]|0,V0=Pt+(k0<<2)|0,F0=e[V0>>2]|0,L0=F4+(k0<<2)|0,G0=e[L0>>2]|0,z0=t8+(F0<<2)|0,J0=e[z0>>2]|0,q0=(J0|0)==(G0|0);t:do if(!q0){if(Z0=(o+520|0)+(F0<<2)|0,H0=e[Z0>>2]|0,s1=(o+520|0)+(G0<<2)|0,Y0=e[s1>>2]|0,e[z0>>2]=G0,i1=(W+836|0)+(F0<<2)|0,x0=e[i1>>2]|0,o1=(W+836|0)+(G0<<2)|0,d1=e[o1>>2]|0,u1=Se+(F0<<2)|0,m1=e[u1>>2]|0,f1=(m1|0)<0,A1=Ie+(F0<<2)|0,g1=e[A1>>2]|0,f1?w=g1:(a1=(g1|0)<0,a1?w=m1:($1=g1+m1|0,j0=$1>>1,w=j0)),E1=Se+(G0<<2)|0,I1=e[E1>>2]|0,Q1=(I1|0)<0,p1=Ie+(G0<<2)|0,B1=e[p1>>2]|0,Q1?y=B1:(v1=(B1|0)<0,v1?y=I1:(k1=B1+I1|0,L1=k1>>1,y=L1)),M1=(w|0)==-1,b1=(y|0)==-1,x8=M1|b1,x8){C4=38;break e}_1=y-w|0,R1=d1-x0|0,N4=(_1|0)>-1,x9=0-_1|0,F1=N4?_1:x9,U1=(_1|0)/(R1|0)&-1,D1=_1>>31,Z1=D1|1,G1=$+(x0<<2)|0,K=+s[G1>>2],x1=K*7.314285755157471,z1=x1+1023.5,q1=~~z1,H1=(q1|0)>1023,Y1=(q1|0)<0,I=Y1?0:q1,b=H1?1023:I,V1=o5(U1,R1)|0,f8=(V1|0)>-1,p8=0-V1|0,X1=f8?V1:p8,n2=F1-X1|0,O1=w-b|0,g2=o5(O1,O1)|0,W1=a+(x0<<2)|0,d2=+s[W1>>2],s2=+s[M0>>2],C2=s2+d2,a2=!(C2>=K),a2?C4=42:(K1=+(w|0),h2=+s[v0>>2],l2=h2+K1,c2=+(b|0),r2=l2>2],e2=K1-A2,o2=e2>c2,o2||(C4=42)));i:do if((C4|0)==42){if(C4=0,m2=x0+1|0,t2=(m2|0)<(d1|0),t2)for(p2=m2,s4=0,_8=g2,Yt=1,C8=w;;){if(k2=s4+n2|0,D2=(k2|0)<(R1|0),S2=D2?0:Z1,L2=D2?0:R1,Pe=k2-L2|0,R=C8+U1|0,A8=R+S2|0,U2=$+(p2<<2)|0,e0=+s[U2>>2],W2=e0*7.314285755157471,P2=W2+1023.5,V2=~~P2,G2=(V2|0)>1023,q2=(V2|0)<0,E=q2?0:V2,D=G2?1023:E,Z2=A8-D|0,A5=o5(Z2,Z2)|0,N1=A5+_8|0,t5=Yt+1|0,F5=a+(p2<<2)|0,i5=+s[F5>>2],_5=i5+s2,j2=_5>=e0,I5=(D|0)!=0,o8=j2&I5,o8&&(b5=+(A8|0),Y5=+s[v0>>2],g5=Y5+b5,B5=+(D|0),s5=g5>2],M2=b5-R2,y2=M2>B5,y2)))break i;if(Q5=p2+1|0,T5=(Q5|0)<(d1|0),T5)p2=Q5,s4=Pe,_8=N1,Yt=t5,C8=A8;else{i8=N1,Ht=t5;break}}else i8=g2,Ht=1;if(m5=+s[v0>>2],x5=m5*m5,q5=+(Ht|0),Y2=x5/q5,p5=+s[N0>>2],$5=Y2>p5,!$5&&(u5=+s[T0>>2],y5=u5*u5,T1=y5/q5,D5=T1>p5,!D5&&(h5=(i8|0)/(Ht|0)&-1,l5=+(h5|0),X2=l5>p5,X2)))break;g3=Se+(Oe<<2)|0,e[g3>>2]=-200,u3=Ie+(Oe<<2)|0,e[u3>>2]=-200;break t}while(!1);if(e[Ot>>2]=-200,e[qt>>2]=-200,e[T4>>2]=-200,e[st>>2]=-200,w5=z6+(H0*56|0)|0,r5=k0-H0|0,a5=IC(w5,r5,Ot,qt,W)|0,d5=z6+(k0*56|0)|0,z2=Y0-k0|0,f5=IC(d5,z2,T4,st,W)|0,n5=(a5|0)!=0,n5&&(e[Ot>>2]=w,M5=e[T4>>2]|0,e[qt>>2]=M5),e5=(f5|0)==0,!e5&&(c5=e[qt>>2]|0,e[T4>>2]=c5,e[st>>2]=y,n5)){v5=Se+(Oe<<2)|0,e[v5>>2]=-200,J5=Ie+(Oe<<2)|0,e[J5>>2]=-200;break}if(i3=e[Ot>>2]|0,e[A1>>2]=i3,E5=(F0|0)==0,E5&&(e[Se>>2]=i3),I3=e[qt>>2]|0,d3=Se+(Oe<<2)|0,e[d3>>2]=I3,K5=e[T4>>2]|0,r3=Ie+(Oe<<2)|0,e[r3>>2]=K5,a3=e[st>>2]|0,e[E1>>2]=a3,B3=(G0|0)==1,B3&&(e[B0>>2]=a3),W5=K5&I3,D3=(W5|0)>-1,D3){f3=(k0|0)>0;i:do if(f3)for(e8=k0;;){if(D8=e8+-1|0,X3=F4+(D8<<2)|0,q3=e[X3>>2]|0,X5=(q3|0)==(G0|0),!X5)break i;if(e[X3>>2]=Oe,b3=(e8|0)>1,b3)e8=D8;else break}while(!1);if(m8=k0+1|0,y3=(m8|0)<(y6|0),y3)for(Ut=m8;;){if(t3=Pt+(Ut<<2)|0,s6=e[t3>>2]|0,H3=(s6|0)==(F0|0),!H3)break t;if(e[t3>>2]=Oe,I8=Ut+1|0,c3=(I8|0)<(y6|0),c3)Ut=I8;else break}}}while(!1);if(Q3=Oe+1|0,z5=(Q3|0)<(y6|0),z5)Oe=Q3;else{C4=68;break}}if((C4|0)==38)pS(1);else if((C4|0)==68){T=e[Se>>2]|0,N=e[Ie>>2]|0,S5=T,$6=N;break}}else S5=y0,$6=y0;while(!1);if(H5=y6<<2,V5=z8(t,H5)|0,Y3=(S5|0)<0,Y3?v=$6:(n3=($6|0)<0,n3?v=S5:(l3=$6+S5|0,N3=l3>>1,v=N3)),e[V5>>2]=v,E6=e[_0>>2]|0,k3=(E6|0)<0,_3=e[B0>>2]|0,k3?M=_3:(S3=(_3|0)<0,S3?M=E6:(a6=_3+E6|0,i6=a6>>1,M=i6)),Z5=V5+4|0,e[Z5>>2]=M,K0)a4=2;else return A4=V5,C=ae,A4|0;for(;;)if(x3=a4+-2|0,h3=(o+1032|0)+(x3<<2)|0,J3=e[h3>>2]|0,h6=(o+780|0)+(x3<<2)|0,m3=e[h6>>2]|0,L6=(W+836|0)+(J3<<2)|0,M6=e[L6>>2]|0,R6=(W+836|0)+(m3<<2)|0,S6=e[R6>>2]|0,b6=V5+(J3<<2)|0,G6=e[b6>>2]|0,X6=V5+(m3<<2)|0,v6=e[X6>>2]|0,L3=(W+836|0)+(a4<<2)|0,n6=e[L3>>2]|0,o6=G6&32767,C6=v6&32767,z3=C6-o6|0,M3=S6-M6|0,d8=(z3|0)>-1,Lt=0-z3|0,e6=d8?z3:Lt,F6=n6-M6|0,l6=o5(e6,F6)|0,o3=(l6|0)/(M3|0)&-1,K6=(z3|0)<0,A3=0-o3|0,L=K6?A3:o3,x=L+o6|0,c6=Se+(a4<<2)|0,B6=e[c6>>2]|0,R3=(B6|0)<0,Y6=Ie+(a4<<2)|0,D6=e[Y6>>2]|0,R3?Q=D6:(U6=(D6|0)<0,U6?Q=B6:(t9=D6+B6|0,Q6=t9>>1,Q=Q6)),e9=(Q|0)<0,G3=(x|0)==(Q|0),L8=e9|G3,n9=x|32768,g=L8?n9:Q,V6=V5+(a4<<2)|0,e[V6>>2]=g,s9=a4+1|0,I4=(s9|0)==(y6|0),I4){A4=V5;break}else a4=s9;return C=ae,A4|0}function Gt(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0;if(u0=C,d=o+1284|0,m=e[d>>2]|0,x=(a|0)!=0,e0=($|0)!=0,h0=x&e0,!h0)return i0=0,i0|0;if(K=m<<2,a0=z8(t,K)|0,W=(m|0)>0,!W)return i0=a0,i0|0;for(r0=65536-g|0,H=0;;)if(s0=a+(H<<2)|0,J=e[s0>>2]|0,I=J&32767,E=o5(I,r0)|0,Q=$+(H<<2)|0,B=e[Q>>2]|0,S=B&32767,b=o5(S,g)|0,v=E+32768|0,w=v+b|0,D=w>>16,y=a0+(H<<2)|0,e[y>>2]=D,M=e[s0>>2]|0,L=M&32768,R=(L|0)==0,R||(F=e[Q>>2]|0,T=F&32768,N=(T|0)==0,N||(G=D|32768,e[y>>2]=G)),V=H+1|0,o0=(V|0)==(m|0),o0){i0=a0;break}else H=V;return i0|0}function jS(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;if(q6=C,C=C+336|0,P6=q6+64|0,h3=q6+32|0,G3=q6,D=a+1296|0,y=e[D>>2]|0,h2=a+1284|0,R2=e[h2>>2]|0,$5=o+64|0,a5=e[$5>>2]|0,i3=a5+4|0,f3=e[i3>>2]|0,g3=f3+28|0,l3=e[g3>>2]|0,x=l3+2848|0,a0=e[x>>2]|0,c0=($|0)==0,c0)return O2(t,0,1),F5=o+36|0,i5=e[F5>>2]|0,_5=(i5|0)/2&-1,j2=_5<<2,g4(g|0,0,j2|0)|0,m=0,C=q6,m|0;if(S0=(R2|0)>0,S0)for(T0=y+832|0,C6=0;q0=$+(C6<<2)|0,m1=e[q0>>2]|0,p1=m1&32767,U1=e[T0>>2]|0,(U1|0)==4?(Z2=p1>>>4,J6=Z2):(U1|0)==1?(X1=p1>>>2,J6=X1):(U1|0)==2?(l2=p1>>>3,J6=l2):(U1|0)==3?(S2=(p1>>>0)/12&-1,J6=S2):J6=p1,I5=m1&32768,b5=I5|J6,e[q0>>2]=b5,Y5=C6+1|0,v6=(Y5|0)==(R2|0),!v6;)C6=Y5;if(g5=e[$>>2]|0,e[P6>>2]=g5,b2=$+4|0,B5=e[b2>>2]|0,s5=P6+4|0,e[s5>>2]=B5,M2=(R2|0)>2,y2=a+1292|0,M2){for(z3=2;;){if(Q5=z3+-2|0,T5=(a+1032|0)+(Q5<<2)|0,m5=e[T5>>2]|0,x5=(a+780|0)+(Q5<<2)|0,q5=e[x5>>2]|0,L5=(y+836|0)+(m5<<2)|0,Y2=e[L5>>2]|0,p5=(y+836|0)+(q5<<2)|0,u5=e[p5>>2]|0,y5=$+(m5<<2)|0,T1=e[y5>>2]|0,D5=$+(q5<<2)|0,h5=e[D5>>2]|0,l5=(y+836|0)+(z3<<2)|0,X2=e[l5>>2]|0,u2=T1&32767,w5=h5&32767,r5=w5-u2|0,d5=u5-Y2|0,K3=(r5|0)>-1,n9=0-r5|0,z2=K3?r5:n9,f5=X2-Y2|0,n5=o5(z2,f5)|0,M5=(n5|0)/(d5|0)&-1,e5=(r5|0)<0,c5=0-M5|0,E=e5?c5:M5,I=E+u2|0,F2=$+(z3<<2)|0,v5=e[F2>>2]|0,J5=v5&32768,E5=(J5|0)!=0,I3=(v5|0)==(I|0),c9=E5|I3,c9)d3=I|32768,e[F2>>2]=d3,K5=P6+(z3<<2)|0,e[K5>>2]=0;else{r3=e[y2>>2]|0,a3=r3-I|0,B3=(a3|0)<(I|0),d=B3?a3:I,N5=v5-I|0,W5=(N5|0)<0;do if(W5)if(D3=0-d|0,y3=(N5|0)<(D3|0),y3){X3=N5^-1,q3=d+X3|0,T6=q3;break}else{X5=N5<<1,b3=X5^-1,T6=b3;break}else if(t3=(d|0)>(N5|0),t3){T3=N5<<1,T6=T3;break}else{s6=d+N5|0,T6=s6;break}while(!1);H3=P6+(z3<<2)|0,e[H3>>2]=T6,e[y5>>2]=u2,c3=e[D5>>2]|0,u3=c3&32767,e[D5>>2]=u3}if(Q3=z3+1|0,X6=(Q3|0)==(R2|0),X6)break;z3=Q3}S=e[P6>>2]|0,b=e[s5>>2]|0,a6=S,x3=b}else a6=g5,x3=B5;if(O2(t,1,1),z5=a+1308|0,H5=e[z5>>2]|0,V5=H5+1|0,e[z5>>2]=V5,S5=e[y2>>2]|0,Y3=S5+-1|0,G5=O8(Y3)|0,$6=G5<<1,n3=a+1304|0,N3=e[n3>>2]|0,E6=N3+$6|0,e[n3>>2]=E6,k3=e[y2>>2]|0,_3=k3+-1|0,S3=O8(_3)|0,O2(t,a6,S3),i6=e[y2>>2]|0,V3=i6+-1|0,Z5=O8(V3)|0,O2(t,x3,Z5),M=e[y>>2]|0,L=(M|0)>0,L)for(R=a+1300|0,M3=0,l6=2;;){if(F=(y+4|0)+(M3<<2)|0,T=e[F>>2]|0,N=(y+128|0)+(T<<2)|0,G=e[N>>2]|0,V=(y+192|0)+(T<<2)|0,e0=e[V>>2]|0,K=1<>2]=0,e[h3+4>>2]=0,e[h3+8>>2]=0,e[h3+12>>2]=0,e[h3+16>>2]=0,e[h3+20>>2]=0,e[h3+24>>2]=0,e[h3+28>>2]=0,W=(e0|0)==0,!W){if(e[G3>>2]=0,e[G3+4>>2]=0,e[G3+8>>2]=0,e[G3+12>>2]=0,e[G3+16>>2]=0,e[G3+20>>2]=0,e[G3+24>>2]=0,e[G3+28>>2]=0,r0=(e0|0)==31,!r0)for(A3=0;d0=((y+320|0)+(T<<5)|0)+(A3<<2)|0,p0=e[d0>>2]|0,C0=(p0|0)<0,C0?w=1:(Q0=(l3+1824|0)+(p0<<2)|0,b0=e[Q0>>2]|0,E0=b0+4|0,y0=e[E0>>2]|0,w=y0),w0=G3+(A3<<2)|0,e[w0>>2]=w,B0=A3+1|0,_0=(B0|0)<(K|0),_0;)A3=B0;s0=(G|0)>0;e:do if(s0){if(r0)for(J3=0,L6=0,c6=0;;)if(K0=h3+(c6<<2)|0,M0=e[K0>>2]|0,v0=M0<>2]|0,Y6=0;;){if(J=G3+(Y6<<2)|0,o0=e[J>>2]|0,h0=(H|0)<(o0|0),h0){A6=Y6,U3=31;break}if(i0=Y6+1|0,j=(i0|0)<(K|0),j)Y6=i0;else{U3=33;break}}if((U3|0)==31?(U3=0,u0=h3+(B6<<2)|0,e[u0>>2]=A6,l0=A6):(U3|0)==33&&(U3=0,Q=h3+(B6<<2)|0,v=e[Q>>2]|0,l0=v),$0=l0<>2]|0,F0=a0+(V0*56|0)|0,L0=Fu(F0,m3,t)|0,G0=e[R>>2]|0,z0=G0+L0|0,e[R>>2]=z0}if(J0=(G|0)>0,J0)for(R3=0;Z0=h3+(R3<<2)|0,P0=e[Z0>>2]|0,H0=((y+320|0)+(T<<5)|0)+(P0<<2)|0,s1=e[H0>>2]|0,Y0=(s1|0)>-1,Y0&&(i1=R3+l6|0,x0=P6+(i1<<2)|0,o1=e[x0>>2]|0,d1=(a0+(s1*56|0)|0)+4|0,u1=e[d1>>2]|0,f1=(o1|0)<(u1|0),f1&&(h1=a0+(s1*56|0)|0,A1=Fu(h1,o1,t)|0,g1=e[n3>>2]|0,a1=g1+A1|0,e[n3>>2]=a1)),$1=R3+1|0,b6=($1|0)==(G|0),!b6;)R3=$1;if(j0=G+l6|0,E1=M3+1|0,I1=e[y>>2]|0,Q1=(E1|0)<(I1|0),Q1)M3=E1,l6=j0;else break}if(B1=e[$>>2]|0,w1=y+832|0,v1=e[w1>>2]|0,k1=o5(v1,B1)|0,L1=o+28|0,M1=e[L1>>2]|0,b1=l3+(M1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)/2&-1,F1=e[h2>>2]|0,D1=(F1|0)>1,D1)for(n6=0,o3=1,D6=0,Q6=k1;;){if(z1=(a+260|0)+(o3<<2)|0,q1=e[z1>>2]|0,H1=$+(q1<<2)|0,Y1=e[H1>>2]|0,V1=Y1&32767,n2=(V1|0)==(Y1|0),n2)if(j1=e[w1>>2]|0,O1=o5(j1,Y1)|0,g2=(y+836|0)+(q1<<2)|0,W1=e[g2>>2]|0,d2=O1-Q6|0,s2=W1-D6|0,e6=(d2|0)>-1,V6=0-d2|0,C2=e6?d2:V6,a2=(d2|0)/(s2|0)&-1,K1=d2>>31,i2=K1|1,c2=o5(a2,s2)|0,F6=(c2|0)>-1,s9=0-c2|0,r2=F6?c2:s9,A2=C2-r2|0,e2=(R1|0)>(W1|0),i9=e2?W1:R1,o2=(i9|0)>(D6|0),o2&&(m2=g+(D6<<2)|0,e[m2>>2]=Q6),t2=D6+1|0,k2=(t2|0)<(i9|0),k2)for(p2=t2,R6=0,_6=Q6;;)if(D2=R6+A2|0,Q2=(D2|0)<(s2|0),N2=Q2?0:i2,L2=Q2?0:s2,S6=D2-L2|0,B=_6+a2|0,O6=B+N2|0,U2=g+(p2<<2)|0,e[U2>>2]=O6,W2=p2+1|0,d6=(W2|0)==(i9|0),d6){o6=W1,U6=W1,e9=O1;break}else p2=W2,R6=S6,_6=O6;else o6=W1,U6=W1,e9=O1;else o6=n6,U6=D6,e9=Q6;if(P2=o3+1|0,V2=e[h2>>2]|0,G2=(P2|0)<(V2|0),G2)n6=o6,o3=P2,D6=U6,Q6=e9;else{L3=o6,t9=e9;break}}else L3=0,t9=k1;if(P1=o+36|0,Z1=e[P1>>2]|0,G1=(Z1|0)/2&-1,x1=(L3|0)<(G1|0),x1)K6=L3;else return m=1,C=q6,m|0;for(;;)if(q2=g+(K6<<2)|0,e[q2>>2]=t9,A5=K6+1|0,H2=e[P1>>2]|0,N1=(H2|0)/2&-1,t5=(A5|0)<(N1|0),t5)K6=A5;else{m=1;break}return C=q6,m|0}function IC(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0;if(A5=C,Q=e[t>>2]|0,B=o+-1|0,$0=(t+(B*56|0)|0)+4|0,Q0=e[$0>>2]|0,N0=(o|0)>0,N0)for(Z0=g+1108|0,f1=+s[Z0>>2],i2=0,e2=0,m2=0,S2=0,U2=0,V2=0;;)if(B1=(t+(e2*56|0)|0)+52|0,D1=e[B1>>2]|0,n2=(t+(e2*56|0)|0)+28|0,S=e[n2>>2]|0,T=S+D1|0,J=+(T|0),o0=J*f1,H=S+1|0,h0=+(H|0),i0=o0/h0,j=i0,u0=j+1,c0=(t+(e2*56|0)|0)+32|0,l0=e[c0>>2]|0,Z=+(l0|0),I0=(t+(e2*56|0)|0)+8|0,g0=e[I0>>2]|0,f0=+(g0|0),n0=f0*u0,d0=Z+S2,p0=d0+n0,C0=(t+(e2*56|0)|0)+36|0,S0=e[C0>>2]|0,b0=+(S0|0),E0=(t+(e2*56|0)|0)+12|0,y0=e[E0>>2]|0,w0=+(y0|0),B0=w0*u0,_0=b0+V2,K0=_0+B0,M0=(t+(e2*56|0)|0)+40|0,v0=e[M0>>2]|0,T0=+(v0|0),U0=(t+(e2*56|0)|0)+16|0,O0=e[U0>>2]|0,k0=+(O0|0),V0=k0*u0,F0=T0+m2,L0=F0+V0,G0=(t+(e2*56|0)|0)+48|0,z0=e[G0>>2]|0,J0=+(z0|0),q0=(t+(e2*56|0)|0)+24|0,P0=e[q0>>2]|0,H0=+(P0|0),s1=H0*u0,Y0=J0+U2,i1=Y0+s1,x0=+(D1|0),o1=+(S|0),d1=u0*o1,u1=x0+i2,m1=u1+d1,h1=e2+1|0,A2=(h1|0)==(o|0),A2){l2=m1,o2=L0,D2=p0,L2=i1,P2=K0;break}else i2=m1,e2=h1,m2=L0,S2=p0,U2=i1,V2=K0;else l2=0,o2=0,D2=0,L2=0,P2=0;return A1=e[a>>2]|0,g1=(A1|0)>-1,g1?(a1=+(Q|0),$1=D2+a1,j0=+(A1|0),E1=j0+P2,I1=o5(Q,Q)|0,Q1=+(I1|0),p1=o2+Q1,w1=o5(A1,Q)|0,v1=+(w1|0),k1=v1+L2,L1=l2+1,c2=L1,t2=p1,Q2=$1,p2=k1,G2=E1):(c2=l2,t2=o2,Q2=D2,p2=L2,G2=P2),M1=e[$>>2]|0,b1=(M1|0)>-1,b1?(_1=+(Q0|0),R1=Q2+_1,F1=+(M1|0),U1=F1+G2,P1=o5(Q0,Q0)|0,Z1=+(P1|0),G1=t2+Z1,x1=o5(M1,Q0)|0,z1=+(x1|0),q1=z1+p2,H1=c2+1,r2=H1,k2=G1,N2=R1,W2=q1,q2=U1):(r2=c2,k2=t2,N2=Q2,W2=p2,q2=G2),Y1=k2*r2,V1=N2*N2,X1=Y1-V1,j1=X1>0,j1?(O1=q2*k2,g2=N2*W2,W1=O1-g2,d2=W1/X1,s2=W2*r2,C2=N2*q2,a2=s2-C2,K1=a2/X1,h2=+(Q|0),b=K1*h2,v=b+d2,w=+V7(v),D=~~w,e[a>>2]=D,y=+(Q0|0),x=K1*y,M=x+d2,L=+V7(M),R=~~L,e[$>>2]=R,F=e[a>>2]|0,N=(F|0)>1023,N?(e[a>>2]=1023,m=e[$>>2]|0,G=m,r0=1023):(G=R,r0=F),V=(G|0)>1023,V?(e[$>>2]=1023,I=e[a>>2]|0,e0=I,s0=1023):(e0=r0,s0=G),K=(e0|0)<0,K?(e[a>>2]=0,E=e[$>>2]|0,a0=E):a0=s0,W=(a0|0)<0,W?(e[$>>2]=0,d=0,d|0):(d=0,d|0)):(e[a>>2]=0,e[$>>2]=0,d=1,d|0)}function XS(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0;if(x0=C,m=t+836|0,I=t+840|0,M=e[I>>2]|0,W=e[t>>2]|0,O2(o,W,5),$0=e[t>>2]|0,Q0=($0|0)>0,Q0){for(N0=t+4|0,z0=0,Y0=-1;;)if(B=N0+(z0<<2)|0,S=e[B>>2]|0,O2(o,S,4),b=e[B>>2]|0,v=(Y0|0)<(b|0),a=v?b:Y0,w=z0+1|0,D=e[t>>2]|0,y=(w|0)<(D|0),y)z0=w,Y0=a;else{$=a;break}if(O0=($|0)>-1,O0)for(k0=t+128|0,V0=t+192|0,E=t+256|0,Q=t+320|0,J0=0;;){if(x=k0+(J0<<2)|0,L=e[x>>2]|0,R=L+-1|0,O2(o,R,3),F=V0+(J0<<2)|0,T=e[F>>2]|0,O2(o,T,2),N=e[F>>2]|0,G=(N|0)==0,G?(Z0=0,i1=8):(V=E+(J0<<2)|0,e0=e[V>>2]|0,O2(o,e0,8),g=e[F>>2]|0,K=(g|0)==31,K||(Z0=0,i1=8)),(i1|0)==8)for(;i1=0,a0=(Q+(J0<<5)|0)+(Z0<<2)|0,r0=e[a0>>2]|0,s0=r0+1|0,O2(o,s0,8),J=Z0+1|0,o0=e[F>>2]|0,H=1<>2]|0,c0=u0+-1|0,O2(o,c0,2),l0=M+-1|0,Z=O8(l0)|0,O2(o,Z,4),I0=O8(l0)|0,g0=e[t>>2]|0,f0=(g0|0)>0,!!f0)for(n0=t+4|0,d0=t+128|0,U0=g0,F0=0,q0=0,P0=0;;){if(p0=n0+(q0<<2)|0,C0=e[p0>>2]|0,S0=d0+(C0<<2)|0,b0=e[S0>>2]|0,E0=b0+F0|0,y0=(P0|0)<(E0|0),y0){for(s1=P0;w0=s1+2|0,B0=m+(w0<<2)|0,_0=e[B0>>2]|0,O2(o,_0,I0),K0=s1+1|0,L0=(K0|0)==(E0|0),!L0;)s1=K0;d=e[t>>2]|0,T0=d,H0=E0}else T0=U0,H0=P0;if(M0=q0+1|0,v0=(M0|0)<(T0|0),v0)U0=T0,F0=E0,q0=M0,P0=H0;else break}}function eb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0;W1=C,C=C+272|0,O1=W1,D=t+28|0,y=e[D>>2]|0,K=le(1,1120)|0,u0=r4(o,5)|0,e[K>>2]=u0,C0=(u0|0)>0;e:do if(C0){for(v0=K+4|0,Z1=0,n2=-1;;){if(L=r4(o,4)|0,R=v0+(Z1<<2)|0,e[R>>2]=L,F=(L|0)<0,F)break e;if(T=(n2|0)<(L|0),g=T?L:n2,N=Z1+1|0,G=e[K>>2]|0,V=(N|0)<(G|0),V)Z1=N,n2=g;else{d=g;break}}if(J0=(d|0)>-1,J0)for(u1=K+128|0,Q1=K+192|0,F1=K+256|0,x=y+24|0,M=K+320|0,G1=0;;){if(e0=r4(o,3)|0,a0=e0+1|0,W=u1+(G1<<2)|0,e[W>>2]=a0,r0=r4(o,2)|0,s0=Q1+(G1<<2)|0,e[s0>>2]=r0,J=(r0|0)<0,J||(o0=(r0|0)==0,o0?(m=F1+(G1<<2)|0,I=e[m>>2]|0,i0=I):(H=r4(o,8)|0,h0=F1+(G1<<2)|0,e[h0>>2]=H,i0=H),j=(i0|0)<0,j)||(c0=e[x>>2]|0,$0=(i0|0)<(c0|0),!$0))break e;if(l0=e[s0>>2]|0,Z=(l0|0)==31,!Z)for(H1=0;;){if(d0=r4(o,8)|0,p0=d0+-1|0,S0=(M+(G1<<5)|0)+(H1<<2)|0,e[S0>>2]=p0,Q0=(d0|0)<0,Q0||(b0=e[x>>2]|0,E0=(d0|0)>(b0|0),f0=H1+1|0,E0))break e;if(I0=e[s0>>2]|0,g0=1<>2]=_0,M0=r4(o,4)|0,T0=(M0|0)<0,!T0)){if(N0=e[K>>2]|0,U0=(N0|0)>0,U0)for(O0=K+4|0,k0=K+128|0,V0=K+836|0,F0=1<>2]|0,z0=k0+(G0<<2)|0,q0=e[z0>>2]|0,Z0=q0+P1|0,P0=(Z0|0)>63,P0)break e;if(H0=(Y1|0)<(Z0|0),H0){for(X1=Y1;;){if(s1=r4(o,M0)|0,Y0=X1+2|0,i1=V0+(Y0<<2)|0,e[i1>>2]=s1,x0=(s1|0)>-1,o1=(s1|0)<(F0|0),j1=x0&o1,!j1)break e;if(d1=X1+1|0,m1=(d1|0)<(Z0|0),m1)X1=d1;else{$=d1;break}}B=e[K>>2]|0,A1=B,V1=$}else A1=U1,V1=Y1;if(f1=x1+1|0,h1=(f1|0)<(A1|0),h1)U1=A1,P1=Z0,x1=f1,Y1=V1;else{E=V0,Q=F0,D1=Z0;break}}else v=K+836|0,w=1<>2]=0,g1=K+840|0,e[g1>>2]=Q,a1=D1+2|0,$1=(D1|0)>-2,$1)for(z1=0;j0=E+(z1<<2)|0,E1=O1+(z1<<2)|0,e[E1>>2]=j0,I1=z1+1|0,p1=(I1|0)<(a1|0),p1;)z1=I1;Nu(O1,a1,4,8),B1=(a1|0)>1;t:do if(B1){for(S=e[O1>>2]|0,b=e[S>>2]|0,b1=b,q1=1;k1=O1+(q1<<2)|0,L1=e[k1>>2]|0,M1=e[L1>>2]|0,_1=(b1|0)==(M1|0),w1=q1+1|0,!_1;)if(v1=(w1|0)<(a1|0),v1)b1=M1,q1=w1;else break t;if(R1=(K|0)==0,R1)a=0;else break e;return C=W1,a|0}while(!1);return a=K,C=W1,a|0}while(!1);return E2(K),a=0,C=W1,a|0}function tb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0;if(R1=C,C=C+272|0,b1=R1,$=le(1,1312)|0,g=$+1296|0,e[g>>2]=o,D=o+836|0,e0=o+840|0,j=e[e0>>2]|0,p0=$+1288|0,e[p0>>2]=j,M0=e[o>>2]|0,z0=(M0|0)>0,z0){for(Y0=o+4|0,d=o+128|0,f1=0,k1=0;;)if(m=Y0+(f1<<2)|0,I=e[m>>2]|0,E=d+(I<<2)|0,Q=e[E>>2]|0,B=Q+k1|0,S=f1+1|0,b=(S|0)<(M0|0),b)f1=S,k1=B;else{a=B;break}v=a+2|0,w=$+1284|0,e[w>>2]=v,y=(a|0)>-2,y?(F=v,v1=a,_1=7):(Nu(b1,v,4,8),w1=a)}else s1=$+1284|0,e[s1>>2]=2,F=2,v1=0,_1=7;if((_1|0)==7){for(h1=0;x=D+(h1<<2)|0,M=b1+(h1<<2)|0,e[M>>2]=x,L=h1+1|0,R=(L|0)<(F|0),R;)h1=L;for(Nu(b1,F,4,8),T=D,N=$+260|0,A1=0;K=b1+(A1<<2)|0,a0=e[K>>2]|0,W=a0,r0=W-T|0,s0=r0>>2,J=N+(A1<<2)|0,e[J>>2]=s0,o0=A1+1|0,H=(o0|0)<(F|0),H;)A1=o0;for(G=$+260|0,V=$+520|0,g1=0;i0=G+(g1<<2)|0,u0=e[i0>>2]|0,c0=V+(u0<<2)|0,e[c0>>2]=g1,$0=g1+1|0,l0=($0|0)<(F|0),l0;)g1=$0;for(h0=$+260|0,a1=0;;)if(Z=h0+(a1<<2)|0,I0=e[Z>>2]|0,g0=D+(I0<<2)|0,f0=e[g0>>2]|0,n0=$+(a1<<2)|0,e[n0>>2]=f0,d0=a1+1|0,C0=(d0|0)<(F|0),C0)a1=d0;else{w1=v1;break}}if(S0=o+832|0,Q0=e[S0>>2]|0,(Q0|0)==4?(w0=$+1292|0,e[w0>>2]=64):(Q0|0)==2?(E0=$+1292|0,e[E0>>2]=128):(Q0|0)==1?(b0=$+1292|0,e[b0>>2]=256):(Q0|0)==3&&(y0=$+1292|0,e[y0>>2]=86),B0=(w1|0)>0,!B0)return C=R1,$|0;for(_0=$+1032|0,K0=$+780|0,$1=0;;){for(v0=$1+2|0,T0=D+(v0<<2)|0,N0=e[T0>>2]|0,U0=e[p0>>2]|0,x0=1,u1=U0,j0=0,E1=0,p1=0;;)if(O0=D+(j0<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)>(p1|0),F0=(k0|0)<(N0|0),L1=V0&F0,I1=L1?j0:E1,B1=L1?k0:p1,L0=(k0|0)<(u1|0),G0=(k0|0)>(N0|0),M1=L0&G0,o1=M1?j0:x0,m1=M1?k0:u1,J0=j0+1|0,q0=(J0|0)<(v0|0),q0)x0=o1,u1=m1,j0=J0,E1=I1,p1=B1;else{d1=o1,Q1=I1;break}if(Z0=_0+($1<<2)|0,e[Z0>>2]=Q1,P0=K0+($1<<2)|0,e[P0>>2]=d1,H0=$1+1|0,i1=(H0|0)==(w1|0),i1)break;$1=H0}return C=R1,$|0}function ib(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function rb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function nb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0;if(S2=C,d=o+1296|0,m=e[d>>2]|0,l0=t+64|0,b0=e[l0>>2]|0,U0=b0+4|0,P0=e[U0>>2]|0,h1=P0+28|0,w1=e[h1>>2]|0,P1=w1+2848|0,j1=e[P1>>2]|0,I=t+4|0,M=r4(I,1)|0,W=(M|0)==1,!W)return a=0,a|0;H=o+1284|0,h0=e[H>>2]|0,i0=h0<<2,j=z8(t,i0)|0,u0=o+1292|0,c0=e[u0>>2]|0,$0=c0+-1|0,Z=O8($0)|0,I0=r4(I,Z)|0,e[j>>2]=I0,g0=e[u0>>2]|0,f0=g0+-1|0,n0=O8(f0)|0,d0=r4(I,n0)|0,p0=j+4|0,e[p0>>2]=d0,C0=e[m>>2]|0,S0=(C0|0)>0;e:do if(S0){r2=0,o2=2;t:for(;;){if(B0=(m+4|0)+(r2<<2)|0,_0=e[B0>>2]|0,K0=(m+128|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=(m+192|0)+(_0<<2)|0,T0=e[v0>>2]|0,N0=1<>2]|0,F0=j1+(V0*56|0)|0,L0=tE(F0,I)|0,G0=(L0|0)==-1,G0){a=0,D2=25;break}else i2=L0;if(z0=(M0|0)>0,z0)for(J0=N0+-1|0,c2=i2,m2=0;;){if(q0=c2&J0,Z0=((m+320|0)+(_0<<5)|0)+(q0<<2)|0,H0=e[Z0>>2]|0,s1=c2>>T0,Y0=(H0|0)>-1,Y0){if(i1=j1+(H0*56|0)|0,x0=tE(i1,I)|0,o1=m2+o2|0,d1=j+(o1<<2)|0,e[d1>>2]=x0,u1=(x0|0)==-1,u1){a=0,D2=25;break t}}else m1=m2+o2|0,f1=j+(m1<<2)|0,e[f1>>2]=0;if(A1=m2+1|0,g1=(A1|0)<(M0|0),g1)c2=s1,m2=A1;else break}if(a1=M0+o2|0,$1=r2+1|0,j0=e[m>>2]|0,E1=($1|0)<(j0|0),E1)r2=$1,o2=a1;else break e}if((D2|0)==25)return a|0}while(!1);if(Q0=e[H>>2]|0,E0=(Q0|0)>2,!E0)return a=j,a|0;for(y0=o+1032|0,w0=o+780|0,A2=2;;){if(I1=A2+-2|0,Q1=y0+(I1<<2)|0,p1=e[Q1>>2]|0,B1=(m+836|0)+(p1<<2)|0,v1=e[B1>>2]|0,k1=w0+(I1<<2)|0,L1=e[k1>>2]|0,M1=(m+836|0)+(L1<<2)|0,b1=e[M1>>2]|0,_1=j+(p1<<2)|0,R1=e[_1>>2]|0,F1=j+(L1<<2)|0,U1=e[F1>>2]|0,D1=(m+836|0)+(A2<<2)|0,Z1=e[D1>>2]|0,G1=R1&32767,x1=U1&32767,z1=x1-G1|0,q1=b1-v1|0,e2=(z1|0)>-1,t2=0-z1|0,H1=e2?z1:t2,Y1=Z1-v1|0,V1=o5(H1,Y1)|0,X1=(V1|0)/(q1|0)&-1,n2=(z1|0)<0,O1=0-X1|0,g=n2?O1:X1,$=g+G1|0,g2=e[u0>>2]|0,W1=g2-$|0,d2=j+(A2<<2)|0,s2=e[d2>>2]|0,C2=(s2|0)==0,C2)r0=$|32768,e[d2>>2]=r0;else{a2=(W1|0)<($|0),K1=a2?W1:$,h2=K1<<1,l2=(s2|0)<(h2|0);do if(l2)if(b=s2&1,v=(b|0)==0,v){x=s2>>1,k2=x;break}else{w=s2+1|0,D=w>>1,y=0-D|0,k2=y;break}else if(E=(W1|0)>($|0),E){Q=s2-$|0,k2=Q;break}else{B=s2-W1|0,S=B^-1,k2=S;break}while(!1);L=k2+$|0,R=L&32767,e[d2>>2]=R,F=e[Q1>>2]|0,T=j+(F<<2)|0,N=e[T>>2]|0,G=N&32767,e[T>>2]=G,V=e[k1>>2]|0,e0=j+(V<<2)|0,K=e[e0>>2]|0,a0=K&32767,e[e0>>2]=a0}if(s0=A2+1|0,J=e[H>>2]|0,o0=(s0|0)<(J|0),o0)A2=s0;else{a=j;break}}return a|0}function ob(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,m=o+1296|0,I=e[m>>2]|0,M=t+64|0,W=e[M>>2]|0,$0=W+4|0,Q0=e[$0>>2]|0,N0=Q0+28|0,Z0=e[N0>>2]|0,u1=t+28|0,m1=e[u1>>2]|0,E=Z0+(m1<<2)|0,Q=e[E>>2]|0,B=(Q|0)/2&-1,S=(a|0)==0,S)return d1=B<<2,g4($|0,0,d1|0)|0,g=0,g|0;if(b=e[a>>2]|0,v=I+832|0,w=e[v>>2]|0,D=o5(w,b)|0,y=(D|0)<0,x=(D|0)>255,L=x?255:D,R=y?0:L,F=o+1284|0,T=e[F>>2]|0,N=(T|0)>1,N)for(G=o+260|0,$1=0,Q1=1,B1=0,k1=R;;){if(a0=G+(Q1<<2)|0,r0=e[a0>>2]|0,s0=a+(r0<<2)|0,J=e[s0>>2]|0,o0=J&32767,H=(o0|0)==(J|0),H)if(h0=(I+836|0)+(r0<<2)|0,i0=e[h0>>2]|0,j=o5(w,J)|0,u0=(j|0)<0,c0=(j|0)>255,l0=c0?255:j,Z=u0?0:l0,I0=Z-k1|0,g0=i0-B1|0,E1=(I0|0)>-1,M1=0-I0|0,f0=E1?I0:M1,n0=(I0|0)/(g0|0)&-1,d0=I0>>31,p0=d0|1,C0=o5(n0,g0)|0,I1=(C0|0)>-1,b1=0-C0|0,S0=I1?C0:b1,b0=f0-S0|0,E0=(B|0)>(i0|0),_1=E0?i0:B,y0=(_1|0)>(B1|0),y0&&(w0=1768+(k1<<2)|0,B0=+s[w0>>2],_0=$+(B1<<2)|0,K0=+s[_0>>2],M0=K0*B0,s[_0>>2]=M0),v0=B1+1|0,T0=(v0|0)<(_1|0),T0)for(z0=v0,f1=0,R1=k1;;)if(U0=f1+b0|0,O0=(U0|0)<(g0|0),k0=O0?0:p0,V0=O0?0:g0,h1=U0-V0|0,d=R1+n0|0,F1=d+k0|0,F0=1768+(F1<<2)|0,L0=+s[F0>>2],G0=$+(z0<<2)|0,J0=+s[G0>>2],q0=J0*L0,s[G0>>2]=q0,P0=z0+1|0,g1=(P0|0)==(_1|0),g1){j0=i0,w1=i0,L1=Z;break}else z0=P0,f1=h1,R1=F1;else j0=i0,w1=i0,L1=Z;else j0=$1,w1=B1,L1=k1;if(H0=Q1+1|0,s1=(H0|0)<(T|0),s1)$1=j0,Q1=H0,B1=w1,k1=L1;else{a1=j0,v1=L1;break}}else a1=0,v1=R;if(V=(a1|0)<(B|0),!V)return g=1,g|0;for(e0=1768+(v1<<2)|0,K=+s[e0>>2],p1=a1;;)if(Y0=$+(p1<<2)|0,i1=+s[Y0>>2],x0=i1*K,s[Y0>>2]=x0,o1=p1+1|0,A1=(o1|0)==(B|0),A1){g=1;break}else p1=o1;return g|0}function sb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return E=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$-d|0,m|0}function ab(t){t=t|0;var o=0,a=0;a=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}function Ab(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0;u0=C,g=tl(o|0)|0,d=tl(a|0)|0,y=g+2|0,K=y+d|0,$=K,W=C,C=C+((1*$|0)+15&-16)|0,BC(W|0,o|0)|0,i0=tl(W|0)|0,h0=W+i0|0,f[h0>>0]=61,f[h0+1>>0]=0,_Q(W|0,a|0)|0,r0=e[t>>2]|0,s0=t+8|0,J=e[s0>>2]|0,o0=J<<2,H=o0+8|0,m=J7(r0,H)|0,e[t>>2]=m,I=t+4|0,E=e[I>>2]|0,Q=e[s0>>2]|0,B=Q<<2,S=B+8|0,b=J7(E,S)|0,e[I>>2]=b,v=tl(W|0)|0,w=e[s0>>2]|0,D=b+(w<<2)|0,e[D>>2]=v,x=v+1|0,M=M9(x)|0,L=e[t>>2]|0,R=L+(w<<2)|0,e[R>>2]=M,F=e[t>>2]|0,T=F+(w<<2)|0,N=e[T>>2]|0,BC(N|0,W|0)|0,G=e[s0>>2]|0,V=G+1|0,e[s0>>2]=V,e0=e[t>>2]|0,a0=e0+(V<<2)|0,e[a0>>2]=0,C=u0}function $b(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0;if(K=C,g=(t|0)==0,!g){if(d=e[t>>2]|0,y=(d|0)==0,!y){if(M=t+8|0,L=e[M>>2]|0,R=(L|0)>0,R){for(x=L,T=d,V=0;F=T+(V<<2)|0,N=e[F>>2]|0,G=(N|0)==0,G?E=x:(E2(N),a=e[M>>2]|0,E=a),m=V+1|0,I=(m|0)<(E|0),!!I;)o=e[t>>2]|0,x=E,T=o,V=m;$=e[t>>2]|0,Q=$}else Q=d;E2(Q)}B=t+4|0,S=e[B>>2]|0,b=(S|0)==0,b||E2(S),v=t+12|0,w=e[v>>2]|0,D=(w|0)==0,D||E2(w),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0}}function lb(t){t=t|0;var o=0,a=0,$=0,g=0;g=C,e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,o=le(1,3664)|0,a=t+28|0,e[a>>2]=o}function mC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,d=t+28|0,m=e[d>>2]|0,x=(m|0)==0,x){e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0;return}if(a0=m+8|0,c0=e[a0>>2]|0,S0=(c0|0)>0,S0)for(f1=c0,$1=0;a1=(m+32|0)+($1<<2)|0,I=e[a1>>2]|0,E=(I|0)==0,E?S=f1:(E2(I),o=e[a0>>2]|0,S=o),Q=$1+1|0,B=(Q|0)<(S|0),B;)f1=S,$1=Q;if(T0=m+12|0,q0=e[T0>>2]|0,m1=(q0|0)>0,m1)for(h1=q0,j0=0;D=(m+544|0)+(j0<<2)|0,y=e[D>>2]|0,M=(y|0)==0,M?K=h1:(L=(m+288|0)+(j0<<2)|0,R=e[L>>2]|0,F=25664+(R<<2)|0,T=e[F>>2]|0,N=T+8|0,G=e[N>>2]|0,ss[G&7](y),a=e[T0>>2]|0,K=a),V=j0+1|0,e0=(V|0)<(K|0),e0;)h1=K,j0=V;if(b=m+16|0,v=e[b>>2]|0,w=(v|0)>0,w)for(A1=v,E1=0;J=(m+1056|0)+(E1<<2)|0,o0=e[J>>2]|0,H=(o0|0)==0,H?g0=A1:(h0=(m+800|0)+(E1<<2)|0,i0=e[h0>>2]|0,j=25640+(i0<<2)|0,u0=e[j>>2]|0,$0=u0+12|0,l0=e[$0>>2]|0,ss[l0&7](o0),$=e[b>>2]|0,g0=$),Z=E1+1|0,I0=(Z|0)<(g0|0),I0;)A1=g0,E1=Z;if(W=m+20|0,r0=e[W>>2]|0,s0=(r0|0)>0,s0)for(g1=r0,I1=0;C0=(m+1568|0)+(I1<<2)|0,Q0=e[C0>>2]|0,b0=(Q0|0)==0,b0?N0=g1:(E0=(m+1312|0)+(I1<<2)|0,y0=e[E0>>2]|0,w0=25648+(y0<<2)|0,B0=e[w0>>2]|0,_0=B0+12|0,K0=e[_0>>2]|0,ss[K0&7](Q0),g=e[W>>2]|0,N0=g),M0=I1+1|0,v0=(M0|0)<(N0|0),v0;)g1=N0,I1=M0;if(f0=m+24|0,n0=e[f0>>2]|0,d0=(n0|0)>0,p0=m+2848|0,d0)for(Q1=0;U0=(m+1824|0)+(Q1<<2)|0,O0=e[U0>>2]|0,k0=(O0|0)==0,k0||CC(O0),V0=e[p0>>2]|0,F0=(V0|0)==0,F0||(L0=V0+(Q1*56|0)|0,Ob(L0)),G0=Q1+1|0,z0=e[f0>>2]|0,J0=(G0|0)<(z0|0),J0;)Q1=G0;if(Z0=e[p0>>2]|0,P0=(Z0|0)==0,P0||E2(Z0),H0=m+28|0,s1=e[H0>>2]|0,Y0=(s1|0)>0,Y0)for(p1=0;i1=(m+2852|0)+(p1<<2)|0,x0=e[i1>>2]|0,Cb(x0),o1=p1+1|0,d1=e[H0>>2]|0,u1=(o1|0)<(d1|0),u1;)p1=o1;E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0,e[t+20>>2]=0,e[t+24>>2]=0,e[t+28>>2]=0}function cb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0;if(X2=C,C=C+32|0,T1=X2,E=t+4|0,Q=e[E>>2]|0,g1=t+104|0,k1=e[g1>>2]|0,G1=(k1|0)==0,G1)return e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,d=-129,C=X2,d|0;if(g2=Q+4|0,r2=e[g2>>2]|0,L2=(r2|0)<1,L2)D5=-129,l5=27;else if(uC(T1),N1=Q+28|0,B5=e[N1>>2]|0,B=(B5|0)==0,B)D5=-130,l5=27;else if(F=e[B5>>2]|0,J=(F|0)<64,J)D5=-130,l5=27;else if(I0=B5+4|0,y0=e[I0>>2]|0,k0=(y0|0)<(F|0),k0)D5=-130,l5=27;else{O2(T1,1,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),O2(T1,0,32),s1=e[g2>>2]|0,O2(T1,s1,8),f1=Q+8|0,h1=e[f1>>2]|0,O2(T1,h1,32),A1=Q+12|0,a1=e[A1>>2]|0,O2(T1,a1,32),$1=Q+16|0,j0=e[$1>>2]|0,O2(T1,j0,32),E1=Q+20|0,I1=e[E1>>2]|0,O2(T1,I1,32),Q1=e[B5>>2]|0,p1=Q1+-1|0,B1=O8(p1)|0,O2(T1,B1,4),w1=e[I0>>2]|0,v1=w1+-1|0,L1=O8(v1)|0,O2(T1,L1,4),O2(T1,1,1),M1=k1+64|0,b1=e[M1>>2]|0,_1=(b1|0)==0,_1||E2(b1),R1=b8(T1)|0,F1=M9(R1)|0,e[M1>>2]=F1,U1=T1+8|0,D1=e[U1>>2]|0,P1=b8(T1)|0,ce(F1|0,D1|0,P1|0)|0,Z1=e[M1>>2]|0,e[a>>2]=Z1,x1=b8(T1)|0,z1=a+4|0,e[z1>>2]=x1,q1=a+8|0,e[q1>>2]=1,H1=a+12|0,e[H1>>2]=0,e[H1+4>>2]=0,e[H1+8>>2]=0,e[H1+12>>2]=0,e[H1+16>>2]=0,Ii(T1),gb(T1,o),Y1=k1+68|0,V1=e[Y1>>2]|0,X1=(V1|0)==0,X1||E2(V1),n2=b8(T1)|0,j1=M9(n2)|0,e[Y1>>2]=j1,O1=e[U1>>2]|0,W1=b8(T1)|0,ce(j1|0,O1|0,W1|0)|0,d2=e[Y1>>2]|0,e[$>>2]=d2,s2=b8(T1)|0,C2=$+4|0,e[C2>>2]=s2,a2=$+8|0,K1=$+24|0,e[a2>>2]=0,e[a2+4>>2]=0,e[a2+8>>2]=0,e[a2+12>>2]=0,h2=K1,l2=h2,e[l2>>2]=1,i2=h2+4|0,c2=i2,e[c2>>2]=0,Ii(T1),A2=e[N1>>2]|0,e2=(A2|0)==0;e:do if(!e2){if(O2(T1,5,8),O2(T1,118,8),O2(T1,111,8),O2(T1,114,8),O2(T1,98,8),O2(T1,105,8),O2(T1,115,8),o2=A2+24|0,m2=e[o2>>2]|0,t2=m2+-1|0,O2(T1,t2,8),k2=e[o2>>2]|0,D2=(k2|0)>0,D2)for(Y2=0;;){if(U2=(A2+1824|0)+(Y2<<2)|0,p2=e[U2>>2]|0,W2=OS(p2,T1)|0,P2=(W2|0)==0,Q2=Y2+1|0,!P2)break e;if(S2=e[o2>>2]|0,N2=(Q2|0)<(S2|0),N2)Y2=Q2;else break}if(O2(T1,0,6),O2(T1,0,16),V2=A2+16|0,G2=e[V2>>2]|0,q2=G2+-1|0,O2(T1,q2,6),Z2=e[V2>>2]|0,A5=(Z2|0)>0,A5)for(p5=0;;){if(H2=(A2+800|0)+(p5<<2)|0,t5=e[H2>>2]|0,O2(T1,t5,16),F5=e[H2>>2]|0,i5=25640+(F5<<2)|0,_5=e[i5>>2]|0,j2=e[_5>>2]|0,I5=(j2|0)==0,I5)break e;if(b5=(A2+1056|0)+(p5<<2)|0,Y5=e[b5>>2]|0,vC[j2&3](Y5,T1),g5=p5+1|0,b2=e[V2>>2]|0,s5=(g5|0)<(b2|0),s5)p5=g5;else break}if(R2=A2+20|0,M2=e[R2>>2]|0,y2=M2+-1|0,O2(T1,y2,6),Q5=e[R2>>2]|0,T5=(Q5|0)>0,T5)for($5=0;m5=(A2+1312|0)+($5<<2)|0,x5=e[m5>>2]|0,O2(T1,x5,16),q5=e[m5>>2]|0,L5=25648+(q5<<2)|0,S=e[L5>>2]|0,b=e[S>>2]|0,v=(A2+1568|0)+($5<<2)|0,w=e[v>>2]|0,vC[b&3](w,T1),D=$5+1|0,y=e[R2>>2]|0,x=(D|0)<(y|0),x;)$5=D;if(M=A2+12|0,L=e[M>>2]|0,R=L+-1|0,O2(T1,R,6),T=e[M>>2]|0,N=(T|0)>0,N)for(u5=0;G=(A2+288|0)+(u5<<2)|0,V=e[G>>2]|0,O2(T1,V,16),e0=e[G>>2]|0,K=25664+(e0<<2)|0,a0=e[K>>2]|0,W=e[a0>>2]|0,r0=(A2+544|0)+(u5<<2)|0,s0=e[r0>>2]|0,TQ[W&1](Q,s0,T1),o0=u5+1|0,H=e[M>>2]|0,h0=(o0|0)<(H|0),h0;)u5=o0;if(i0=A2+8|0,j=e[i0>>2]|0,u0=j+-1|0,O2(T1,u0,6),c0=e[i0>>2]|0,$0=(c0|0)>0,$0)for(y5=0;l0=(A2+32|0)+(y5<<2)|0,Z=e[l0>>2]|0,g0=e[Z>>2]|0,O2(T1,g0,1),f0=e[l0>>2]|0,n0=f0+4|0,d0=e[n0>>2]|0,O2(T1,d0,16),p0=e[l0>>2]|0,C0=p0+8|0,S0=e[C0>>2]|0,O2(T1,S0,16),Q0=e[l0>>2]|0,b0=Q0+12|0,E0=e[b0>>2]|0,O2(T1,E0,8),w0=y5+1|0,B0=e[i0>>2]|0,_0=(w0|0)<(B0|0),_0;)y5=w0;return O2(T1,1,1),K0=k1+72|0,M0=e[K0>>2]|0,v0=(M0|0)==0,v0||E2(M0),T0=b8(T1)|0,N0=M9(T0)|0,e[K0>>2]=N0,U0=e[U1>>2]|0,O0=b8(T1)|0,ce(N0|0,U0|0,O0|0)|0,V0=e[K0>>2]|0,e[g>>2]=V0,F0=b8(T1)|0,L0=g+4|0,e[L0>>2]=F0,G0=g+8|0,z0=g+24|0,e[G0>>2]=0,e[G0+4>>2]=0,e[G0+8>>2]=0,e[G0+12>>2]=0,J0=z0,q0=J0,e[q0>>2]=2,Z0=J0+4|0,P0=Z0,e[P0>>2]=0,hC(T1),d=0,C=X2,d|0}while(!1);e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,I=M1,h5=-130}return(l5|0)==27&&(e[a>>2]=0,e[a+4>>2]=0,e[a+8>>2]=0,e[a+12>>2]=0,e[a+16>>2]=0,e[a+20>>2]=0,e[a+24>>2]=0,e[a+28>>2]=0,e[$>>2]=0,e[$+4>>2]=0,e[$+8>>2]=0,e[$+12>>2]=0,e[$+16>>2]=0,e[$+20>>2]=0,e[$+24>>2]=0,e[$+28>>2]=0,e[g>>2]=0,e[g+4>>2]=0,e[g+8>>2]=0,e[g+12>>2]=0,e[g+16>>2]=0,e[g+20>>2]=0,e[g+24>>2]=0,e[g+28>>2]=0,m=k1+64|0,I=m,h5=D5),hC(T1),H0=e[I>>2]|0,Y0=(H0|0)==0,Y0||E2(H0),i1=k1+68|0,x0=e[i1>>2]|0,o1=(x0|0)==0,o1||E2(x0),d1=k1+72|0,u1=e[d1>>2]|0,m1=(u1|0)==0,m1||E2(u1),e[I>>2]=0,e[i1>>2]=0,e[d1>>2]=0,d=h5,C=X2,d|0}function gb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0;for($0=C,O2(t,3,8),O2(t,118,8),O2(t,111,8),O2(t,114,8),O2(t,98,8),O2(t,105,8),O2(t,115,8),O2(t,44,32),a=1200,g=44;m=g+-1|0,I=a+1|0,M=f[a>>0]|0,W=M<<24>>24,O2(t,W,8),J=(m|0)==0,!J;)a=I,g=m;if(o0=o+8|0,H=e[o0>>2]|0,O2(t,H,32),h0=e[o0>>2]|0,i0=(h0|0)>0,!i0){O2(t,1,1);return}for(j=o+4|0,u0=0;;){if(E=e[o>>2]|0,Q=E+(u0<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S)O2(t,0,32);else if(b=e[j>>2]|0,v=b+(u0<<2)|0,w=e[v>>2]|0,O2(t,w,32),D=e[j>>2]|0,y=D+(u0<<2)|0,x=e[y>>2]|0,L=(x|0)==0,!L)for(R=e[o>>2]|0,F=R+(u0<<2)|0,T=e[F>>2]|0,$=T,d=x;N=d+-1|0,G=$+1|0,V=f[$>>0]|0,e0=V<<24>>24,O2(t,e0,8),K=(N|0)==0,!K;)$=G,d=N;if(a0=u0+1|0,r0=e[o0>>2]|0,s0=(a0|0)<(r0|0),s0)u0=a0;else break}O2(t,1,1)}function lQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0;if(V1=C,E=$+1|0,Q=E<<3,g=Q,R=C,C=C+((1*g|0)+15&-16)|0,s0=$<<3,d=s0,Z=C,C=C+((1*d|0)+15&-16)|0,E0=(E|0)==0,E0)N=0;else{for(O0=$;;){if(H0=(O0|0)<(a|0),H0)for(Q1=0,R1=O0;;)if(A1=t+(R1<<2)|0,E1=+s[A1>>2],B=E1,S=R1-O0|0,b=t+(S<<2)|0,v=+s[b>>2],w=v,D=w*B,y=D+Q1,x=R1+1|0,_1=(x|0)==(a|0),_1){I1=y;break}else Q1=y,R1=x;else I1=0;if(M=R+(O0<<3)|0,l1[M>>3]=I1,L=O0+-1|0,F=(O0|0)==0,F)break;O0=L}I=+l1[R>>3],N=I}if(T=N*1.0000000001,G=N*1e-9,V=G+1e-10,e0=($|0)>0,e0)B1=T,F1=0;else return k1=T,j0=k1,C=V1,+j0;for(;;){if(D1=F1+1|0,K=B1>3],H=-o0,h0=(F1|0)>0,h0){for(P1=0,q1=H;;)if(u0=Z+(P1<<3)|0,c0=+l1[u0>>3],$0=F1-P1|0,l0=R+($0<<3)|0,I0=+l1[l0>>3],g0=I0*c0,f0=q1-g0,n0=P1+1|0,b1=(n0|0)==(F1|0),b1){m=f0;break}else P1=n0,q1=f0;if(d0=m/B1,p0=Z+(F1<<3)|0,l1[p0>>3]=d0,C0=(F1|0)/2&-1,S0=(F1|0)>1,S0){for(Q0=F1+-1|0,b0=(C0|0)>1,G1=0;y0=Z+(G1<<3)|0,w0=+l1[y0>>3],B0=Q0-G1|0,_0=Z+(B0<<3)|0,K0=+l1[_0>>3],M0=K0*d0,v0=M0+w0,l1[y0>>3]=v0,T0=w0*d0,N0=+l1[_0>>3],U0=N0+T0,l1[_0>>3]=U0,k0=G1+1|0,V0=(k0|0)<(C0|0),V0;)G1=k0;H1=b0?C0:1,q0=d0,Z1=H1}else q0=d0,Z1=0}else i0=H/B1,j=Z+(F1<<3)|0,l1[j>>3]=i0,q0=i0,Z1=0;if(F0=F1&1,L0=(F0|0)==0,L0||(G0=Z+(Z1<<3)|0,z0=+l1[G0>>3],J0=z0*q0,Z0=J0+z0,l1[G0>>3]=Z0),P0=q0*q0,s1=1-P0,Y0=s1*B1,i1=(D1|0)<($|0),i1)B1=Y0,F1=D1;else{v1=Y0;break}}if((Y1|0)==8&&(a0=Z+(U1<<3)|0,W=$-U1|0,r0=W<<3,g4(a0|0,0,r0|0)|0,v1=w1),e0)p1=.99,x1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;x0=Z+(x1<<3)|0,o1=+l1[x0>>3],d1=o1*p1,l1[x0>>3]=d1,u1=p1*.99,m1=x1+1|0,M1=(m1|0)==($|0),!M1;)p1=u1,x1=m1;if(e0)z1=0;else return k1=v1,j0=k1,C=V1,+j0;for(;;)if(f1=Z+(z1<<3)|0,h1=+l1[f1>>3],g1=h1,a1=o+(z1<<2)|0,s[a1>>2]=g1,$1=z1+1|0,L1=($1|0)==($|0),L1){k1=v1;break}else z1=$1;return j0=k1,C=V1,+j0}function cQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0;if(j=C,I=g+a|0,E=I<<2,d=E,L=C,C=C+((1*d|0)+15&-16)|0,F=(o|0)==0,T=(a|0)>0,F?T&&(G=a<<2,g4(L|0,0,G|0)|0):T&&(N=a<<2,ce(L|0,o|0,N|0)|0),V=(g|0)>0,!V){C=j;return}if(e0=(a|0)>0,e0)r0=0,s0=a;else{K=g<<2,g4(L|0,0,K|0)|0,g4($|0,0,K|0)|0,C=j;return}for(;;){for(o0=r0,H=a,h0=0;;)if(b=o0+1|0,v=L+(o0<<2)|0,w=+s[v>>2],D=H+-1|0,y=t+(D<<2)|0,x=+s[y>>2],M=x*w,R=h0-M,a0=(b|0)==(s0|0),a0){m=R;break}else o0=b,H=D,h0=R;if(Q=L+(s0<<2)|0,s[Q>>2]=m,B=$+(r0<<2)|0,s[B>>2]=m,S=r0+1|0,J=s0+1|0,W=(S|0)==(g|0),W)break;r0=S,s0=J}C=j}function ub(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0;if(_0=C,g=e[o>>2]|0,d=(g|0)>1,d?(O2(a,1,1),y=e[o>>2]|0,K=y+-1|0,O2(a,K,4)):O2(a,0,1),u0=o+1156|0,p0=e[u0>>2]|0,C0=(p0|0)>0,C0){if(O2(a,1,1),S0=e[u0>>2]|0,Q0=S0+-1|0,O2(a,Q0,8),b0=e[u0>>2]|0,m=(b0|0)>0,m)for(I=o+1160|0,E=t+4|0,Q=o+2184|0,E0=0;B=I+(E0<<2)|0,S=e[B>>2]|0,b=e[E>>2]|0,v=b+-1|0,w=O8(v)|0,O2(a,S,w),D=Q+(E0<<2)|0,x=e[D>>2]|0,M=e[E>>2]|0,L=M+-1|0,R=O8(L)|0,O2(a,x,R),F=E0+1|0,T=e[u0>>2]|0,N=(F|0)<(T|0),N;)E0=F}else O2(a,0,1);if(O2(a,0,2),G=e[o>>2]|0,V=(G|0)>1,V){if(e0=t+4|0,a0=e[e0>>2]|0,W=(a0|0)>0,W){for(r0=o+4|0,y0=0;h0=r0+(y0<<2)|0,i0=e[h0>>2]|0,O2(a,i0,4),j=y0+1|0,c0=e[e0>>2]|0,$0=(j|0)<(c0|0),$0;)y0=j;$=e[o>>2]|0,s0=$,B0=13}}else s0=G,B0=13;if(!((B0|0)==13&&(J=(s0|0)>0,!J)))for(o0=o+1028|0,H=o+1092|0,w0=0;O2(a,0,8),l0=o0+(w0<<2)|0,Z=e[l0>>2]|0,O2(a,Z,8),I0=H+(w0<<2)|0,g0=e[I0>>2]|0,O2(a,g0,8),f0=w0+1|0,n0=e[o>>2]|0,d0=(f0|0)<(n0|0),d0;)w0=f0}function hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0;a1=C,g=le(1,3208)|0,d=t+28|0,y=e[d>>2]|0,g4(g|0,0,3208)|0,K=t+4|0,u0=e[K>>2]|0,C0=(u0|0)<1;e:do if(C0)g1=24;else if(v0=r4(o,1)|0,J0=(v0|0)<0,J0)g1=24;else{if(Y0=(v0|0)==0,Y0)e[g>>2]=1;else if(i1=r4(o,4)|0,m=i1+1|0,e[g>>2]=m,I=(i1|0)<0,I)break;if(E=r4(o,1)|0,Q=(E|0)<0,!Q){if(B=(E|0)==0,!B){if(S=r4(o,8)|0,b=S+1|0,v=g+1156|0,e[v>>2]=b,w=(S|0)<0,w)break;for(D=g+1160|0,x=g+2184|0,$=e[K>>2]|0,T=$,x0=0;;){if(F=T+-1|0,N=O8(F)|0,G=r4(o,N)|0,V=D+(x0<<2)|0,e[V>>2]=G,e0=e[K>>2]|0,a0=e0+-1|0,W=O8(a0)|0,r0=r4(o,W)|0,s0=x+(x0<<2)|0,e[s0>>2]=r0,J=r0|G,o0=(J|0)<0,H=(G|0)==(r0|0),u1=H|o0,u1||(h0=e[K>>2]|0,i0=(G|0)<(h0|0),j=(r0|0)<(h0|0),m1=i0&j,L=x0+1|0,!m1))break e;if(M=e[v>>2]|0,R=(L|0)<(M|0),R)T=h0,x0=L;else break}}if(c0=r4(o,2)|0,$0=(c0|0)==0,$0){if(l0=e[g>>2]|0,Z=(l0|0)>1,Z){if(I0=e[K>>2]|0,g0=(I0|0)>0,g0)for(f0=g+4|0,o1=0;;){if(B0=r4(o,4)|0,_0=f0+(o1<<2)|0,e[_0>>2]=B0,K0=e[g>>2]|0,M0=(B0|0)>=(K0|0),T0=(B0|0)<0,f1=T0|M0,y0=o1+1|0,f1)break e;if(E0=e[K>>2]|0,w0=(y0|0)<(E0|0),w0)o1=y0;else{n0=K0,g1=17;break}}}else n0=l0,g1=17;if((g1|0)==17&&(d0=(n0|0)>0,!d0))return a=g,a|0;for(p0=g+1028|0,S0=y+16|0,Q0=g+1092|0,b0=y+20|0,d1=0;;){if(r4(o,8)|0,k0=r4(o,8)|0,V0=p0+(d1<<2)|0,e[V0>>2]=k0,F0=e[S0>>2]|0,L0=(k0|0)>=(F0|0),G0=(k0|0)<0,h1=G0|L0,h1||(z0=r4(o,8)|0,q0=Q0+(d1<<2)|0,e[q0>>2]=z0,Z0=e[b0>>2]|0,P0=(z0|0)>=(Z0|0),H0=(z0|0)<0,A1=H0|P0,U0=d1+1|0,A1))break e;if(N0=e[g>>2]|0,O0=(U0|0)<(N0|0),O0)d1=U0;else{a=g;break}}return a|0}}}while(!1);return(g1|0)==24&&(s1=(g|0)==0,s1)?(a=0,a|0):(E2(g),a=0,a|0)}function db(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function fb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,hs=0,Kn=0,ds=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,rr=0,Ts=0,$o=0,hn=0,lo=0,dn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,nr=0,br=0,z7=0,Dr=0,Io=0,K7=0,S7=0,b7=0,t7=0,D7=0,_r=0,or=0,sr=0,xr=0,p7=0,Ps=0,di=0,rl=0,In=0,mn=0;if(In=C,x=t+64|0,M=e[x>>2]|0,i2=M+4|0,V3=e[i2>>2]|0,Ne=V3+28|0,Ze=e[Ne>>2]|0,Cs=M+104|0,I7=e[Cs>>2]|0,Ls=t+104|0,hn=e[Ls>>2]|0,L=t+36|0,r0=e[L>>2]|0,l0=V3+4|0,b0=e[l0>>2]|0,U0=b0<<2,$=U0,P0=C,C=C+((1*$|0)+15&-16)|0,h1=z8(t,U0)|0,w1=e[l0>>2]|0,P1=w1<<2,j1=z8(t,P1)|0,c2=e[l0>>2]|0,N2=c2<<2,H2=z8(t,N2)|0,b2=hn+4|0,L5=+s[b2>>2],u2=e[l0>>2]|0,F2=u2<<2,g=F2,N5=C,C=C+((1*g|0)+15&-16)|0,T3=hn+8|0,G5=e[T3>>2]|0,Z5=t+28|0,d6=e[Z5>>2]|0,K3=(Ze+544|0)+(d6<<2)|0,A6=e[K3>>2]|0,P6=I7+56|0,C9=e[P6>>2]|0,ye=(d6|0)!=0,ue=ye?2:0,D=ue+G5|0,he=C9+(D*52|0)|0,Je=t+40|0,e[Je>>2]=d6,h4=(u2|0)>0,h4)for(fe=+(r0|0),W3=4/fe,m8=(s[w2>>2]=W3,e[w2>>2]|0),_t=(r0|0)/2&-1,Lt=_t<<2,Mt=m8&2147483647,ct=+(Mt>>>0),be=ct*7177114298428933e-22,j4=be+-764.6162109375,c8=j4,c4=c8+.345,Ai=c4,$i=I7+4|0,zi=t+24|0,d7=t+32|0,V8=Ai+-764.6162109375,nn=r0+-1|0,gs=(nn|0)>1,Xn=Ai+-382.30810546875,Dr=L5,K7=0;;){if(Bs=e[t>>2]|0,ln=Bs+(K7<<2)|0,f7=e[ln>>2]|0,io=z8(t,Lt)|0,Qs=j1+(K7<<2)|0,e[Qs>>2]=io,ys=z8(t,Lt)|0,ro=h1+(K7<<2)|0,e[ro>>2]=ys,no=e[zi>>2]|0,oo=e[Z5>>2]|0,ws=e[d7>>2]|0,Wb(f7,$i,Ze,no,oo,ws),cn=e[Z5>>2]|0,vs=(I7+12|0)+(cn<<2)|0,so=e[vs>>2]|0,ks=e[so>>2]|0,Ss=e[ro>>2]|0,gQ(ks,f7,Ss),bs=e[Z5>>2]|0,ao=(I7+20|0)+(bs*12|0)|0,Yb(ao,f7),Ds=e[f7>>2]|0,_s=Ds&2147483647,xs=+(_s>>>0),Ao=xs*7177114298428933e-22,Ms=V8+Ao,Rs=Ms,gn=Rs+.345,vr=gn,s[f7>>2]=vr,un=N5+(K7<<2)|0,s[un>>2]=vr,gs)for(V=vr,_r=1;;)if(Fs=f7+(_r<<2)|0,rr=+s[Fs>>2],Ts=rr*rr,$o=_r+1|0,lo=f7+($o<<2)|0,dn=+s[lo>>2],Ns=dn*dn,co=Ns+Ts,go=(s[w2>>2]=co,e[w2>>2]|0),Gs=go&2147483647,uo=+(Gs>>>0),ho=uo*35885571492144663e-23,Us=Xn+ho,kr=Us,R=kr+.345,F=R,T=$o>>1,N=f7+(T<<2)|0,s[N>>2]=F,G=F>V,G?(s[un>>2]=F,wr=F):wr=V,e0=_r+2|0,K=(e0|0)<(nn|0),K)V=wr,_r=e0;else{W=wr;break}else W=vr;if(a0=W>0,a0?(s[un>>2]=0,J=0):J=W,s0=J>Dr,Io=s0?J:Dr,o0=K7+1|0,H=e[l0>>2]|0,h0=(o0|0)<(H|0),h0)Dr=Io,K7=o0;else{Q=Lt,S=_t,z7=Io;break}}else b=(r0|0)/2&-1,v=b<<2,Q=v,S=b,z7=L5;i0=z8(t,Q)|0,j=z8(t,Q)|0,u0=e[l0>>2]|0,c0=(u0|0)>0;e:do if(c0){if($0=(r0|0)>1,Z=I7+48|0,$0)b7=0;else{for(S7=0;;){o6=(A6+4|0)+(S7<<2)|0,C6=e[o6>>2]|0,z3=h1+(S7<<2)|0,M3=e[z3>>2]|0,e6=e[t>>2]|0,F6=e6+(S7<<2)|0,l6=e[F6>>2]|0,o3=l6+(S<<2)|0,e[Je>>2]=d6,K6=z8(t,60)|0,A3=H2+(S7<<2)|0,e[A3>>2]=K6,di=K6,mn=di+60|0;do e[di>>2]=0,di=di+4|0;while((di|0)<(mn|0));if(fQ(he,o3,i0),c6=N5+(S7<<2)|0,B6=+s[c6>>2],IQ(he,l6,j,z7,B6),el(he,i0,j,1,l6,M3,o3),R3=(A6+1028|0)+(C6<<2)|0,Y6=e[R3>>2]|0,D6=(Ze+800|0)+(Y6<<2)|0,U6=e[D6>>2]|0,t9=(U6|0)==1,!t9){a=-1;break}if(Q6=e[Z>>2]|0,e9=Q6+(Y6<<2)|0,G3=e[e9>>2]|0,n9=X$(t,G3,o3,l6)|0,V6=e[A3>>2]|0,s9=V6+28|0,e[s9>>2]=n9,c9=Ru(t)|0,J6=(c9|0)==0,J6||(T6=e[A3>>2]|0,i9=T6+28|0,_6=e[i9>>2]|0,O6=(_6|0)==0,O6||(el(he,i0,j,2,l6,M3,o3),U3=e[R3>>2]|0,q6=e[Z>>2]|0,a9=q6+(U3<<2)|0,h9=e[a9>>2]|0,o9=X$(t,h9,o3,l6)|0,B9=e[A3>>2]|0,Q9=B9+56|0,e[Q9>>2]=o9,el(he,i0,j,0,l6,M3,o3),d9=e[R3>>2]|0,f9=e[Z>>2]|0,H9=f9+(d9<<2)|0,y6=e[H9>>2]|0,H6=X$(t,y6,o3,l6)|0,A9=e[A3>>2]|0,e[A9>>2]=H6,Y9=e[R3>>2]|0,y9=e[Z>>2]|0,ge=y9+(Y9<<2)|0,pe=e[ge>>2]|0,V9=e[A3>>2]|0,ie=e[V9>>2]|0,R9=V9+28|0,w9=e[R9>>2]|0,W6=Gt(t,pe,ie,w9,9362)|0,$9=e[A3>>2]|0,we=$9+4|0,e[we>>2]=W6,Re=e[R3>>2]|0,D9=e[Z>>2]|0,Fe=D9+(Re<<2)|0,Te=e[Fe>>2]|0,Ge=e[A3>>2]|0,qe=e[Ge>>2]|0,n4=Ge+28|0,ve=e[n4>>2]|0,He=Gt(t,Te,qe,ve,18724)|0,J9=e[A3>>2]|0,Ye=J9+8|0,e[Ye>>2]=He,Ue=e[R3>>2]|0,Ee=e[Z>>2]|0,v4=Ee+(Ue<<2)|0,W9=e[v4>>2]|0,v9=e[A3>>2]|0,k4=e[v9>>2]|0,Y4=v9+28|0,nt=e[Y4>>2]|0,Ve=Gt(t,W9,k4,nt,28086)|0,V4=e[A3>>2]|0,o4=V4+12|0,e[o4>>2]=Ve,R4=e[R3>>2]|0,ot=e[Z>>2]|0,re=ot+(R4<<2)|0,u4=e[re>>2]|0,Ce=e[A3>>2]|0,N6=e[Ce>>2]|0,ze=Ce+28|0,P9=e[ze>>2]|0,de=Gt(t,u4,N6,P9,37449)|0,ne=e[A3>>2]|0,d4=ne+16|0,e[d4>>2]=de,f4=e[R3>>2]|0,ke=e[Z>>2]|0,s4=ke+(f4<<2)|0,Pe=e[s4>>2]|0,I4=e[A3>>2]|0,k9=e[I4>>2]|0,f6=I4+28|0,J4=e[f6>>2]|0,S4=Gt(t,Pe,k9,J4,46811)|0,Se=e[A3>>2]|0,Ie=Se+20|0,e[Ie>>2]=S4,z6=e[R3>>2]|0,F4=e[Z>>2]|0,T4=F4+(z6<<2)|0,st=e[T4>>2]|0,me=e[A3>>2]|0,xe=e[me>>2]|0,mt=me+28|0,_9=e[mt>>2]|0,S9=Gt(t,st,xe,_9,56173)|0,Oe=e[A3>>2]|0,a4=Oe+24|0,e[a4>>2]=S9,d8=e[R3>>2]|0,N4=e[Z>>2]|0,f8=N4+(d8<<2)|0,D8=e[f8>>2]|0,e8=e[A3>>2]|0,I8=e8+28|0,Ut=e[I8>>2]|0,Pt=e8+56|0,Ot=e[Pt>>2]|0,qt=Gt(t,D8,Ut,Ot,9362)|0,t8=e[A3>>2]|0,i8=t8+32|0,e[i8>>2]=qt,_8=e[R3>>2]|0,Ht=e[Z>>2]|0,Yt=Ht+(_8<<2)|0,Vt=e[Yt>>2]|0,xt=e[A3>>2]|0,pt=xt+28|0,Jt=e[pt>>2]|0,zt=xt+56|0,r8=e[zt>>2]|0,n8=Gt(t,Vt,Jt,r8,18724)|0,Et=e[A3>>2]|0,z4=Et+36|0,e[z4>>2]=n8,G4=e[R3>>2]|0,at=e[Z>>2]|0,x9=at+(G4<<2)|0,p8=e[x9>>2]|0,b4=e[A3>>2]|0,E8=b4+28|0,x8=e[E8>>2]|0,o8=b4+56|0,L8=e[o8>>2]|0,A4=Gt(t,p8,x8,L8,28086)|0,s8=e[A3>>2]|0,Kt=s8+40|0,e[Kt>>2]=A4,At=e[R3>>2]|0,Ke=e[Z>>2]|0,U4=Ke+(At<<2)|0,$t=e[U4>>2]|0,Ct=e[A3>>2]|0,Rt=Ct+28|0,m4=e[Rt>>2]|0,oe=Ct+56|0,lt=e[oe>>2]|0,Bt=Gt(t,$t,m4,lt,37449)|0,Qt=e[A3>>2]|0,p4=Qt+44|0,e[p4>>2]=Bt,D4=e[R3>>2]|0,K4=e[Z>>2]|0,W4=K4+(D4<<2)|0,se=e[W4>>2]|0,P4=e[A3>>2]|0,E4=P4+28|0,gt=e[E4>>2]|0,_4=P4+56|0,yt=e[_4>>2]|0,a8=Gt(t,se,gt,yt,46811)|0,We=e[A3>>2]|0,E3=We+48|0,e[E3>>2]=a8,Z4=e[R3>>2]|0,wt=e[Z>>2]|0,$4=wt+(Z4<<2)|0,Z9=e[$4>>2]|0,l4=e[A3>>2]|0,F9=l4+28|0,Wt=e[F9>>2]|0,C8=l4+56|0,A8=e[C8>>2]|0,$8=Gt(t,Z9,Wt,A8,56173)|0,Zt=e[A3>>2]|0,l8=Zt+52|0,e[l8>>2]=$8)),jt=S7+1|0,ut=e[l0>>2]|0,ht=(jt|0)<(ut|0),ht)S7=jt;else{B=Z,Tt=ut;break e}}return C=In,a|0}for(;;){G6=(A6+4|0)+(b7<<2)|0,C0=e[G6>>2]|0,X6=h1+(b7<<2)|0,d0=e[X6>>2]|0,v6=e[t>>2]|0,L3=v6+(b7<<2)|0,n0=e[L3>>2]|0,I0=n0+(S<<2)|0,e[Je>>2]=d6,n6=z8(t,60)|0,v0=H2+(b7<<2)|0,e[v0>>2]=n6,di=n6,mn=di+60|0;do e[di>>2]=0,di=di+4|0;while((di|0)<(mn|0));for(or=0;i6=d0+(or<<2)|0,x3=e[i6>>2]|0,h3=x3&2147483647,J3=+(h3>>>0),h6=J3*7177114298428933e-22,m3=h6+-764.6162109375,L6=m3,M6=L6+.345,R6=M6,y=or+S|0,S6=n0+(y<<2)|0,s[S6>>2]=R6,r6=or+1|0,b6=(r6|0)<(S|0),b6;)or=r6;if(fQ(he,I0,i0),g0=N5+(b7<<2)|0,f0=+s[g0>>2],IQ(he,n0,j,z7,f0),el(he,i0,j,1,n0,d0,I0),p0=(A6+1028|0)+(C0<<2)|0,S0=e[p0>>2]|0,Q0=(Ze+800|0)+(S0<<2)|0,E0=e[Q0>>2]|0,y0=(E0|0)==1,!y0){a=-1;break}if(w0=e[Z>>2]|0,B0=w0+(S0<<2)|0,_0=e[B0>>2]|0,K0=X$(t,_0,I0,n0)|0,M0=e[v0>>2]|0,T0=M0+28|0,e[T0>>2]=K0,N0=Ru(t)|0,O0=(N0|0)==0,O0||(k0=e[v0>>2]|0,V0=k0+28|0,F0=e[V0>>2]|0,L0=(F0|0)==0,L0||(el(he,i0,j,2,n0,d0,I0),G0=e[p0>>2]|0,z0=e[Z>>2]|0,J0=z0+(G0<<2)|0,q0=e[J0>>2]|0,Z0=X$(t,q0,I0,n0)|0,H0=e[v0>>2]|0,s1=H0+56|0,e[s1>>2]=Z0,el(he,i0,j,0,n0,d0,I0),Y0=e[p0>>2]|0,i1=e[Z>>2]|0,x0=i1+(Y0<<2)|0,o1=e[x0>>2]|0,d1=X$(t,o1,I0,n0)|0,u1=e[v0>>2]|0,e[u1>>2]=d1,m1=e[p0>>2]|0,f1=e[Z>>2]|0,A1=f1+(m1<<2)|0,g1=e[A1>>2]|0,a1=e[v0>>2]|0,$1=e[a1>>2]|0,j0=a1+28|0,E1=e[j0>>2]|0,I1=Gt(t,g1,$1,E1,9362)|0,Q1=e[v0>>2]|0,p1=Q1+4|0,e[p1>>2]=I1,B1=e[p0>>2]|0,v1=e[Z>>2]|0,k1=v1+(B1<<2)|0,L1=e[k1>>2]|0,M1=e[v0>>2]|0,b1=e[M1>>2]|0,_1=M1+28|0,R1=e[_1>>2]|0,F1=Gt(t,L1,b1,R1,18724)|0,U1=e[v0>>2]|0,D1=U1+8|0,e[D1>>2]=F1,Z1=e[p0>>2]|0,G1=e[Z>>2]|0,x1=G1+(Z1<<2)|0,z1=e[x1>>2]|0,q1=e[v0>>2]|0,H1=e[q1>>2]|0,Y1=q1+28|0,V1=e[Y1>>2]|0,X1=Gt(t,z1,H1,V1,28086)|0,n2=e[v0>>2]|0,O1=n2+12|0,e[O1>>2]=X1,g2=e[p0>>2]|0,W1=e[Z>>2]|0,d2=W1+(g2<<2)|0,s2=e[d2>>2]|0,C2=e[v0>>2]|0,a2=e[C2>>2]|0,K1=C2+28|0,h2=e[K1>>2]|0,l2=Gt(t,s2,a2,h2,37449)|0,r2=e[v0>>2]|0,A2=r2+16|0,e[A2>>2]=l2,e2=e[p0>>2]|0,o2=e[Z>>2]|0,m2=o2+(e2<<2)|0,t2=e[m2>>2]|0,k2=e[v0>>2]|0,D2=e[k2>>2]|0,S2=k2+28|0,Q2=e[S2>>2]|0,L2=Gt(t,t2,D2,Q2,46811)|0,U2=e[v0>>2]|0,p2=U2+20|0,e[p2>>2]=L2,W2=e[p0>>2]|0,P2=e[Z>>2]|0,V2=P2+(W2<<2)|0,G2=e[V2>>2]|0,q2=e[v0>>2]|0,Z2=e[q2>>2]|0,A5=q2+28|0,N1=e[A5>>2]|0,t5=Gt(t,G2,Z2,N1,56173)|0,F5=e[v0>>2]|0,i5=F5+24|0,e[i5>>2]=t5,_5=e[p0>>2]|0,j2=e[Z>>2]|0,I5=j2+(_5<<2)|0,b5=e[I5>>2]|0,Y5=e[v0>>2]|0,g5=Y5+28|0,B5=e[g5>>2]|0,s5=Y5+56|0,R2=e[s5>>2]|0,M2=Gt(t,b5,B5,R2,9362)|0,y2=e[v0>>2]|0,Q5=y2+32|0,e[Q5>>2]=M2,T5=e[p0>>2]|0,m5=e[Z>>2]|0,x5=m5+(T5<<2)|0,q5=e[x5>>2]|0,Y2=e[v0>>2]|0,p5=Y2+28|0,$5=e[p5>>2]|0,u5=Y2+56|0,y5=e[u5>>2]|0,T1=Gt(t,q5,$5,y5,18724)|0,D5=e[v0>>2]|0,h5=D5+36|0,e[h5>>2]=T1,l5=e[p0>>2]|0,X2=e[Z>>2]|0,w5=X2+(l5<<2)|0,r5=e[w5>>2]|0,a5=e[v0>>2]|0,d5=a5+28|0,z2=e[d5>>2]|0,f5=a5+56|0,n5=e[f5>>2]|0,M5=Gt(t,r5,z2,n5,28086)|0,e5=e[v0>>2]|0,c5=e5+40|0,e[c5>>2]=M5,v5=e[p0>>2]|0,J5=e[Z>>2]|0,i3=J5+(v5<<2)|0,E5=e[i3>>2]|0,I3=e[v0>>2]|0,d3=I3+28|0,K5=e[d3>>2]|0,r3=I3+56|0,a3=e[r3>>2]|0,B3=Gt(t,E5,K5,a3,37449)|0,W5=e[v0>>2]|0,D3=W5+44|0,e[D3>>2]=B3,f3=e[p0>>2]|0,y3=e[Z>>2]|0,X3=y3+(f3<<2)|0,q3=e[X3>>2]|0,X5=e[v0>>2]|0,b3=X5+28|0,t3=e[b3>>2]|0,s6=X5+56|0,H3=e[s6>>2]|0,c3=Gt(t,q3,t3,H3,46811)|0,g3=e[v0>>2]|0,u3=g3+48|0,e[u3>>2]=c3,Q3=e[p0>>2]|0,z5=e[Z>>2]|0,H5=z5+(Q3<<2)|0,V5=e[H5>>2]|0,S5=e[v0>>2]|0,Y3=S5+28|0,$6=e[Y3>>2]|0,n3=S5+56|0,l3=e[n3>>2]|0,N3=Gt(t,V5,$6,l3,56173)|0,E6=e[v0>>2]|0,k3=E6+52|0,e[k3>>2]=N3)),_3=b7+1|0,S3=e[l0>>2]|0,a6=(_3|0)<(S3|0),a6)b7=_3;else{B=Z,Tt=S3;break e}}return C=In,a|0}else w=I7+48|0,B=w,Tt=u0;while(!1);for(s[b2>>2]=z7,Ft=Tt<<2,d=Ft,X4=C,C=C+((1*d|0)+15&-16)|0,m=Ft,b9=C,C=C+((1*m|0)+15&-16)|0,g8=Ru(t)|0,et=(g8|0)!=0,q8=et?0:7,K8=I7+44|0,M8=t+24|0,u8=t+32|0,R8=Ze+2868|0,H8=I7+52|0,p7=q8;;){if(W8=(hn+12|0)+(p7<<2)|0,dt=e[W8>>2]|0,O2(dt,0,1),Nt=e[K8>>2]|0,O2(dt,d6,Nt),F8=e[Z5>>2]|0,Xt=(F8|0)==0,Xt||(O4=e[M8>>2]|0,O2(dt,O4,1),C4=e[u8>>2]|0,O2(dt,C4,1)),ae=e[l0>>2]|0,T8=(ae|0)>0,T8)for(t7=0;;)if(Oi=(A6+4|0)+(t7<<2)|0,qi=e[Oi>>2]|0,Hi=j1+(t7<<2)|0,pi=e[Hi>>2]|0,Z8=(A6+1028|0)+(qi<<2)|0,Ei=e[Z8>>2]|0,j8=e[B>>2]|0,Ci=j8+(Ei<<2)|0,X8=e[Ci>>2]|0,Bi=H2+(t7<<2)|0,c7=e[Bi>>2]|0,Yi=c7+(p7<<2)|0,Qi=e[Yi>>2]|0,yi=jS(dt,t,X8,Qi,pi)|0,g7=P0+(t7<<2)|0,e[g7>>2]=yi,wi=t7+1|0,li=e[l0>>2]|0,u7=(wi|0)<(li|0),u7)t7=wi;else{I=li;break}else I=ae;if(Vi=e[Z5>>2]|0,Ji=((Ze+3240|0)+(Vi*60|0)|0)+(p7<<2)|0,Ki=e[Ji>>2]|0,yb(p7,R8,he,A6,h1,j1,P0,Ki,I),ci=e[A6>>2]|0,vi=(ci|0)>0,vi)for(D7=0;;){if(Wi=(A6+1092|0)+(D7<<2)|0,ei=e[Wi>>2]|0,gi=e[l0>>2]|0,Y8=(gi|0)>0,Y8)for($n=gi,m7=0,sr=0;;)if(ti=(A6+4|0)+(sr<<2)|0,h7=e[ti>>2]|0,Zi=(h7|0)==(D7|0),Zi?(ki=b9+(m7<<2)|0,ji=P0+(sr<<2)|0,Si=e[ji>>2]|0,Ps=(Si|0)!=0,o=Ps&1,e[ki>>2]=o,bi=j1+(sr<<2)|0,Xi=e[bi>>2]|0,Di=m7+1|0,ii=X4+(m7<<2)|0,e[ii>>2]=Xi,E=e[l0>>2]|0,ui=E,fn=Di):(ui=$n,fn=m7),_i=sr+1|0,e7=(_i|0)<(ui|0),e7)$n=ui,m7=fn,sr=_i;else{fo=fn;break}else fo=0;if(xi=(Ze+1312|0)+(ei<<2)|0,x4=e[xi>>2]|0,Li=25648+(x4<<2)|0,N8=e[Li>>2]|0,hi=N8+20|0,l9=e[hi>>2]|0,B8=e[H8>>2]|0,vt=B8+(ei<<2)|0,Q8=e[vt>>2]|0,G8=kC[l9&7](t,Q8,X4,b9,fo)|0,yr=e[l0>>2]|0,as=(yr|0)>0,as)for(nr=0,xr=0;;)if(Vn=(A6+4|0)+(xr<<2)|0,As=e[Vn>>2]|0,Jn=(As|0)==(D7|0),Jn?($s=j1+(xr<<2)|0,ls=e[$s>>2]|0,zn=nr+1|0,cs=X4+(nr<<2)|0,e[cs>>2]=ls,br=zn):br=nr,on=xr+1|0,us=(on|0)<(yr|0),us)nr=br,xr=on;else{Sr=br;break}else Sr=0;if(hs=e[xi>>2]|0,Kn=25648+(hs<<2)|0,ds=e[Kn>>2]|0,Wn=ds+24|0,Zn=e[Wn>>2]|0,fs=e[H8>>2]|0,sn=fs+(ei<<2)|0,jn=e[sn>>2]|0,NQ[Zn&3](dt,t,jn,X4,b9,Sr,G8,D7)|0,an=D7+1|0,eo=e[A6>>2]|0,Is=(an|0)<(eo|0),Is)D7=an;else break}if(ms=p7+1|0,ps=Ru(t)|0,An=(ps|0)!=0,to=An?14:7,Es=(p7|0)<(to|0),Es)p7=ms;else{a=0;break}}return C=In,a|0}function Ib(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0;if(F2=C,b=t+64|0,v=e[b>>2]|0,Q1=v+4|0,F1=e[Q1>>2]|0,V1=F1+28|0,K1=e[V1>>2]|0,k2=v+104|0,G2=e[k2>>2]|0,I5=t+28|0,T5=e[I5>>2]|0,w=K1+(T5<<2)|0,V=e[w>>2]|0,i0=t+36|0,e[i0>>2]=V,d0=F1+4|0,K0=e[d0>>2]|0,G0=K0<<2,g=G0,o1=C,C=C+((1*g|0)+15&-16)|0,d=G0,j0=C,C=C+((1*d|0)+15&-16)|0,m=G0,E1=C,C=C+((1*m|0)+15&-16)|0,I=G0,I1=C,C=C+((1*I|0)+15&-16)|0,p1=e[d0>>2]|0,B1=(p1|0)>0,B1)for(w1=o+4|0,v1=o+1028|0,k1=G2+48|0,L1=V<<1,M1=L1&2147483646,X2=0;;)if(P1=w1+(X2<<2)|0,Z1=e[P1>>2]|0,G1=v1+(Z1<<2)|0,x1=e[G1>>2]|0,z1=(K1+800|0)+(x1<<2)|0,q1=e[z1>>2]|0,H1=25640+(q1<<2)|0,Y1=e[H1>>2]|0,X1=Y1+20|0,n2=e[X1>>2]|0,j1=e[k1>>2]|0,O1=j1+(x1<<2)|0,g2=e[O1>>2]|0,W1=mi[n2&15](t,g2)|0,d2=I1+(X2<<2)|0,e[d2>>2]=W1,s2=E1+(X2<<2)|0,e5=(W1|0)!=0,a=e5&1,e[s2>>2]=a,C2=e[t>>2]|0,a2=C2+(X2<<2)|0,h2=e[a2>>2]|0,g4(h2|0,0,M1|0)|0,l2=X2+1|0,i2=e[d0>>2]|0,c2=(l2|0)<(i2|0),c2)X2=l2;else{a1=i2;break}else a1=p1;if(b1=o+1156|0,_1=e[b1>>2]|0,R1=(_1|0)>0,R1)for(U1=o+1160|0,D1=o+2184|0,u2=0;t2=U1+(u2<<2)|0,D2=e[t2>>2]|0,S2=E1+(D2<<2)|0,Q2=e[S2>>2]|0,N2=(Q2|0)==0,L2=D1+(u2<<2)|0,U2=e[L2>>2]|0,N2?(p2=E1+(U2<<2)|0,W2=e[p2>>2]|0,P2=(W2|0)==0,P2||(c5=10)):c5=10,(c5|0)==10&&(c5=0,e[S2>>2]=1,V2=E1+(U2<<2)|0,e[V2>>2]=1),q2=u2+1|0,Z2=(q2|0)<(_1|0),Z2;)u2=q2;if(r2=e[o>>2]|0,A2=(r2|0)>0,A2){for(e2=o+1092|0,o2=G2+52|0,m2=o+4|0,A5=a1,w5=0;;){if(H2=(A5|0)>0,H2)for($1=A5,h5=0,f5=0;;)if(N1=m2+(f5<<2)|0,t5=e[N1>>2]|0,F5=(t5|0)==(w5|0),F5?(i5=E1+(f5<<2)|0,_5=e[i5>>2]|0,j2=j0+(h5<<2)|0,M5=(_5|0)!=0,$=M5&1,e[j2>>2]=$,b5=e[t>>2]|0,Y5=b5+(f5<<2)|0,g5=e[Y5>>2]|0,b2=h5+1|0,B5=o1+(h5<<2)|0,e[B5>>2]=g5,B=e[d0>>2]|0,M2=B,l5=b2):(M2=$1,l5=h5),s5=f5+1|0,R2=(s5|0)<(M2|0),R2)$1=M2,h5=l5,f5=s5;else{D5=l5;break}else D5=0;if(y2=e2+(w5<<2)|0,Q5=e[y2>>2]|0,m5=(K1+1312|0)+(Q5<<2)|0,x5=e[m5>>2]|0,q5=25648+(x5<<2)|0,L5=e[q5>>2]|0,Y2=L5+28|0,p5=e[Y2>>2]|0,$5=e[o2>>2]|0,u5=$5+(Q5<<2)|0,y5=e[u5>>2]|0,kC[p5&7](t,y5,o1,j0,D5)|0,T1=w5+1|0,D=e[o>>2]|0,y=(T1|0)<(D|0),!y)break;Q=e[d0>>2]|0,A5=Q,w5=T1}S=e[b1>>2]|0,x=S}else x=_1;if(M=(x|0)>0,M)for(L=o+1160|0,R=e[t>>2]|0,F=o+2184|0,T=(V|0)/2&-1,N=(V|0)>1,a5=x;;){if(r5=a5+-1|0,s0=L+(r5<<2)|0,J=e[s0>>2]|0,o0=R+(J<<2)|0,H=e[o0>>2]|0,h0=F+(r5<<2)|0,j=e[h0>>2]|0,u0=R+(j<<2)|0,c0=e[u0>>2]|0,N)for(n5=0;;){$0=H+(n5<<2)|0,l0=+s[$0>>2],Z=c0+(n5<<2)|0,I0=+s[Z>>2],g0=l0>0,f0=I0>0;do if(g0)if(f0){s[$0>>2]=l0,n0=l0-I0,s[Z>>2]=n0;break}else{s[Z>>2]=l0,p0=I0+l0,s[$0>>2]=p0;break}else if(f0){s[$0>>2]=l0,C0=I0+l0,s[Z>>2]=C0;break}else{s[Z>>2]=l0,S0=l0-I0,s[$0>>2]=S0;break}while(!1);if(Q0=n5+1|0,b0=(Q0|0)<(T|0),b0)n5=Q0;else break}if(G=(a5|0)>1,G)a5=r5;else break}if(e0=e[d0>>2]|0,K=(e0|0)>0,!K)return C=F2,0;for(a0=o+4|0,W=o+1028|0,r0=G2+48|0,d5=0;;)if(y0=e[t>>2]|0,w0=y0+(d5<<2)|0,B0=e[w0>>2]|0,_0=a0+(d5<<2)|0,M0=e[_0>>2]|0,v0=W+(M0<<2)|0,T0=e[v0>>2]|0,N0=(K1+800|0)+(T0<<2)|0,U0=e[N0>>2]|0,O0=25640+(U0<<2)|0,k0=e[O0>>2]|0,V0=k0+24|0,F0=e[V0>>2]|0,L0=e[r0>>2]|0,z0=L0+(T0<<2)|0,J0=e[z0>>2]|0,q0=I1+(d5<<2)|0,Z0=e[q0>>2]|0,wC[F0&3](t,J0,Z0,B0)|0,P0=d5+1|0,H0=e[d0>>2]|0,s1=(P0|0)<(H0|0),s1)d5=P0;else{E=H0;break}if(E0=(E|0)>0,!E0)return C=F2,0;for(z2=0;Y0=e[t>>2]|0,i1=Y0+(z2<<2)|0,x0=e[i1>>2]|0,d1=e[I5>>2]|0,u1=(G2+12|0)+(d1<<2)|0,m1=e[u1>>2]|0,f1=e[m1>>2]|0,mb(f1,x0,x0),h1=z2+1|0,A1=e[d0>>2]|0,g1=(h1|0)<(A1|0),g1;)z2=h1;return C=F2,0}function pC(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0;if(b1=C,a=(o|0)/4&-1,$=a<<2,w=M9($)|0,V=a+o|0,i0=V<<2,d0=M9(i0)|0,K0=o>>1,G0=+(o|0),o1=G0,E1=+tn(+o1),g=E1*1.4426950408889634,d=+V7(g),m=~~d,I=t+4|0,e[I>>2]=m,e[t>>2]=o,E=t+8|0,e[E>>2]=d0,Q=t+12|0,e[Q>>2]=w,B=(o|0)>3,!B){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(S=+(o|0),b=3.141592653589793/S,v=o<<1,D=+(v|0),y=3.141592653589793/D,w1=0;F=w1<<2,T=+(F|0),N=b*T,G=+iA(+N),e0=G,K=w1<<1,a0=d0+(K<<2)|0,s[a0>>2]=e0,W=+Hn(+N),r0=W,s0=-r0,J=K|1,o0=d0+(J<<2)|0,s[o0>>2]=s0,H=+(J|0),h0=y*H,j=+iA(+h0),u0=j,c0=K+K0|0,$0=d0+(c0<<2)|0,s[$0>>2]=u0,l0=+Hn(+h0),Z=l0,I0=c0+1|0,g0=d0+(I0<<2)|0,s[g0>>2]=Z,f0=w1+1|0,n0=(f0|0)<(a|0),n0;)w1=f0;if(x=(o|0)/8&-1,M=(o|0)>7,!M){j0=4/G0,I1=t+16|0,s[I1>>2]=j0;return}for(L=+(o|0),R=3.141592653589793/L,v1=0;p0=v1<<2,C0=p0|2,S0=+(C0|0),Q0=R*S0,b0=+iA(+Q0),E0=b0*.5,y0=E0,w0=v1<<1,B0=w0+o|0,_0=d0+(B0<<2)|0,s[_0>>2]=y0,M0=+Hn(+Q0),v0=M0*-.5,T0=v0,N0=B0+1|0,U0=d0+(N0<<2)|0,s[U0>>2]=T0,O0=v1+1|0,k0=(O0|0)<(x|0),k0;)v1=O0;if(V0=m+-1|0,F0=1<>2]=j0;return}for(;;){for(Z0=J0,Q1=0,L1=0;;)if(q0=Z0&k1,P0=(q0|0)==0,H0=1<>Y0,x0=(i1|0)==0,x0){B1=p1;break}else Z0=i1,Q1=p1,L1=Y0;if(d1=B1^-1,u1=L0&d1,m1=u1+-1|0,f1=k1<<1,h1=w+(f1<<2)|0,e[h1>>2]=m1,A1=f1|1,g1=w+(A1<<2)|0,e[g1>>2]=B1,a1=k1+1|0,$1=(a1|0)<(x|0),$1)k1=a1;else break}j0=4/G0,I1=t+16|0,s[I1>>2]=j0}function EC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+8|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+12|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0,e[t+12>>2]=0,e[t+16>>2]=0)}function mb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0;for(J3=C,m=e[t>>2]|0,I=m>>1,j1=m>>2,$=I+-7|0,W2=o+($<<2)|0,g=I+j1|0,i5=a+(g<<2)|0,M2=t+8|0,u5=e[M2>>2]|0,d5=u5+(j1<<2)|0,u3=d5,H5=W2,_3=i5;E5=_3+-16|0,y3=H5+8|0,E=+s[y3>>2],L=u3+12|0,r0=+s[L>>2],l0=E*r0,b0=-l0,U0=+s[H5>>2],P0=u3+8|0,h1=+s[P0>>2],w1=h1*U0,P1=b0-w1,s[E5>>2]=P1,O1=+s[H5>>2],c2=+s[L>>2],k2=c2*O1,D2=+s[y3>>2],S2=+s[P0>>2],Q2=S2*D2,N2=k2-Q2,L2=_3+-12|0,s[L2>>2]=N2,U2=H5+24|0,p2=+s[U2>>2],P2=u3+4|0,V2=+s[P2>>2],G2=p2*V2,q2=-G2,Z2=H5+16|0,A5=+s[Z2>>2],H2=+s[u3>>2],N1=H2*A5,t5=q2-N1,F5=_3+-8|0,s[F5>>2]=t5,_5=+s[Z2>>2],j2=+s[P2>>2],I5=j2*_5,b5=+s[U2>>2],Y5=+s[u3>>2],g5=Y5*b5,b2=I5-g5,B5=_3+-4|0,s[B5>>2]=b2,s5=H5+-32|0,R2=u3+16|0,y2=s5>>>0>>0,!y2;)u3=R2,H5=s5,_3=E5;for(Q5=a+(I<<2)|0,d=I+-8|0,T5=o+(d<<2)|0,Q3=d5,V5=T5,S3=i5;m5=Q3+-16|0,x5=V5+16|0,q5=+s[x5>>2],L5=Q3+-4|0,Y2=+s[L5>>2],p5=Y2*q5,$5=V5+24|0,y5=+s[$5>>2],T1=Q3+-8|0,D5=+s[T1>>2],h5=D5*y5,l5=h5+p5,s[S3>>2]=l5,X2=+s[x5>>2],u2=+s[T1>>2],w5=u2*X2,r5=+s[$5>>2],a5=+s[L5>>2],z2=a5*r5,f5=w5-z2,n5=S3+4|0,s[n5>>2]=f5,M5=+s[V5>>2],e5=Q3+-12|0,c5=+s[e5>>2],F2=c5*M5,v5=V5+8|0,J5=+s[v5>>2],i3=+s[m5>>2],I3=i3*J5,d3=I3+F2,K5=S3+8|0,s[K5>>2]=d3,r3=+s[V5>>2],a3=+s[m5>>2],B3=a3*r3,N5=+s[v5>>2],W5=+s[e5>>2],D3=W5*N5,f3=B3-D3,X3=S3+12|0,s[X3>>2]=f3,q3=V5+-32|0,X5=S3+16|0,b3=q3>>>0>>0,!b3;)Q3=m5,V5=q3,S3=X5;for($6=t+4|0,n3=e[$6>>2]|0,uQ(n3,u5,Q5,I),l3=e[t>>2]|0,N3=e[M2>>2]|0,E6=t+12|0,k3=e[E6>>2]|0,hQ(l3,N3,k3,a),t3=e[M2>>2]|0,s6=t3+(I<<2)|0,z5=s6,S5=a,a6=i5,Z5=i5;T3=a6+-16|0,H3=+s[S5>>2],c3=z5+4|0,g3=+s[c3>>2],Q=g3*H3,B=S5+4|0,S=+s[B>>2],b=+s[z5>>2],v=b*S,w=Q-v,D=a6+-4|0,s[D>>2]=w,y=+s[S5>>2],x=+s[z5>>2],M=x*y,R=+s[B>>2],F=+s[c3>>2],T=F*R,N=M+T,G=-N,s[Z5>>2]=G,V=S5+8|0,e0=+s[V>>2],K=z5+12|0,a0=+s[K>>2],W=a0*e0,s0=S5+12|0,J=+s[s0>>2],o0=z5+8|0,H=+s[o0>>2],h0=H*J,i0=W-h0,j=a6+-8|0,s[j>>2]=i0,u0=+s[V>>2],c0=+s[o0>>2],$0=c0*u0,Z=+s[s0>>2],I0=+s[K>>2],g0=I0*Z,f0=$0+g0,n0=-f0,d0=Z5+4|0,s[d0>>2]=n0,p0=S5+16|0,C0=+s[p0>>2],S0=z5+20|0,Q0=+s[S0>>2],E0=Q0*C0,y0=S5+20|0,w0=+s[y0>>2],B0=z5+16|0,_0=+s[B0>>2],K0=_0*w0,M0=E0-K0,v0=a6+-12|0,s[v0>>2]=M0,T0=+s[p0>>2],N0=+s[B0>>2],O0=N0*T0,k0=+s[y0>>2],V0=+s[S0>>2],F0=V0*k0,L0=O0+F0,G0=-L0,z0=Z5+8|0,s[z0>>2]=G0,J0=S5+24|0,q0=+s[J0>>2],Z0=z5+28|0,H0=+s[Z0>>2],s1=H0*q0,Y0=S5+28|0,i1=+s[Y0>>2],x0=z5+24|0,o1=+s[x0>>2],d1=o1*i1,u1=s1-d1,s[T3>>2]=u1,m1=+s[J0>>2],f1=+s[x0>>2],A1=f1*m1,g1=+s[Y0>>2],a1=+s[Z0>>2],$1=a1*g1,j0=A1+$1,E1=-j0,I1=Z5+12|0,s[I1>>2]=E1,Q1=Z5+16|0,p1=S5+32|0,B1=z5+32|0,v1=p1>>>0>>0,v1;)z5=B1,S5=p1,a6=T3,Z5=Q1;for(k1=a+(j1<<2)|0,Y3=i5,i6=k1,x3=k1;;)if(L1=i6+-16|0,M1=Y3+-16|0,b1=Y3+-4|0,_1=+s[b1>>2],R1=i6+-4|0,s[R1>>2]=_1,F1=-_1,s[x3>>2]=F1,U1=Y3+-8|0,D1=+s[U1>>2],Z1=i6+-8|0,s[Z1>>2]=D1,G1=-D1,x1=x3+4|0,s[x1>>2]=G1,z1=Y3+-12|0,q1=+s[z1>>2],H1=i6+-12|0,s[H1>>2]=q1,Y1=-q1,V1=x3+8|0,s[V1>>2]=Y1,X1=+s[M1>>2],s[L1>>2]=X1,n2=-X1,g2=x3+12|0,s[g2>>2]=n2,W1=x3+16|0,d2=W1>>>0>>0,d2)Y3=M1,i6=L1,x3=W1;else{G5=i5,V3=i5;break}for(;s2=V3+-16|0,C2=G5+12|0,a2=e[C2>>2]|0,e[s2>>2]=a2,K1=G5+8|0,h2=e[K1>>2]|0,l2=V3+-12|0,e[l2>>2]=h2,i2=G5+4|0,r2=e[i2>>2]|0,A2=V3+-8|0,e[A2>>2]=r2,e2=e[G5>>2]|0,o2=V3+-4|0,e[o2>>2]=e2,m2=G5+16|0,t2=s2>>>0>Q5>>>0,t2;)G5=m2,V3=s2}function gQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,v=e[t>>2]|0,w=v>>1,s1=v>>2,g1=v>>3,k1=v<<2,$=k1,G1=C,C=C+((1*$|0)+15&-16)|0,g2=G1+(w<<2)|0,g=w+s1|0,r2=o+(g<<2)|0,L2=t+8|0,N1=e[L2>>2]|0,D=N1+(w<<2)|0,e0=(g1|0)>0,e0){for(d=g+1|0,j=o+(d<<2)|0,p0=g1+-1|0,M0=p0>>>1,z0=M0<<1,q0=w+-2|0,Z0=q0-z0|0,P0=g+-4|0,H0=M0<<2,Y0=P0-H0|0,s5=D,x5=0,d5=r2,M5=j;i1=d5+-16|0,x0=s5+-8|0,o1=d5+-8|0,d1=+s[o1>>2],u1=+s[M5>>2],m1=u1+d1,f1=+s[i1>>2],h1=M5+8|0,A1=+s[h1>>2],a1=A1+f1,$1=s5+-4|0,j0=+s[$1>>2],E1=a1*j0,I1=+s[x0>>2],Q1=I1*m1,p1=Q1+E1,S=x5+w|0,B1=G1+(S<<2)|0,s[B1>>2]=p1,w1=+s[x0>>2],v1=w1*a1,L1=+s[$1>>2],M1=L1*m1,b1=v1-M1,_1=x5|1,b=_1+w|0,R1=G1+(b<<2)|0,s[R1>>2]=b1,F1=M5+16|0,U1=x5+2|0,D1=(U1|0)<(g1|0),D1;)s5=x0,x5=U1,d5=i1,M5=F1;P1=z0+2|0,u2=N1+(Z0<<2)|0,w5=o+(Y0<<2)|0,H2=Z0,B5=u2,m5=P1,a5=w5}else H2=w,B5=D,m5=0,a5=r2;if(Z1=o+4|0,x1=w-g1|0,z1=(m5|0)<(x1|0),z1){for(q1=w+-1|0,H1=q1-m5|0,Y1=H1-g1|0,V1=Y1>>>1,X1=V1<<1,n2=m5+X1|0,j1=V1<<2,O1=j1+5|0,W1=-2-X1|0,M2=B5,L5=m5,z2=a5,c5=Z1;d2=M2+-8|0,s2=z2+-16|0,C2=z2+-8|0,a2=+s[C2>>2],K1=+s[c5>>2],h2=a2-K1,l2=+s[s2>>2],i2=c5+8|0,c2=+s[i2>>2],A2=l2-c2,e2=M2+-4|0,o2=+s[e2>>2],m2=A2*o2,t2=+s[d2>>2],k2=t2*h2,D2=k2+m2,E=L5+w|0,S2=G1+(E<<2)|0,s[S2>>2]=D2,Q2=+s[d2>>2],N2=Q2*A2,U2=+s[e2>>2],p2=U2*h2,W2=N2-p2,P2=L5|1,Q=P2+w|0,V2=G1+(Q<<2)|0,s[V2>>2]=W2,G2=c5+16|0,q2=L5+2|0,Z2=(q2|0)<(x1|0),Z2;)M2=d2,L5=q2,z2=s2,c5=G2;A5=n2+2|0,l5=o+(O1<<2)|0,B=H2+W1|0,X2=N1+(B<<2)|0,R2=X2,q5=A5,e5=l5}else R2=B5,q5=m5,e5=Z1;if(t5=(q5|0)<(w|0),t5)for(F5=o+(v<<2)|0,y2=R2,Y2=q5,f5=F5,F2=e5;i5=y2+-8|0,_5=f5+-16|0,j2=f5+-8|0,I5=+s[j2>>2],b5=-I5,Y5=+s[F2>>2],g5=b5-Y5,b2=+s[_5>>2],y=-b2,x=F2+8|0,M=+s[x>>2],L=y-M,R=y2+-4|0,F=+s[R>>2],T=L*F,N=+s[i5>>2],G=N*g5,V=G+T,m=Y2+w|0,K=G1+(m<<2)|0,s[K>>2]=V,a0=+s[i5>>2],W=a0*L,r0=+s[R>>2],s0=r0*g5,J=W-s0,o0=Y2|1,I=o0+w|0,H=G1+(I<<2)|0,s[H>>2]=J,h0=F2+16|0,i0=Y2+2|0,u0=(i0|0)<(w|0),u0;)y2=i5,Y2=i0,f5=_5,F2=h0;if($5=t+4|0,u5=e[$5>>2]|0,uQ(u5,N1,g2,w),h5=e[t>>2]|0,y5=e[L2>>2]|0,T1=t+12|0,D5=e[T1>>2]|0,hQ(h5,y5,D5,G1),c0=(s1|0)>0,!c0){C=J5;return}for($0=a+(w<<2)|0,l0=e[L2>>2]|0,Z=l0+(w<<2)|0,I0=t+16|0,Q5=Z,p5=0,r5=G1,n5=$0;g0=n5+-4|0,f0=+s[r5>>2],n0=+s[Q5>>2],d0=n0*f0,C0=r5+4|0,S0=+s[C0>>2],Q0=Q5+4|0,b0=+s[Q0>>2],E0=b0*S0,y0=E0+d0,w0=+s[I0>>2],B0=y0*w0,_0=a+(p5<<2)|0,s[_0>>2]=B0,K0=+s[r5>>2],v0=+s[Q0>>2],T0=v0*K0,N0=+s[C0>>2],U0=+s[Q5>>2],O0=U0*N0,k0=T0-O0,V0=+s[I0>>2],F0=k0*V0,s[g0>>2]=F0,L0=r5+8|0,G0=Q5+8|0,J0=p5+1|0,T5=(J0|0)==(s1|0),!T5;)Q5=G0,p5=J0,r5=L0,n5=g0;C=J5}function uQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0;if(yr=C,C0=t+-6|0,S0=(t|0)>6,S0)for(I=$+-8|0,Y5=a+(I<<2)|0,R3=$>>1,B=R3+-8|0,e8=a+(B<<2)|0,g=o,B8=Y5,Q8=e8;dt=B8+24|0,Hi=+s[dt>>2],Qi=Q8+24|0,vi=+s[Qi>>2],Si=Hi-vi,Q0=B8+28|0,N0=+s[Q0>>2],Z0=Q8+28|0,f1=+s[Z0>>2],B1=N0-f1,D1=vi+Hi,s[dt>>2]=D1,n2=+s[Z0>>2],l2=n2+N0,s[Q0>>2]=l2,S2=g+4|0,Z2=+s[S2>>2],g5=Z2*B1,q5=+s[g>>2],X2=q5*Si,c5=X2+g5,s[Qi>>2]=c5,B3=+s[g>>2],s6=B3*B1,Y3=+s[S2>>2],i6=Y3*Si,S6=s6-i6,s[Z0>>2]=S6,z3=B8+16|0,Y6=+s[z3>>2],c9=Q8+16|0,o9=+s[c9>>2],y9=Y6-o9,Re=B8+20|0,Ye=+s[Re>>2],V4=Q8+20|0,de=+s[V4>>2],f6=Ye-de,xe=o9+Y6,s[z3>>2]=xe,I8=+s[V4>>2],Vt=I8+Ye,s[Re>>2]=Vt,at=g+20|0,Kt=+s[at>>2],Bt=Kt*f6,_4=g+16|0,F9=+s[_4>>2],Ft=F9*y9,u8=Ft+Bt,s[c9>>2]=u8,W8=+s[_4>>2],Nt=W8*f6,F8=+s[at>>2],Xt=F8*y9,O4=Nt-Xt,s[V4>>2]=O4,C4=B8+8|0,ae=+s[C4>>2],T8=Q8+8|0,Ai=+s[T8>>2],Oi=ae-Ai,qi=B8+12|0,pi=+s[qi>>2],Z8=Q8+12|0,Ei=+s[Z8>>2],j8=pi-Ei,Ci=Ai+ae,s[C4>>2]=Ci,X8=+s[Z8>>2],Bi=X8+pi,s[qi>>2]=Bi,$i=g+36|0,c7=+s[$i>>2],Yi=c7*j8,yi=g+32|0,g7=+s[yi>>2],wi=g7*Oi,li=wi+Yi,s[T8>>2]=li,u7=+s[yi>>2],Vi=u7*j8,Ji=+s[$i>>2],zi=Ji*Oi,Ki=Vi-zi,s[Z8>>2]=Ki,ci=+s[B8>>2],Wi=+s[Q8>>2],ei=ci-Wi,gi=B8+4|0,Y8=+s[gi>>2],ti=Q8+4|0,h7=+s[ti>>2],Zi=Y8-h7,d7=Wi+ci,s[B8>>2]=d7,ki=+s[ti>>2],ji=ki+Y8,s[gi>>2]=ji,bi=g+52|0,Xi=+s[bi>>2],Di=Xi*Zi,ii=g+48|0,_i=+s[ii>>2],e7=_i*ei,ui=e7+Di,s[Q8>>2]=ui,V8=+s[ii>>2],xi=V8*Zi,x4=+s[bi>>2],b0=x4*ei,E0=xi-b0,s[ti>>2]=E0,y0=B8+-32|0,w0=Q8+-32|0,B0=g+64|0,_0=w0>>>0>>0,!_0;)g=B0,B8=y0,Q8=w0;if(K0=(C0|0)>1,K0)for(N8=1;;){if(M0=1<>N8,U0=4<>1,S=O0+-8|0,N=U0+1|0,h0=U0<<1,$0=h0|1,I0=U0*3|0,f0=I0+1|0,d0=U0<<2,hi=0;;){for(V0=o5(hi,T0)|0,F0=a+(V0<<2)|0,m=E+V0|0,L0=a+(m<<2)|0,u0=S+V0|0,G0=a+(u0<<2)|0,d=o,vt=L0,G8=G0;z0=vt+24|0,J0=+s[z0>>2],q0=G8+24|0,P0=+s[q0>>2],H0=J0-P0,s1=vt+28|0,Y0=+s[s1>>2],i1=G8+28|0,x0=+s[i1>>2],o1=Y0-x0,d1=P0+J0,s[z0>>2]=d1,u1=+s[i1>>2],m1=u1+Y0,s[s1>>2]=m1,h1=d+4|0,A1=+s[h1>>2],g1=A1*o1,a1=+s[d>>2],$1=a1*H0,j0=$1+g1,s[q0>>2]=j0,E1=+s[d>>2],I1=E1*o1,Q1=+s[h1>>2],p1=Q1*H0,w1=I1-p1,s[i1>>2]=w1,v1=d+(U0<<2)|0,k1=vt+16|0,L1=+s[k1>>2],M1=G8+16|0,b1=+s[M1>>2],_1=L1-b1,R1=vt+20|0,F1=+s[R1>>2],U1=G8+20|0,P1=+s[U1>>2],Z1=F1-P1,G1=b1+L1,s[k1>>2]=G1,x1=+s[U1>>2],z1=x1+F1,s[R1>>2]=z1,q1=d+(N<<2)|0,H1=+s[q1>>2],Y1=H1*Z1,V1=+s[v1>>2],X1=V1*_1,j1=X1+Y1,s[M1>>2]=j1,O1=+s[v1>>2],g2=O1*Z1,W1=+s[q1>>2],d2=W1*_1,s2=g2-d2,s[U1>>2]=s2,C2=d+(h0<<2)|0,a2=vt+8|0,K1=+s[a2>>2],h2=G8+8|0,i2=+s[h2>>2],c2=K1-i2,r2=vt+12|0,A2=+s[r2>>2],e2=G8+12|0,o2=+s[e2>>2],m2=A2-o2,t2=i2+K1,s[a2>>2]=t2,k2=+s[e2>>2],D2=k2+A2,s[r2>>2]=D2,Q2=d+($0<<2)|0,N2=+s[Q2>>2],L2=N2*m2,U2=+s[C2>>2],p2=U2*c2,W2=p2+L2,s[h2>>2]=W2,P2=+s[C2>>2],V2=P2*m2,G2=+s[Q2>>2],q2=G2*c2,A5=V2-q2,s[e2>>2]=A5,H2=d+(I0<<2)|0,N1=+s[vt>>2],t5=+s[G8>>2],F5=N1-t5,i5=vt+4|0,_5=+s[i5>>2],j2=G8+4|0,I5=+s[j2>>2],b5=_5-I5,b2=t5+N1,s[vt>>2]=b2,B5=+s[j2>>2],s5=B5+_5,s[i5>>2]=s5,R2=d+(f0<<2)|0,M2=+s[R2>>2],y2=M2*b5,Q5=+s[H2>>2],T5=Q5*F5,m5=T5+y2,s[G8>>2]=m5,x5=+s[H2>>2],L5=x5*b5,Y2=+s[R2>>2],p5=Y2*F5,$5=L5-p5,s[j2>>2]=$5,u5=d+(d0<<2)|0,y5=vt+-32|0,T1=G8+-32|0,D5=T1>>>0>>0,!D5;)d=u5,vt=y5,G8=T1;if(h5=hi+1|0,l5=(h5|0)<(M0|0),l5)hi=h5;else break}if(u2=N8+1|0,Li=(u2|0)==(C0|0),Li)break;N8=u2}if(k0=($|0)>0,k0)l9=0;else return;for(;w5=a+(l9<<2)|0,Q=l9|30,r5=a+(Q<<2)|0,a5=+s[r5>>2],T=l9|14,d5=a+(T<<2)|0,z2=+s[d5>>2],f5=a5-z2,H=l9|31,n5=a+(H<<2)|0,M5=+s[n5>>2],c0=l9|15,e5=a+(c0<<2)|0,F2=+s[e5>>2],v5=M5-F2,J5=z2+a5,s[r5>>2]=J5,i3=F2+M5,s[n5>>2]=i3,s[d5>>2]=f5,s[e5>>2]=v5,l0=l9|28,E5=a+(l0<<2)|0,I3=+s[E5>>2],Z=l9|12,d3=a+(Z<<2)|0,K5=+s[d3>>2],r3=I3-K5,g0=l9|29,a3=a+(g0<<2)|0,N5=+s[a3>>2],n0=l9|13,W5=a+(n0<<2)|0,D3=+s[W5>>2],f3=N5-D3,y3=K5+I3,s[E5>>2]=y3,X3=D3+N5,s[a3>>2]=X3,q3=r3*.9238795042037964,X5=f3*.3826834261417389,b3=q3-X5,s[d3>>2]=b3,t3=r3*.3826834261417389,T3=f3*.9238795042037964,H3=T3+t3,s[W5>>2]=H3,p0=l9|26,c3=a+(p0<<2)|0,g3=+s[c3>>2],b=l9|10,u3=a+(b<<2)|0,Q3=+s[u3>>2],z5=g3-Q3,v=l9|27,H5=a+(v<<2)|0,V5=+s[H5>>2],w=l9|11,S5=a+(w<<2)|0,G5=+s[S5>>2],$6=V5-G5,n3=Q3+g3,s[c3>>2]=n3,l3=G5+V5,s[H5>>2]=l3,N3=z5-$6,E6=N3*.7071067690849304,s[u3>>2]=E6,k3=$6+z5,_3=k3*.7071067690849304,s[S5>>2]=_3,D=l9|24,S3=a+(D<<2)|0,a6=+s[S3>>2],y=l9|8,V3=a+(y<<2)|0,Z5=+s[V3>>2],x3=a6-Z5,x=l9|25,h3=a+(x<<2)|0,J3=+s[h3>>2],M=l9|9,h6=a+(M<<2)|0,m3=+s[h6>>2],L6=J3-m3,M6=Z5+a6,s[S3>>2]=M6,R6=m3+J3,s[h3>>2]=R6,r6=x3*.3826834261417389,d6=L6*.9238795042037964,b6=r6-d6,G6=L6*.3826834261417389,X6=x3*.9238795042037964,v6=G6+X6,L=l9|22,L3=a+(L<<2)|0,n6=+s[L3>>2],R=l9|6,o6=a+(R<<2)|0,C6=+s[o6>>2],M3=n6-C6,F=l9|7,K3=a+(F<<2)|0,e6=+s[K3>>2],G=l9|23,F6=a+(G<<2)|0,l6=+s[F6>>2],o3=e6-l6,K6=C6+n6,s[L3>>2]=K6,A3=l6+e6,s[F6>>2]=A3,s[o6>>2]=o3,s[K3>>2]=M3,V=l9|4,c6=a+(V<<2)|0,B6=+s[c6>>2],e0=l9|20,A6=a+(e0<<2)|0,D6=+s[A6>>2],U6=B6-D6,K=l9|5,t9=a+(K<<2)|0,Q6=+s[t9>>2],a0=l9|21,e9=a+(a0<<2)|0,G3=+s[e9>>2],n9=Q6-G3,V6=D6+B6,s[A6>>2]=V6,s9=G3+Q6,s[e9>>2]=s9,P6=n9*.9238795042037964,J6=U6*.3826834261417389,T6=P6+J6,i9=n9*.3826834261417389,_6=U6*.9238795042037964,O6=i9-_6,W=l9|2,U3=a+(W<<2)|0,q6=+s[U3>>2],r0=l9|18,a9=a+(r0<<2)|0,h9=+s[a9>>2],C9=q6-h9,s0=l9|3,B9=a+(s0<<2)|0,Q9=+s[B9>>2],J=l9|19,d9=a+(J<<2)|0,f9=+s[d9>>2],H9=Q9-f9,y6=h9+q6,s[a9>>2]=y6,H6=f9+Q9,s[d9>>2]=H6,A9=H9+C9,Y9=A9*.7071067690849304,ye=H9-C9,ge=ye*.7071067690849304,pe=+s[w5>>2],o0=l9|16,V9=a+(o0<<2)|0,ie=+s[V9>>2],R9=pe-ie,i0=l9|1,w9=a+(i0<<2)|0,W6=+s[w9>>2],j=l9|17,$9=a+(j<<2)|0,we=+s[$9>>2],ue=W6-we,D9=ie+pe,s[V9>>2]=D9,Fe=we+W6,s[$9>>2]=Fe,Te=ue*.3826834261417389,Ge=R9*.9238795042037964,qe=Te+Ge,n4=ue*.9238795042037964,ve=R9*.3826834261417389,He=n4-ve,J9=He-v6,he=qe-b6,Ue=qe+b6,Ee=He+v6,v4=he+J9,W9=J9-he,v9=+s[S5>>2],k4=ge-v9,Y4=+s[u3>>2],nt=Y4-Y9,Ve=Y4+Y9,Je=v9+ge,o4=+s[d3>>2],R4=o4-T6,ot=+s[W5>>2],re=ot-O6,u4=o4+T6,Ce=ot+O6,N6=R4-re,ze=re+R4,P9=+s[d5>>2],Ne=P9-o3,h4=+s[e5>>2],ne=h4-M3,d4=o3+P9,f4=M3+h4,ke=Ne+k4,s4=Ne-k4,Pe=N6+v4,I4=Pe*.7071067690849304,k9=N6-v4,J4=k9*.7071067690849304,fe=I4+ke,s[o6>>2]=fe,S4=ke-I4,s[c6>>2]=S4,Se=ze-W9,Ie=Se*.7071067690849304,z6=ne-nt,F4=Ie+s4,s[w5>>2]=F4,T4=s4-Ie,s[U3>>2]=T4,st=ze+W9,me=st*.7071067690849304,mt=ne+nt,W3=z6+J4,s[B9>>2]=W3,_9=z6-J4,s[w9>>2]=_9,S9=mt+me,s[K3>>2]=S9,Oe=mt-me,s[t9>>2]=Oe,a4=d4+Ve,d8=d4-Ve,N4=Ue+u4,f8=u4-Ue,D8=a4+N4,s[d5>>2]=D8,m8=a4-N4,s[d3>>2]=m8,Ut=Ce-Ee,Pt=f4-Je,Ot=d8+Ut,s[V3>>2]=Ot,qt=d8-Ut,s[u3>>2]=qt,t8=Ce+Ee,i8=f4+Je,_8=Pt+f8,s[S5>>2]=_8,Ht=Pt-f8,s[h6>>2]=Ht,Yt=i8+t8,s[e5>>2]=Yt,_t=i8-t8,s[W5>>2]=_t,xt=+s[h3>>2],pt=Fe-xt,Jt=+s[S3>>2],zt=D9-Jt,r8=Jt+D9,n8=xt+Fe,Et=zt+pt,z4=pt-zt,G4=+s[d9>>2],Lt=+s[H5>>2],x9=G4-Lt,p8=+s[c3>>2],b4=+s[a9>>2],E8=p8-b4,x8=b4+p8,o8=Lt+G4,L8=+s[E5>>2],A4=+s[A6>>2],s8=L8-A4,Mt=+s[a3>>2],At=+s[e9>>2],Ke=Mt-At,U4=A4+L8,$t=At+Mt,Ct=s8-Ke,Rt=Ke+s8,m4=+s[r5>>2],oe=+s[L3>>2],lt=m4-oe,ct=+s[n5>>2],Qt=+s[F6>>2],p4=ct-Qt,D4=oe+m4,K4=Qt+ct,W4=lt+x9,se=lt-x9,P4=Ct+Et,E4=P4*.7071067690849304,gt=Ct-Et,be=gt*.7071067690849304,yt=E4+W4,s[L3>>2]=yt,a8=W4-E4,s[A6>>2]=a8,We=Rt-z4,E3=We*.7071067690849304,Z4=p4-E8,wt=E3+se,s[V9>>2]=wt,$4=se-E3,s[a9>>2]=$4,Z9=Rt+z4,l4=Z9*.7071067690849304,j4=p4+E8,Wt=Z4+be,s[d9>>2]=Wt,C8=Z4-be,s[$9>>2]=C8,A8=j4+l4,s[F6>>2]=A8,$8=j4-l4,s[e9>>2]=$8,Zt=D4+x8,l8=D4-x8,jt=U4+r8,ut=U4-r8,ht=Zt+jt,s[r5>>2]=ht,Ze=Zt-jt,s[E5>>2]=Ze,c8=$t-n8,Tt=K4-o8,X4=l8+c8,s[S3>>2]=X4,b9=l8-c8,s[c3>>2]=b9,g8=$t+n8,et=K4+o8,q8=Tt+ut,s[H5>>2]=q8,K8=Tt-ut,s[h3>>2]=K8,M8=et+g8,s[n5>>2]=M8,R8=et-g8,s[a3>>2]=R8,c4=l9+32|0,H8=(c4|0)<($|0),H8;)l9=c4}function hQ(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0;for(Q1=C,b=t>>1,v=$+(b<<2)|0,G=o+(t<<2)|0,a1=G,$1=a,j0=$,E1=v;h0=e[$1>>2]|0,g=h0+b|0,n0=$+(g<<2)|0,_0=$1+4|0,L0=e[_0>>2]|0,d=L0+b|0,x0=$+(d<<2)|0,m=g+1|0,A1=$+(m<<2)|0,g1=+s[A1>>2],I=d+1|0,w=$+(I<<2)|0,D=+s[w>>2],y=g1-D,x=+s[n0>>2],M=+s[x0>>2],L=M+x,R=+s[a1>>2],F=L*R,T=a1+4|0,N=+s[T>>2],V=N*y,e0=V+F,K=N*L,a0=R*y,W=K-a0,r0=E1+-16|0,s0=D+g1,J=s0*.5,o0=x-M,H=o0*.5,i0=e0+J,s[j0>>2]=i0,j=J-e0,u0=E1+-8|0,s[u0>>2]=j,c0=W+H,$0=j0+4|0,s[$0>>2]=c0,l0=W-H,Z=E1+-4|0,s[Z>>2]=l0,I0=$1+8|0,g0=e[I0>>2]|0,E=g0+b|0,f0=$+(E<<2)|0,d0=$1+12|0,p0=e[d0>>2]|0,Q=p0+b|0,C0=$+(Q<<2)|0,B=E+1|0,S0=$+(B<<2)|0,Q0=+s[S0>>2],S=Q+1|0,b0=$+(S<<2)|0,E0=+s[b0>>2],y0=Q0-E0,w0=+s[f0>>2],B0=+s[C0>>2],K0=B0+w0,M0=a1+8|0,v0=+s[M0>>2],T0=K0*v0,N0=a1+12|0,U0=+s[N0>>2],O0=U0*y0,k0=O0+T0,V0=U0*K0,F0=v0*y0,G0=V0-F0,z0=E0+Q0,J0=z0*.5,q0=w0-B0,Z0=q0*.5,P0=k0+J0,H0=j0+8|0,s[H0>>2]=P0,s1=J0-k0,s[r0>>2]=s1,Y0=G0+Z0,i1=j0+12|0,s[i1>>2]=Y0,o1=G0-Z0,d1=E1+-12|0,s[d1>>2]=o1,u1=a1+16|0,m1=$1+16|0,f1=j0+16|0,h1=f1>>>0>>0,h1;)a1=u1,$1=m1,j0=f1,E1=r0}function pb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0;return B=C,o=t+28|0,a=e[o>>2]|0,$=a+2868|0,g=le(1,36)|0,d=t+4|0,m=e[d>>2]|0,I=g+4|0,e[I>>2]=m,s[g>>2]=-9999,E=g+8|0,e[E>>2]=$,g|0}function Eb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,!o&&E2(t)}function Cb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function Bb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0;A9=C,y6=t,Y9=y6+48|0;do e[y6>>2]=0,y6=y6+4|0;while((y6|0)<(Y9|0));x=e[a>>2]|0,M=t+36|0,e[M>>2]=x,i2=+(x|0),i3=i2*8,f3=i3,g3=+tn(+f3),l3=g3*1.4426950408889634,h3=+V7(l3),G6=h3+-1,F6=~~G6,L=t+32|0,e[L>>2]=F6,r0=+(g|0),l0=r0*.25,b0=l0,U0=b0*.5,P0=+($|0),h1=U0/P0,w1=+tn(+h1),P1=w1*1.4426950216293335,j1=P1+-5.965784072875977,c2=F6+1|0,N2=1<>2]=c5,v5=+($|0),J5=v5+.25,E5=J5*r0,I3=E5,d3=I3*.5,K5=d3/P0,r3=+tn(+K5),a3=r3*1.4426950216293335,B3=a3+-5.965784072875977,N5=H2*B3,W5=N5+.5,D3=~~W5,y3=1-c5|0,X3=y3+D3|0,q3=t+40|0,e[q3>>2]=X3,X5=$<<2,b3=M9(X5)|0,t3=t+16|0,e[t3>>2]=b3,s6=M9(X5)|0,T3=t+20|0,e[T3>>2]=s6,H3=M9(X5)|0,c3=t+24|0,e[c3>>2]=H3,u3=t+4|0,e[u3>>2]=o,e[t>>2]=$,Q3=t+44|0,e[Q3>>2]=g,z5=t+48|0,s[z5>>2]=1,H5=(g|0)<26e3;do if(H5)s[z5>>2]=0;else{if(V5=(g|0)<38e3,V5){s[z5>>2]=.9399999976158142;break}S5=(g|0)>46e3,S5&&(s[z5>>2]=1.274999976158142)}while(!1);Y3=P0*2,G5=+(g|0),$6=($|0)>0,k3=$6,i9=0,o9=0;e:for(;;){for(Q=k3^1,_6=i9;;){if(S3=_6+1|0,a6=+(S3|0),i6=a6*.08664337545633316,V3=i6+2.7488713472395148,Z5=+Yn(+V3),x3=Y3*Z5,J3=x3/G5,h6=+V7(J3),m3=~~h6,E=(m3|0)<=(o9|0),t9=E|Q,!t9){m=S3,I=m3,O6=_6;break}if(L6=(S3|0)<87,L6)_6=S3;else{h9=o9;break e}}for(M6=1272+(O6<<2)|0,R6=+s[M6>>2],S6=1272+(m<<2)|0,r6=+s[S6>>2],d6=r6-R6,b6=I-o9|0,X6=+(b6|0),v6=d6/X6,L3=o9-I|0,n6=o9-$|0,o6=L3>>>0>n6>>>0,H9=o6?L3:n6,n3=o9-H9|0,U6=R6,C9=o9;C6=U6+100,z3=b3+(C9<<2)|0,s[z3>>2]=C6,M3=U6+v6,K3=C9+1|0,V6=(K3|0)==(n3|0),!V6;)U6=M3,C9=K3;if(N3=(n3|0)<($|0),E6=(m|0)<87,E6)k3=N3,i9=m,o9=n3;else{h9=n3;break}}if(_3=(h9|0)<($|0),_3)for(B9=h9;Y6=B9+-1|0,A6=b3+(Y6<<2)|0,D6=e[A6>>2]|0,R=b3+(B9<<2)|0,e[R>>2]=D6,F=B9+1|0,n9=(F|0)==($|0),!n9;)B9=F;if(e6=($|0)>0,e6){for(l6=$<<1,o3=(g|0)/(l6|0)&-1,K6=o+120|0,A3=e[K6>>2]|0,c6=o+124|0,B6=o+116|0,R3=o+112|0,P6=1,U3=0,Q9=-99;;){K=o5(o3,U3)|0,a0=+(K|0),W=a0*.0007399999885819852,s0=W,J=+ts(+s0),o0=J*13.100000381469727,H=o5(K,K)|0,h0=+(H|0),i0=h0*18499999754340024e-24,j=i0,u0=+ts(+j),c0=u0*2.240000009536743,$0=c0+o0,Z=a0*9999999747378752e-20,I0=Z,g0=$0+I0,f0=g0,n0=A3+Q9|0,d0=(n0|0)<(U3|0);e:do if(d0)for(p0=+s[R3>>2],C0=f0-p0,S0=C0,f9=Q9;;){if(Q0=o5(f9,o3)|0,E0=+(Q0|0),y0=E0*.0007399999885819852,w0=y0,B0=+ts(+w0),_0=B0*13.100000381469727,K0=o5(Q0,Q0)|0,M0=+(K0|0),v0=M0*18499999754340024e-24,T0=v0,N0=+ts(+T0),O0=N0*2.240000009536743,k0=E0*9999999747378752e-20,V0=k0,F0=_0+V0,L0=F0+O0,G0=L0($|0);e:do if(z0)J6=P6;else for(J0=e[c6>>2]|0,q0=J0+U3|0,T6=P6;;){if(Y0=(T6|0)<(q0|0),!Y0&&(i1=o5(T6,o3)|0,x0=+(i1|0),o1=x0*.0007399999885819852,d1=o1,u1=+ts(+d1),m1=u1*13.100000381469727,f1=o5(i1,i1)|0,A1=+(f1|0),g1=A1*18499999754340024e-24,a1=g1,$1=+ts(+a1),j0=$1*2.240000009536743,E1=x0*9999999747378752e-20,I1=E1,Q1=m1+I1,p1=Q1+j0,B1=+s[B6>>2],v1=B1+f0,k1=v1,L1=p1>2]=F1,D1=U3+1|0,G3=(D1|0)==($|0),G3)break;P6=J6,U3=D1,Q9=d9}if(e6)for(T=G5*.5,N=e[L>>2]|0,G=N+1|0,V=1<>2]=O1,W1=q6+1|0,e9=(W1|0)==($|0),e9){v=T;break}else q6=W1;else H6=19}else H6=19;if((H6|0)==19&&(y=G5*.5,v=y),d2=o+36|0,s2=v/P0,C2=s2,a2=o+24|0,K1=+s[a2>>2],h2=o+28|0,l2=+s[h2>>2],r2=wb(d2,C2,$,K1,l2)|0,A2=t+8|0,e[A2>>2]=r2,e2=M9(12)|0,o2=t+12|0,e[o2>>2]=e2,m2=M9(X5)|0,e[e2>>2]=m2,t2=M9(X5)|0,k2=e2+4|0,e[k2>>2]=t2,D2=M9(X5)|0,S2=e2+8|0,e[S2>>2]=D2,!!e6)for(Q2=e[u3>>2]|0,b=e[e2>>2]|0,B=e2+4|0,w=e[B>>2]|0,S=e2+8|0,D=e[S>>2]|0,a9=0;L2=+(a9|0),U2=L2+.5,p2=U2*G5,W2=p2/Y3,P2=+tn(+W2),V2=P2*2.885390043258667,G2=V2+-11.931568145751953,q2=G2,Z2=q2<0,s9=Z2?0:q2,d=s9>=16,c9=d?16:s9,A5=~~c9,N1=+(A5|0),t5=c9-N1,F5=t5,i5=1-F5,_5=A5+1|0,j2=(Q2+132|0)+(A5<<2)|0,I5=+s[j2>>2],b5=I5,Y5=b5*i5,g5=(Q2+132|0)+(_5<<2)|0,B5=+s[g5>>2],s5=B5*t5,R2=s5,M2=R2+Y5,y2=M2,Q5=b+(a9<<2)|0,s[Q5>>2]=y2,T5=(Q2+200|0)+(A5<<2)|0,m5=+s[T5>>2],x5=m5,q5=x5*i5,Y2=(Q2+200|0)+(_5<<2)|0,p5=+s[Y2>>2],$5=p5*t5,u5=$5,y5=u5+q5,T1=y5,D5=w+(a9<<2)|0,s[D5>>2]=T1,h5=(Q2+268|0)+(A5<<2)|0,l5=+s[h5>>2],X2=l5,w5=X2*i5,r5=(Q2+268|0)+(_5<<2)|0,a5=+s[r5>>2],d5=a5*t5,z2=d5,f5=z2+w5,n5=f5,M5=D+(a9<<2)|0,s[M5>>2]=n5,e5=a9+1|0,Q6=(e5|0)==($|0),!Q6;)a9=e5}function dQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;if(P0=C,a=(t|0)==0,!a){if($=t+16|0,w=e[$>>2]|0,V=(w|0)==0,V||E2(w),i0=t+20|0,d0=e[i0>>2]|0,K0=(d0|0)==0,K0||E2(d0),F0=t+24|0,L0=e[F0>>2]|0,G0=(L0|0)==0,G0||E2(L0),g=t+8|0,d=e[g>>2]|0,m=(d|0)==0,!m){for(E=d,J0=0;I=E+(J0<<2)|0,Q=e[I>>2]|0,B=e[Q>>2]|0,E2(B),S=e[g>>2]|0,b=S+(J0<<2)|0,v=e[b>>2]|0,D=v+4|0,y=e[D>>2]|0,E2(y),x=e[g>>2]|0,M=x+(J0<<2)|0,L=e[M>>2]|0,R=L+8|0,F=e[R>>2]|0,E2(F),T=e[g>>2]|0,N=T+(J0<<2)|0,G=e[N>>2]|0,e0=G+12|0,K=e[e0>>2]|0,E2(K),a0=e[g>>2]|0,W=a0+(J0<<2)|0,r0=e[W>>2]|0,s0=r0+16|0,J=e[s0>>2]|0,E2(J),o0=e[g>>2]|0,H=o0+(J0<<2)|0,h0=e[H>>2]|0,j=h0+20|0,u0=e[j>>2]|0,E2(u0),c0=e[g>>2]|0,$0=c0+(J0<<2)|0,l0=e[$0>>2]|0,Z=l0+24|0,I0=e[Z>>2]|0,E2(I0),g0=e[g>>2]|0,f0=g0+(J0<<2)|0,n0=e[f0>>2]|0,p0=n0+28|0,C0=e[p0>>2]|0,E2(C0),S0=e[g>>2]|0,Q0=S0+(J0<<2)|0,b0=e[Q0>>2]|0,E2(b0),E0=J0+1|0,z0=(E0|0)==17,!z0;)o=e[g>>2]|0,E=o,J0=E0;y0=e[g>>2]|0,E2(y0)}w0=t+12|0,B0=e[w0>>2]|0,_0=(B0|0)==0,_0||(M0=e[B0>>2]|0,E2(M0),v0=e[w0>>2]|0,T0=v0+4|0,N0=e[T0>>2]|0,E2(N0),U0=e[w0>>2]|0,O0=U0+8|0,k0=e[O0>>2]|0,E2(k0),V0=e[w0>>2]|0,E2(V0)),q0=t,H0=q0+52|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0))}}function fQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0;if(Q0=C,m=e[t>>2]|0,I=m<<2,d=I,M=C,C=C+((1*d|0)+15&-16)|0,W=t+24|0,u0=e[W>>2]|0,mQ(m,u0,o,a,140,-1),c0=(m|0)>0,c0)for(d0=0;$0=o+(d0<<2)|0,l0=+s[$0>>2],Z=a+(d0<<2)|0,I0=+s[Z>>2],E=l0-I0,Q=M+(d0<<2)|0,s[Q>>2]=E,B=d0+1|0,f0=(B|0)==(m|0),!f0;)d0=B;if(S=e[W>>2]|0,b=t+4|0,v=e[b>>2]|0,w=v+128|0,D=e[w>>2]|0,mQ(m,S,M,a,0,D),c0)p0=0;else{C=Q0;return}for(;x=o+(p0<<2)|0,L=+s[x>>2],R=M+(p0<<2)|0,F=+s[R>>2],T=L-F,s[R>>2]=T,N=p0+1|0,n0=(N|0)==(m|0),!n0;)p0=N;if(!c0){C=Q0;return}for(y=e[b>>2]|0,C0=0;G=a+(C0<<2)|0,V=+s[G>>2],e0=V,K=e0+.5,a0=~~K,r0=(a0|0)>39,$=r0?39:a0,s0=($|0)<0,g=s0?0:$,J=M+(C0<<2)|0,o0=+s[J>>2],H=(y+336|0)+(g<<2)|0,h0=+s[H>>2],i0=h0+o0,s[G>>2]=i0,j=C0+1|0,g0=(j|0)==(m|0),!g0;)C0=j;C=Q0}function IQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0;if(E5=C,F=e[t>>2]|0,T=t+40|0,h1=e[T>>2]|0,w1=h1<<2,I=w1,P1=C,C=C+((1*I|0)+15&-16)|0,j1=t+4|0,i2=e[j1>>2]|0,Q2=i2+4|0,A5=+s[Q2>>2],g5=A5+g,N=(h1|0)>0,N)for($5=0;H=P1+($5<<2)|0,s[H>>2]=-9999,f0=$5+1|0,B0=(f0|0)<(h1|0),B0;)$5=f0;if(F0=i2+8|0,i1=+s[F0>>2],d1=g50,u1){for(m1=t+16|0,f1=e[m1>>2]|0,h5=0;A1=f1+(h5<<2)|0,g1=+s[A1>>2],a1=g1+q5,$1=a+(h5<<2)|0,s[$1>>2]=a1,j0=h5+1|0,Y2=(j0|0)==(F|0),!Y2;)h5=j0;if(E1=t+8|0,I1=e[E1>>2]|0,Q1=i2+496|0,p1=+s[Q1>>2],B1=p1-$,u1)for(v1=t+20|0,k1=e[v1>>2]|0,L1=t+32|0,M1=t+36|0,b1=t+28|0,u5=0;;){_1=o+(u5<<2)|0,R1=+s[_1>>2],F1=k1+(u5<<2)|0,U1=e[F1>>2]|0,D5=u5,a5=R1;e:for(;;)for(y5=D5;;){if(D1=y5+1|0,Z1=(D1|0)<(F|0),!Z1){S=0,v=D1,T1=y5,d5=a5;break e}if(G1=k1+(D1<<2)|0,x1=e[G1>>2]|0,z1=(x1|0)==(U1|0),!z1){S=1,v=D1,T1=y5,d5=a5;break e}if(q1=o+(D1<<2)|0,H1=+s[q1>>2],Y1=H1>a5,Y1){D5=D1,a5=H1;continue e}else y5=D1}if(V1=d5+6,X1=a+(T1<<2)|0,n2=+s[X1>>2],O1=V1>n2,O1&&(g2=e[L1>>2]|0,W1=U1>>g2,d2=(W1|0)>16,m=d2?16:W1,s2=(m|0)<0,d=s2?0:m,C2=I1+(d<<2)|0,a2=e[C2>>2]|0,K1=e[M1>>2]|0,h2=B1+d5,l2=h2,c2=l2+-30,r2=c2*.10000000149011612,A2=~~r2,e2=(A2|0)<0,o2=e2?0:A2,m2=(o2|0)>7,t2=m2?7:o2,k2=a2+(t2<<2)|0,D2=e[k2>>2]|0,S2=D2+4|0,N2=+s[S2>>2],L2=~~N2,U2=+s[D2>>2],p2=~~U2,W2=(p2|0)<(L2|0),W2))for(P2=k1+(T1<<2)|0,V2=e[P2>>2]|0,G2=e[b1>>2]|0,q2=V2-G2|0,Z2=+(q2|0),H2=K1>>1,N1=+(H2|0),t5=U2+-16,F5=+(K1|0),i5=t5*F5,_5=i5-N1,j2=_5+Z2,I5=~~j2,p5=p2,J5=I5;b5=(J5|0)>0,b5&&(R=p5+2|0,Y5=D2+(R<<2)|0,b2=+s[Y5>>2],B5=b2+d5,s5=P1+(J5<<2)|0,R2=+s[s5>>2],M2=R2>2]=B5)),y2=J5+K1|0,Q5=(y2|0)<(h1|0),T5=p5+1|0,m5=(T5|0)<(L2|0),c5=m5&Q5,c5;)p5=T5,J5=y2;if(S)u5=v;else{M=M1;break}}else i3=7}else i3=7;(i3|0)==7&&(y=t+36|0,M=y),x5=e[M>>2]|0,vb(P1,x5,h1),G=e[t>>2]|0,V=(G|0)>1;e:do if(V)for(e0=t+20|0,K=t+28|0,a0=e[e0>>2]|0,W=e[a0>>2]|0,r0=x5>>1,s0=W-r0|0,J=e[K>>2]|0,o0=s0-J|0,h0=e[j1>>2]|0,i0=h0+32|0,Z=1,n0=W,X2=0,F2=o0;;){c0=P1+(F2<<2)|0,$0=+s[c0>>2],l0=a0+(Z<<2)|0,I0=e[l0>>2]|0,g0=I0+n0|0,d0=g0>>1,p0=d0-J|0,C0=+s[i0>>2],S0=$0>C0,z2=S0?C0:$0,Q0=(F2|0)<(p0|0);t:do if(Q0)for(E=F2,n5=z2;;){for(b0=n5==-9999,Q=E;;){if(E0=Q+1|0,y0=P1+(E0<<2)|0,w0=+s[y0>>2],_0=w0>-9999,_0){if(K0=w0=(G|0),U0=(n0|0)>(T0|0),M5=N0|U0;t:do if(M5)u2=X2;else for(w5=X2;;){if(O0=a+(w5<<2)|0,k0=+s[O0>>2],V0=k0>2]=f5),L0=w5+1|0,G0=(L0|0)<(G|0),!G0){u2=L0;break t}if(D=a0+(L0<<2)|0,L=e[D>>2]|0,z0=(L|0)>(T0|0),z0){u2=L0;break}else w5=L0}while(!1);if(j=u2+1|0,u0=(j|0)<(G|0),!u0){l5=u2;break e}w=a0+(u2<<2)|0,x=e[w>>2]|0,Z=j,n0=x,X2=u2,F2=v5}else l5=0;while(!1);if(J0=e[T>>2]|0,q0=J0+-1|0,Z0=P1+(q0<<2)|0,P0=+s[Z0>>2],H0=(l5|0)<(G|0),H0)r5=l5;else{C=E5;return}for(;s1=a+(r5<<2)|0,Y0=+s[s1>>2],x0=Y0>2]=P0),o1=r5+1|0,L5=(o1|0)==(G|0),!L5;)r5=o1;C=E5}function el(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0;if(M0=C,E=e[t>>2]|0,Q=t+4|0,R=e[Q>>2]|0,s0=(R+12|0)+($<<2)|0,Z=+s[s0>>2],C0=(E|0)>0,!!C0)for(S0=t+48|0,Q0=+s[S0>>2],b0=t+12|0,E0=e[b0>>2]|0,B=E0+($<<2)|0,S=e[B>>2]|0,b=R+108|0,v=($|0)==1,w=Q0,D=w*.005,y=w*3e-4,B0=0;x=o+(B0<<2)|0,M=+s[x>>2],L=S+(B0<<2)|0,F=+s[L>>2],T=F+M,N=+s[b>>2],G=T>N,_0=G?N:T,V=a+(B0<<2)|0,e0=+s[V>>2],K=e0+Z,a0=_0>2]=I,v&&(r0=m+(B0<<2)|0,J=+s[r0>>2],o0=_0-J,H=o0>-17.200000762939453,h0=o0+17.200000762939453,i0=h0,H?(j=D*i0,u0=1-j,c0=u0,$0=c0<0,$0?y0=9999999747378752e-20:y0=c0):(l0=y*i0,I0=1-l0,g0=I0,y0=g0),f0=d+(B0<<2)|0,n0=+s[f0>>2],d0=n0*y0,s[f0>>2]=d0),p0=B0+1|0,w0=(p0|0)==(E|0),!w0;)B0=p0}function Qb(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0;return N=C,$=o+4|0,g=e[$>>2]|0,w=g+28|0,D=e[w>>2]|0,y=o+40|0,x=e[y>>2]|0,M=D+(x<<2)|0,L=e[M>>2]|0,R=(L|0)/2&-1,F=+(R|0),d=g+8|0,m=e[d>>2]|0,I=+(m|0),E=F/I,Q=D+2936|0,B=+s[Q>>2],S=B*E,b=S+t,v=b<-9999,a=v?-9999:b,+a}function yb(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0;if(Ye=C,c0=e[a>>2]|0,$0=a+4|0,A5=e[$0>>2]|0,X3=A5+500|0,Q3=e[X3>>2]|0,E6=(Q3|0)==0,E6?W5=16:(h6=A5+508|0,v6=e[h6>>2]|0,W5=v6),o3=e[A5>>2]|0,Q6=((o+132|0)+(o3*60|0)|0)+(t<<2)|0,l0=e[Q6>>2]|0,b0=(o+252|0)+(t<<2)|0,U0=e[b0>>2]|0,P0=1624+(U0<<3)|0,h1=+l1[P0>>3],w1=(o+312|0)+(t<<2)|0,P1=e[w1>>2]|0,j1=E<<2,S=j1,i2=C,C=C+((1*S|0)+15&-16)|0,b=j1,Q2=C,C=C+((1*b|0)+15&-16)|0,y=j1,H2=C,C=C+((1*y|0)+15&-16)|0,x=j1,b2=C,C=C+((1*x|0)+15&-16)|0,M=j1,L5=C,C=C+((1*M|0)+15&-16)|0,u2=$+1156|0,F2=(c0|0)>1e3,He=F2?1696:1624,qe=He+(P1<<3)|0,Ge=+l1[qe>>3],N5=o5(j1,W5)|0,L=N5,D3=C,C=C+((1*L|0)+15&-16)|0,e[i2>>2]=D3,v=N5,f3=C,C=C+((1*v|0)+15&-16)|0,e[Q2>>2]=f3,w=N5,y3=C,C=C+((1*w|0)+15&-16)|0,e[H2>>2]=y3,D=N5,q3=C,C=C+((1*D|0)+15&-16)|0,e[b2>>2]=q3,X5=(E|0)>1,X5&&(b3=D3+(W5<<2)|0,t3=i2+4|0,e[t3>>2]=b3,s6=f3+(W5<<2)|0,T3=Q2+4|0,e[T3>>2]=s6,H3=y3+(W5<<2)|0,c3=H2+4|0,e[c3>>2]=H3,g3=q3+(W5<<2)|0,u3=b2+4|0,e[u3>>2]=g3,C9=(E|0)==2,!C9))for(S5=2;F=e[i2>>2]|0,G=e[Q2>>2]|0,V=e[H2>>2]|0,e0=e[b2>>2]|0,V5=o5(S5,W5)|0,Y3=F+(V5<<2)|0,G5=i2+(S5<<2)|0,e[G5>>2]=Y3,$6=G+(V5<<2)|0,n3=Q2+(S5<<2)|0,e[n3>>2]=$6,l3=V+(V5<<2)|0,N3=H2+(S5<<2)|0,e[N3>>2]=l3,k3=e0+(V5<<2)|0,_3=b2+(S5<<2)|0,e[_3>>2]=k3,S3=S5+1|0,o9=(S3|0)==(E|0),!o9;)S5=S3;if(z5=e[u2>>2]|0,H5=(c0|0)>0,H5)for(a6=e[b2>>2]|0,i6=(E|0)>0,V3=c0^-1,Z5=W5^-1,H6=0,y9=V3;;){if(J3=(y9|0)>(Z5|0),n4=J3?y9:Z5,m3=n4^-1,L6=c0-H6|0,M6=(W5|0)>(L6|0),Q=M6?L6:W5,ce(L5|0,m|0,j1|0)|0,g4(a6|0,0,N5|0)|0,i6)for(R6=(Q|0)>0,S6=l0-H6|0,$9=0;;){if(L3=d+($9<<2)|0,n6=e[L3>>2]|0,o6=n6+(H6<<2)|0,C6=L5+($9<<2)|0,z3=e[C6>>2]|0,M3=(z3|0)==0,M3){if(R6)for(F6=H2+($9<<2)|0,l6=e[F6>>2]|0,K6=i2+($9<<2)|0,A3=e[K6>>2]|0,c6=Q2+($9<<2)|0,B6=e[c6>>2]|0,R3=b2+($9<<2)|0,Y6=e[R3>>2]|0,w9=0;G0=l6+(w9<<2)|0,s[G0>>2]=1000000013351432e-25,z0=A3+(w9<<2)|0,s[z0>>2]=0,J0=B6+(w9<<2)|0,s[J0>>2]=0,q0=Y6+(w9<<2)|0,e[q0>>2]=0,H=w9+H6|0,Z0=n6+(H<<2)|0,e[Z0>>2]=0,H0=w9+1|0,q6=(H0|0)==(m3|0),!q6;)w9=H0}else{if(K3=H2+($9<<2)|0,e6=e[K3>>2]|0,R6){for(ie=0;h0=ie+H6|0,A6=n6+(h0<<2)|0,D6=e[A6>>2]|0,U6=1768+(D6<<2)|0,t9=e[U6>>2]|0,e9=e6+(ie<<2)|0,e[e9>>2]=t9,G3=ie+1|0,_6=(G3|0)==(m3|0),!_6;)ie=G3;if(n9=g+($9<<2)|0,V6=e[n9>>2]|0,s9=b2+($9<<2)|0,c9=e[s9>>2]|0,R6){for(V9=0;P6=(V9|0)>=(S6|0),u0=P6?Ge:h1,J6=u0,i0=V9+H6|0,T6=V6+(i0<<2)|0,i9=+s[T6>>2],Q9=+tr(+i9),Z=e6+(V9<<2)|0,I0=+s[Z>>2],g0=Q9/I0,f0=c9+(V9<<2)|0,D9=!(g0>2]=B,n0=V9+1|0,O6=(n0|0)==(Q|0),!O6;)V9=n0;if(R6)for(d0=i2+($9<<2)|0,p0=e[d0>>2]|0,C0=Q2+($9<<2)|0,S0=e[C0>>2]|0,R9=0;;)if(Q0=R9+H6|0,E0=V6+(Q0<<2)|0,y0=+s[E0>>2],w0=y0*y0,B0=p0+(R9<<2)|0,s[B0>>2]=w0,_0=S0+(R9<<2)|0,s[_0>>2]=w0,K0=+s[E0>>2],M0=K0<0,M0&&(v0=+s[B0>>2],T0=-v0,s[B0>>2]=T0),N0=e6+(R9<<2)|0,O0=+s[N0>>2],k0=O0*O0,s[N0>>2]=k0,V0=R9+1|0,U3=(V0|0)==(m3|0),U3){T=C0,L0=p0;break}else R9=V0;else J9=21}else J9=21}else J9=21;(J9|0)==21&&(J9=0,R=i2+($9<<2)|0,K=e[R>>2]|0,J=Q2+($9<<2)|0,T=J,L0=K),F0=e[T>>2]|0,Fe=e[$0>>2]|0,+pQ(Fe,l0,L0,F0,e6,0,H6,Q,o6)}if(s1=$9+1|0,a9=(s1|0)==(E|0),a9)break;$9=s1}if(r6=e[u2>>2]|0,d6=(r6|0)>0,d6)for(b6=(Q|0)>0,G6=I-H6|0,X6=l0-H6|0,B3=r6,ve=0;;){if(Y0=($+1160|0)+(ve<<2)|0,i1=e[Y0>>2]|0,x0=($+2184|0)+(ve<<2)|0,o1=e[x0>>2]|0,d1=d+(i1<<2)|0,u1=e[d1>>2]|0,m1=u1+(H6<<2)|0,f1=d+(o1<<2)|0,A1=e[f1>>2]|0,g1=i2+(i1<<2)|0,a1=e[g1>>2]|0,$1=i2+(o1<<2)|0,j0=e[$1>>2]|0,E1=Q2+(i1<<2)|0,I1=e[E1>>2]|0,Q1=Q2+(o1<<2)|0,p1=e[Q1>>2]|0,B1=H2+(i1<<2)|0,v1=e[B1>>2]|0,k1=H2+(o1<<2)|0,L1=e[k1>>2]|0,M1=b2+(i1<<2)|0,b1=e[M1>>2]|0,_1=b2+(o1<<2)|0,R1=e[_1>>2]|0,F1=L5+(i1<<2)|0,U1=e[F1>>2]|0,D1=(U1|0)==0,Z1=L5+(o1<<2)|0,D1?(G1=e[Z1>>2]|0,x1=(G1|0)==0,x1?X2=B3:J9=31):J9=31,(J9|0)==31){if(J9=0,e[Z1>>2]=1,e[F1>>2]=1,b6)for(W6=0;;){z1=(W6|0)<(G6|0);do if(z1){if(q1=b1+(W6<<2)|0,H1=e[q1>>2]|0,Y1=(H1|0)==0,V1=R1+(W6<<2)|0,Y1&&(X1=e[V1>>2]|0,n2=(X1|0)==0,n2)){i5=(W6|0)<(X6|0);do if(i5)_5=j0+(W6<<2)|0,j2=+s[_5>>2],I5=a1+(W6<<2)|0,b5=+s[I5>>2],Y5=b5+j2,s[I5>>2]=Y5,f9=+tr(+Y5),g5=I1+(W6<<2)|0,s[g5>>2]=f9,N=_5;else if(B5=a1+(W6<<2)|0,s5=+s[B5>>2],R2=j0+(W6<<2)|0,M2=+s[R2>>2],y2=M2+s5,Q5=y2<0,B9=+tr(+s5),d9=+tr(+M2),T5=d9+B9,m5=I1+(W6<<2)|0,s[m5>>2]=T5,Q5){x5=-T5,s[B5>>2]=x5,N=R2;break}else{s[B5>>2]=T5,N=R2;break}while(!1);q5=p1+(W6<<2)|0,s[q5>>2]=0,s[N>>2]=0,e[V1>>2]=1,o0=W6+H6|0,Y2=A1+(o0<<2)|0,e[Y2>>2]=0;break}O1=a1+(W6<<2)|0,g2=+s[O1>>2],H9=+tr(+g2),W1=j0+(W6<<2)|0,d2=+s[W1>>2],y6=+tr(+d2),s2=y6+H9,s[O1>>2]=s2,C2=I1+(W6<<2)|0,a2=+s[C2>>2],K1=p1+(W6<<2)|0,h2=+s[K1>>2],l2=h2+a2,s[C2>>2]=l2,e[V1>>2]=1,e[q1>>2]=1,j=W6+H6|0,c2=u1+(j<<2)|0,r2=e[c2>>2]|0,A2=A1+(j<<2)|0,e2=e[A2>>2]|0,ye=(r2|0)>-1,we=0-r2|0,o2=ye?r2:we,ge=(e2|0)>-1,ue=0-e2|0,m2=ge?e2:ue,t2=(o2|0)>(m2|0),t2?(k2=(r2|0)>0,D2=r2-e2|0,S2=e2-r2|0,N2=k2?D2:S2,e[A2>>2]=N2,W=e[c2>>2]|0,P2=W,q2=N2):(L2=(e2|0)>0,U2=r2-e2|0,p2=e2-r2|0,W2=L2?U2:p2,e[A2>>2]=W2,e[c2>>2]=e2,a0=e[A2>>2]|0,P2=e2,q2=a0),pe=(P2|0)>-1,Re=0-P2|0,V2=pe?P2:Re,G2=V2<<1,Z2=(q2|0)<(G2|0),Z2||(N1=0-q2|0,e[A2>>2]=N1,t5=e[c2>>2]|0,F5=0-t5|0,e[c2>>2]=F5)}while(!1);if(p5=v1+(W6<<2)|0,$5=+s[p5>>2],u5=L1+(W6<<2)|0,y5=+s[u5>>2],T1=y5+$5,s[u5>>2]=T1,s[p5>>2]=T1,D5=W6+1|0,h9=(D5|0)==(m3|0),h9)break;W6=D5}Te=e[$0>>2]|0,+pQ(Te,l0,a1,I1,v1,b1,H6,Q,m1),r0=e[u2>>2]|0,X2=r0}if(h5=ve+1|0,l5=(h5|0)<(X2|0),l5)B3=X2,ve=h5;else{a3=X2;break}}else a3=r6;if(w5=H6+W5|0,r5=(c0|0)>(w5|0),Y9=y9+W5|0,r5)H6=w5,y9=Y9;else{x3=a3;break}}else x3=z5;if(h3=(x3|0)>0,h3)r3=x3,A9=0;else{C=Ye;return}for(;a5=($+1160|0)+(A9<<2)|0,d5=e[a5>>2]|0,z2=m+(d5<<2)|0,f5=e[z2>>2]|0,n5=(f5|0)==0,M5=($+2184|0)+(A9<<2)|0,n5?(e5=e[M5>>2]|0,c5=m+(e5<<2)|0,v5=e[c5>>2]|0,J5=(v5|0)==0,J5?K5=r3:J9=52):J9=52,(J9|0)==52&&(J9=0,e[z2>>2]=1,i3=e[M5>>2]|0,E5=m+(i3<<2)|0,e[E5>>2]=1,s0=e[u2>>2]|0,K5=s0),I3=A9+1|0,d3=(I3|0)<(K5|0),d3;)r3=K5,A9=I3;C=Ye}function wb(t,o,a,$,g){t=t|0,o=+o,a=a|0,$=+$,g=+g;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0;for(et=C,C=C+32480|0,W3=et+32256|0,b9=et+1792|0,_9=et,L=a<<2,b=L,R=C,C=C+((1*b|0)+15&-16)|0,r2=M9(68)|0,g4(b9|0,0,30464)|0,x3=$>0,ge=$<0,x9=0;;){for(h4=x9<<2,A4=0;s5=A4+h4|0,p5=(s5|0)<88,p5?(r5=1272+(s5<<2)|0,J5=+s[r5>>2],Z9=J5):Z9=-30,D3=s5+1|0,c3=(D3|0)<88,c3?(P6=1272+(D3<<2)|0,J6=+s[P6>>2],i9=Z9>J6,i9?l4=J6:l4=Z9):(c9=Z9>-30,c9?l4=-30:l4=Z9),_6=s5+2|0,O6=(_6|0)<88,O6?(q6=1272+(_6<<2)|0,a9=+s[q6>>2],h9=l4>a9,h9?F9=a9:F9=l4):(U3=l4>-30,U3?F9=-30:F9=l4),o9=s5+3|0,C9=(o9|0)<88,C9?(d9=1272+(o9<<2)|0,f9=+s[d9>>2],H9=F9>f9,H9?j4=f9:j4=F9):(B9=F9>-30,B9?j4=-30:j4=F9),y6=W3+(A4<<2)|0,s[y6>>2]=j4,H6=A4+1|0,Ot=(H6|0)==56,!Ot;)A4=H6;if(fe=(b9+(x9*1792|0)|0)+448|0,F=2792+(x9*1344|0)|0,ce(fe|0,F|0,224)|0,J=(b9+(x9*1792|0)|0)+672|0,I0=(2792+(x9*1344|0)|0)+224|0,ce(J|0,I0|0,224)|0,y0=(b9+(x9*1792|0)|0)+896|0,k0=(2792+(x9*1344|0)|0)+448|0,ce(y0|0,k0|0,224)|0,s1=(b9+(x9*1792|0)|0)+1120|0,g1=(2792+(x9*1344|0)|0)+672|0,ce(s1|0,g1|0,224)|0,k1=(b9+(x9*1792|0)|0)+1344|0,G1=(2792+(x9*1344|0)|0)+896|0,ce(k1|0,G1|0,224)|0,g2=(b9+(x9*1792|0)|0)+1568|0,A2=(2792+(x9*1344|0)|0)+1120|0,ce(g2|0,A2|0,224)|0,U2=b9+(x9*1792|0)|0,ce(U2|0,F|0,224)|0,t5=(b9+(x9*1792|0)|0)+224|0,ce(t5|0,F|0,224)|0,x3)for(At=0;;){if(ge)for(Bt=0;pe=16-Bt|0,x8=(pe|0)>-1,$8=0-pe|0,V9=x8?pe:$8,ie=+(V9|0),R9=ie*g,w9=R9+$,W6=w9<0,I=W6?0:w9,$9=I>0,d=$9?0:I,we=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(Bt<<2)|0,Re=+s[we>>2],ue=Re+d,s[we>>2]=ue,Fe=Bt+1|0,Vt=(Fe|0)==56,!Vt;)Bt=Fe;else for(ct=0;h3=16-ct|0,o8=(h3|0)>-1,Zt=0-h3|0,G6=o8?h3:Zt,F6=+(G6|0),U6=F6*g,T6=U6+$,Q9=T6<0,E=Q9?0:T6,A9=((b9+(x9*1792|0)|0)+(At*224|0)|0)+(ct<<2)|0,Y9=+s[A9>>2],y9=Y9+E,s[A9>>2]=y9,ye=ct+1|0,Yt=(ye|0)==56,!Yt;)ct=ye;if(n3=At+1|0,_t=(n3|0)==8,_t)break;At=n3}else for(Mt=0;;){if(ge)for(Qt=0;n4=16-Qt|0,L8=(n4|0)>-1,l8=0-n4|0,ve=L8?n4:l8,He=+(ve|0),J9=He*g,Ye=J9+$,he=Ye>0,m=he?0:Ye,Ee=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(Qt<<2)|0,v4=+s[Ee>>2],W9=v4+m,s[Ee>>2]=W9,v9=Qt+1|0,t8=(v9|0)==56,!t8;)Qt=v9;else for(lt=0;k4=16-lt|0,E8=(k4|0)>-1,A8=0-k4|0,Y4=E8?k4:A8,nt=+(Y4|0),Ve=nt*g,V4=Ve+$,Je=((b9+(x9*1792|0)|0)+(Mt*224|0)|0)+(lt<<2)|0,R4=+s[Je>>2],ot=R4+V4,s[Je>>2]=ot,re=lt+1|0,qt=(re|0)==56,!qt;)lt=re;if(u4=Mt+1|0,i8=(u4|0)==8,i8)break;Mt=u4}for(Te=t+(x9<<2)|0,Ge=+s[Te>>2],qe=Ge,Ke=0;;){for(Ce=(Ke|0)<2,N6=+(Ke|0),v=N6*10,w=70-v,ze=Ce?50:w,P9=ze+qe,de=P9,Et=0;Ne=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(Et<<2)|0,ne=+s[Ne>>2],d4=ne+de,s[Ne>>2]=d4,f4=Et+1|0,Oe=(f4|0)==56,!Oe;)Et=f4;for(ke=_9+(Ke*224|0)|0,ce(ke|0,W3|0,224)|0,s4=+(Ke|0),Pe=s4*10,I4=70-Pe,Lt=0;;)if(k9=(_9+(Ke*224|0)|0)+(Lt<<2)|0,f6=+s[k9>>2],J4=I4+f6,s[k9>>2]=J4,S4=Lt+1|0,f8=(S4|0)==56,f8){at=0;break}else Lt=S4;for(;Se=((b9+(x9*1792|0)|0)+(Ke*224|0)|0)+(at<<2)|0,Ie=+s[Se>>2],z6=(_9+(Ke*224|0)|0)+(at<<2)|0,F4=+s[z6>>2],T4=Ie>F4,T4&&(s[z6>>2]=Ie),st=at+1|0,N4=(st|0)==56,!N4;)at=st;if(me=Ke+1|0,_8=(me|0)==8,_8){U4=1;break}else Ke=me}for(;;){for(xe=U4+-1|0,G4=0;;)if(mt=(_9+(xe*224|0)|0)+(G4<<2)|0,T=+s[mt>>2],N=(_9+(U4*224|0)|0)+(G4<<2)|0,G=+s[N>>2],V=T>2]=T),e0=G4+1|0,d8=(e0|0)==56,d8){z4=0;break}else G4=e0;for(;K=(_9+(U4*224|0)|0)+(z4<<2)|0,a0=+s[K>>2],W=((b9+(x9*1792|0)|0)+(U4*224|0)|0)+(z4<<2)|0,r0=+s[W>>2],s0=a0>2]=a0),o0=z4+1|0,a4=(o0|0)==56,!a4;)z4=o0;if(H=U4+1|0,Ht=(H|0)==8,Ht)break;U4=H}if(h0=x9+1|0,xt=(h0|0)==17,xt)break;x9=h0}for(D9=o,Ue=(a|0)>0,o4=a^-1,b4=0;;){for(i0=M9(32)|0,j=r2+(b4<<2)|0,e[j>>2]=i0,u0=+(b4|0),c0=u0*.5,$0=u0*.34657350182533264,l0=$0+4.135165354540845,Z=+Yn(+l0),g0=Z/D9,f0=+tA(+g0),n0=~~f0,d0=+(n0|0),p0=d0*o,C0=p0+1,S0=C0,Q0=+tn(+S0),b0=Q0*2.885390043258667,E0=b0+-11.931568145751953,w0=+gC(+E0),B0=~~w0,_0=n0+1|0,K0=+(_0|0),M0=K0*o,v0=M0,T0=+tn(+v0),N0=T0*2.885390043258667,U0=N0+-11.931568145751953,O0=+tA(+U0),V0=~~O0,F0=(B0|0)>(b4|0),p8=F0?b4:B0,L0=(p8|0)<0,wt=L0?0:p8,G0=(V0|0)>16,Q=G0?16:V0,z0=(wt|0)>(Q|0),J0=b4+1|0,q0=(J0|0)<17,Z0=c0+3.9657840728759766,$4=0;;){if(P0=M9(232)|0,H0=i0+($4<<2)|0,e[H0>>2]=P0,Ue)for($t=0;Y0=R+($t<<2)|0,s[Y0>>2]=999,i1=$t+1|0,S9=(i1|0)==(a|0),!S9;)$t=i1;if(!z0)for(p4=wt;;){for(x0=+(p4|0),o1=x0*.5,Ct=0,D4=0;;){if(f1=+(Ct|0),h1=f1*.125,A1=h1+o1,a1=A1+3.9032840728759766,$1=a1*.6931470036506653,j0=+Yn(+$1),E1=j0/D9,I1=~~E1,Q1=A1+4.028284072875977,p1=Q1*.6931470036506653,B1=+Yn(+p1),w1=B1/D9,v1=w1+1,L1=~~v1,M1=(I1|0)<0,B=M1?0:I1,b1=(B|0)>(a|0),a8=b1?a:B,_1=(a8|0)<(D4|0),We=_1?a8:D4,R1=(L1|0)<0,r8=R1?0:L1,F1=(r8|0)>(a|0),Wt=F1?a:r8,U1=(We|0)<(Wt|0),D1=(We|0)<(a|0),jt=U1&D1,jt)for(P1=((b9+(p4*1792|0)|0)+($4*224|0)|0)+(Ct<<2)|0,Z1=+s[P1>>2],x1=(D4|0)<(a|0),z1=x1?D4:a,q1=z1^-1,H1=(I1|0)>0,x=I1^-1,Y1=H1?x:-1,V1=(Y1|0)<(q1|0),Ze=V1?q1:Y1,X1=Ze^-1,n2=(L1|0)>0,M=L1^-1,j1=n2?M:-1,O1=(j1|0)<(o4|0),c8=O1?o4:j1,W1=c8-Ze|0,d2=Ze+a|0,s2=d2^-1,C2=W1>>>0>s2>>>0,Tt=C2?W1:s2,a2=X1-Tt|0,se=We;;)if(K1=R+(se<<2)|0,h2=+s[K1>>2],l2=h2>Z1,l2&&(s[K1>>2]=Z1),i2=se+1|0,pt=(i2|0)==(a2|0),pt){K4=a2;break}else se=i2;else K4=We;if(c2=Ct+1|0,Jt=(c2|0)==56,Jt){W4=K4;break}else Ct=c2,D4=K4}if(d1=(W4|0)<(a|0),d1)for(u1=((b9+(p4*1792|0)|0)+($4*224|0)|0)+220|0,m1=+s[u1>>2],P4=W4;e2=R+(P4<<2)|0,o2=+s[e2>>2],m2=o2>m1,m2&&(s[e2>>2]=m1),t2=P4+1|0,zt=(t2|0)==(a|0),!zt;)P4=t2;if(k2=p4+1|0,D2=(p4|0)<(Q|0),D2)p4=k2;else break}if(q0){for(Rt=0,E4=0;;){if(P2=+(Rt|0),V2=P2*.125,G2=V2+c0,q2=G2+3.9032840728759766,Z2=q2*.6931470036506653,A5=+Yn(+Z2),H2=A5/D9,N1=~~H2,F5=G2+4.028284072875977,i5=F5*.6931470036506653,_5=+Yn(+i5),j2=_5/D9,I5=j2+1,b5=~~I5,Y5=(N1|0)<0,S=Y5?0:N1,g5=(S|0)>(a|0),E3=g5?a:S,b2=(E3|0)<(E4|0),Z4=b2?E3:E4,B5=(b5|0)<0,n8=B5?0:b5,R2=(n8|0)>(a|0),C8=R2?a:n8,M2=(Z4|0)<(C8|0),y2=(Z4|0)<(a|0),ut=M2&y2,ut)for(Q5=((b9+(J0*1792|0)|0)+($4*224|0)|0)+(Rt<<2)|0,T5=+s[Q5>>2],m5=(E4|0)<(a|0),x5=m5?E4:a,q5=x5^-1,L5=(N1|0)>0,D=N1^-1,Y2=L5?D:-1,$5=(Y2|0)<(q5|0),ht=$5?q5:Y2,u5=ht^-1,y5=(b5|0)>0,y=b5^-1,T1=y5?y:-1,D5=(T1|0)<(o4|0),Ft=D5?o4:T1,h5=Ft-ht|0,l5=ht+a|0,X2=l5^-1,u2=h5>>>0>X2>>>0,X4=u2?h5:X2,w5=u5-X4|0,be=Z4;;)if(a5=R+(be<<2)|0,d5=+s[a5>>2],z2=d5>T5,z2&&(s[a5>>2]=T5),f5=be+1|0,D8=(f5|0)==(w5|0),D8){gt=w5;break}else be=f5;else gt=Z4;if(n5=Rt+1|0,e8=(n5|0)==56,e8){_4=gt;break}else Rt=n5,E4=gt}if(L2=(_4|0)<(a|0),L2)for(p2=((b9+(J0*1792|0)|0)+($4*224|0)|0)+220|0,W2=+s[p2>>2],yt=_4;M5=R+(yt<<2)|0,e5=+s[M5>>2],c5=e5>W2,c5&&(s[M5>>2]=W2),F2=yt+1|0,I8=(F2|0)==(a|0),!I8;)yt=F2}for(S2=i0+($4<<2)|0,Q2=i0+($4<<2)|0,N2=i0+($4<<2)|0,m4=0;;){I3=+(m4|0),d3=I3*.125,K5=Z0+d3,r3=K5*.6931470036506653,a3=+Yn(+r3),B3=a3/D9,N5=~~B3,W5=(N5|0)<0;do if(W5)f3=m4+2|0,y3=e[S2>>2]|0,X3=y3+(f3<<2)|0,s[X3>>2]=-999;else if(q3=(N5|0)<(a|0),q3){s6=R+(N5<<2)|0,T3=e[s6>>2]|0,H3=m4+2|0,g3=e[Q2>>2]|0,u3=g3+(H3<<2)|0,e[u3>>2]=T3;break}else{X5=m4+2|0,b3=e[N2>>2]|0,t3=b3+(X5<<2)|0,s[t3>>2]=-999;break}while(!1);if(Q3=m4+1|0,m8=(Q3|0)==56,m8)break;m4=Q3}v5=P0+8|0,i3=+s[v5>>2],E5=i3>-200;do if(E5)oe=0;else if(z5=P0+12|0,H5=+s[z5>>2],V5=H5>-200,V5)oe=1;else if(S3=P0+16|0,a6=+s[S3>>2],i6=a6>-200,i6)oe=2;else if(V3=P0+20|0,Z5=+s[V3>>2],J3=Z5>-200,J3)oe=3;else if(h6=P0+24|0,m3=+s[h6>>2],L6=m3>-200,L6)oe=4;else if(M6=P0+28|0,R6=+s[M6>>2],S6=R6>-200,S6)oe=5;else if(r6=P0+32|0,d6=+s[r6>>2],b6=d6>-200,b6)oe=6;else if(X6=P0+36|0,v6=+s[X6>>2],L3=v6>-200,L3)oe=7;else if(n6=P0+40|0,o6=+s[n6>>2],C6=o6>-200,C6)oe=8;else if(z3=P0+44|0,M3=+s[z3>>2],K3=M3>-200,K3)oe=9;else if(e6=P0+48|0,l6=+s[e6>>2],o3=l6>-200,o3)oe=10;else if(K6=P0+52|0,A3=+s[K6>>2],c6=A3>-200,c6)oe=11;else if(B6=P0+56|0,R3=+s[B6>>2],Y6=R3>-200,Y6)oe=12;else if(A6=P0+60|0,D6=+s[A6>>2],t9=D6>-200,t9)oe=13;else{if(Q6=P0+64|0,e9=+s[Q6>>2],G3=e9>-200,G3){oe=14;break}if(n9=P0+68|0,V6=+s[n9>>2],s9=V6>-200,s9){oe=15;break}oe=16}while(!1);for(s[P0>>2]=oe,Kt=55;;){if(S5=Kt+2|0,Y3=P0+(S5<<2)|0,G5=+s[Y3>>2],$6=G5>-200,$6){s8=Kt;break}if(l3=Kt+-1|0,N3=(l3|0)>17,N3)Kt=l3;else{s8=l3;break}}if(E6=+(s8|0),k3=P0+4|0,s[k3>>2]=E6,_3=$4+1|0,Ut=(_3|0)==8,Ut)break;$4=_3}if(Pt=(J0|0)==17,Pt)break;b4=J0}return C=et,r2|0}function mQ(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=+g,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0;if(Te=C,v=t<<2,m=v,w=C,C=C+((1*m|0)+15&-16)|0,I=v,a2=C,C=C+((1*I|0)+15&-16)|0,E=v,e5=C,C=C+((1*E|0)+15&-16)|0,Q=v,a3=C,C=C+((1*Q|0)+15&-16)|0,B=v,t3=C,C=C+((1*B|0)+15&-16)|0,S5=+s[a>>2],a6=S5+g,R6=a6<1,ue=R6?1:a6,C6=ue*ue,D=C6*.5,e0=D*ue,s[w>>2]=D,s[a2>>2]=D,s[e5>>2]=0,s[a3>>2]=e0,s[t3>>2]=0,j=(t|0)>1,j)for(U3=1,y6=D,H6=D,A9=0,Y9=0,y9=e0,ye=1;d1=a+(U3<<2)|0,I1=+s[d1>>2],R1=I1+g,Y1=R1<1,D9=Y1?1:R1,K1=D9*D9,k2=K1+y6,G2=K1*ye,I5=G2+H6,T5=G2*ye,D5=T5+A9,z2=K1*D9,f5=z2+y9,n5=G2*D9,M5=n5+Y9,c5=w+(U3<<2)|0,s[c5>>2]=k2,F2=a2+(U3<<2)|0,s[F2>>2]=I5,v5=e5+(U3<<2)|0,s[v5>>2]=D5,J5=a3+(U3<<2)|0,s[J5>>2]=f5,i3=t3+(U3<<2)|0,s[i3>>2]=M5,E5=U3+1|0,I3=ye+1,O6=(E5|0)==(t|0),!O6;)U3=E5,y6=k2,H6=I5,A9=D5,Y9=M5,y9=f5,ye=I3;if(p0=e[o>>2]|0,M0=p0>>16,z0=(M0|0)>-1,z0)K5=p0,B6=0,D6=0,e9=1,q6=0,ge=0;else for(N5=p0,y3=M0,a9=0,pe=0;;)if(B3=N5&65535,W5=w+(B3<<2)|0,D3=+s[W5>>2],f3=0-y3|0,X3=w+(f3<<2)|0,q3=+s[X3>>2],X5=q3+D3,b3=a2+(B3<<2)|0,s6=+s[b3>>2],T3=a2+(f3<<2)|0,H3=+s[T3>>2],c3=s6-H3,g3=e5+(B3<<2)|0,u3=+s[g3>>2],Q3=e5+(f3<<2)|0,z5=+s[Q3>>2],H5=z5+u3,V5=a3+(B3<<2)|0,Y3=+s[V5>>2],G5=a3+(f3<<2)|0,$6=+s[G5>>2],n3=$6+Y3,l3=t3+(B3<<2)|0,N3=+s[l3>>2],E6=t3+(f3<<2)|0,k3=+s[E6>>2],_3=N3-k3,S3=n3*H5,i6=_3*c3,V3=S3-i6,Z5=_3*X5,x3=n3*c3,h3=Z5-x3,J3=H5*X5,h6=c3*c3,m3=J3-h6,L6=h3*pe,M6=L6+V3,S6=M6/m3,r6=S6<0,s9=r6?0:S6,d6=s9-g,b6=$+(a9<<2)|0,s[b6>>2]=d6,G6=a9+1|0,X6=pe+1,v6=o+(G6<<2)|0,L3=e[v6>>2]|0,n6=L3>>16,o6=(n6|0)>-1,o6){K5=L3,B6=V3,D6=h3,e9=m3,q6=G6,ge=X6;break}else N5=L3,y3=n6,a9=G6,pe=X6;if(d3=K5&65535,r3=(d3|0)<(t|0),r3)for(S=K5,e6=d3,o9=q6,ie=ge;;)if(M3=S>>16,K3=w+(e6<<2)|0,F6=+s[K3>>2],l6=w+(M3<<2)|0,o3=+s[l6>>2],K6=F6-o3,A3=a2+(e6<<2)|0,c6=+s[A3>>2],y=a2+(M3<<2)|0,x=+s[y>>2],M=c6-x,L=e5+(e6<<2)|0,R=+s[L>>2],F=e5+(M3<<2)|0,T=+s[F>>2],N=R-T,G=a3+(e6<<2)|0,V=+s[G>>2],K=a3+(M3<<2)|0,a0=+s[K>>2],W=V-a0,r0=t3+(e6<<2)|0,s0=+s[r0>>2],J=t3+(M3<<2)|0,o0=+s[J>>2],H=s0-o0,h0=W*N,i0=H*M,u0=h0-i0,c0=H*K6,$0=W*M,l0=c0-$0,Z=N*K6,I0=M*M,g0=Z-I0,f0=l0*ie,n0=f0+u0,d0=n0/g0,C0=d0<0,c9=C0?0:d0,S0=c9-g,Q0=$+(o9<<2)|0,s[Q0>>2]=S0,b0=o9+1|0,E0=ie+1,y0=o+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0&65535,_0=(B0|0)<(t|0),_0)S=w0,e6=B0,o9=b0,ie=E0;else{R3=u0,U6=l0,G3=g0,h9=b0,V9=E0;break}else R3=B6,U6=D6,G3=e9,h9=q6,V9=ge;if(z3=(h9|0)<(t|0),z3)for(C9=h9,R9=V9;K0=R9*U6,v0=K0+R3,T0=v0/G3,N0=T0<0,P6=N0?0:T0,U0=P6-g,O0=$+(C9<<2)|0,s[O0>>2]=U0,k0=C9+1|0,V0=R9+1,_6=(k0|0)==(t|0),!_6;)C9=k0,R9=V0;if(F0=(d|0)<1,F0){C=Te;return}if(L0=(d|0)/2&-1,G0=L0-d|0,J0=(G0|0)>-1,J0)Y6=R3,t9=U6,n9=G3,B9=0,w9=0;else for(q0=d-L0|0,Y0=L0,o1=G0,Q9=0,W6=0;;)if(s1=w+(Y0<<2)|0,i1=+s[s1>>2],x0=0-o1|0,u1=w+(x0<<2)|0,m1=+s[u1>>2],f1=m1+i1,h1=a2+(Y0<<2)|0,A1=+s[h1>>2],g1=a2+(x0<<2)|0,a1=+s[g1>>2],$1=A1-a1,j0=e5+(Y0<<2)|0,E1=+s[j0>>2],Q1=e5+(x0<<2)|0,p1=+s[Q1>>2],B1=p1+E1,w1=a3+(Y0<<2)|0,v1=+s[w1>>2],k1=a3+(x0<<2)|0,L1=+s[k1>>2],M1=L1+v1,b1=t3+(Y0<<2)|0,_1=+s[b1>>2],F1=t3+(x0<<2)|0,U1=+s[F1>>2],D1=_1-U1,P1=M1*B1,Z1=D1*$1,G1=P1-Z1,x1=D1*f1,z1=M1*$1,q1=x1-z1,H1=B1*f1,V1=$1*$1,X1=H1-V1,n2=q1*W6,j1=n2+G1,O1=j1/X1,g2=O1-g,W1=$+(Q9<<2)|0,d2=+s[W1>>2],s2=g2>2]=g2),C2=Q9+1|0,h2=W6+1,l2=L0+C2|0,i2=l2-d|0,i9=(C2|0)==(q0|0),i9){Y6=G1,t9=q1,n9=X1,B9=q0,w9=h2;break}else Y0=l2,o1=i2,Q9=C2,W6=h2;if(Z0=B9+L0|0,P0=(Z0|0)<(t|0),P0)for(H0=t-L0|0,b=Z0,f9=B9,we=w9;;)if(r2=b-d|0,A2=w+(b<<2)|0,e2=+s[A2>>2],o2=w+(r2<<2)|0,m2=+s[o2>>2],t2=e2-m2,D2=a2+(b<<2)|0,S2=+s[D2>>2],Q2=a2+(r2<<2)|0,N2=+s[Q2>>2],L2=S2-N2,U2=e5+(b<<2)|0,p2=+s[U2>>2],W2=e5+(r2<<2)|0,P2=+s[W2>>2],V2=p2-P2,q2=a3+(b<<2)|0,Z2=+s[q2>>2],A5=a3+(r2<<2)|0,H2=+s[A5>>2],N1=Z2-H2,t5=t3+(b<<2)|0,F5=+s[t5>>2],i5=t3+(r2<<2)|0,_5=+s[i5>>2],j2=F5-_5,b5=N1*V2,Y5=j2*L2,g5=b5-Y5,b2=j2*t2,B5=N1*L2,s5=b2-B5,R2=V2*t2,M2=L2*L2,y2=R2-M2,Q5=s5*we,m5=Q5+g5,x5=m5/y2,q5=x5-g,L5=$+(f9<<2)|0,Y2=+s[L5>>2],p5=q5>2]=q5),$5=f9+1|0,u5=we+1,y5=$5+L0|0,T6=($5|0)==(H0|0),T6){A6=g5,Q6=s5,V6=y2,d9=H0,$9=u5;break}else b=y5,f9=$5,we=u5;else A6=Y6,Q6=t9,V6=n9,d9=B9,$9=w9;if(c2=(d9|0)<(t|0),c2)H9=d9,Re=$9;else{C=Te;return}for(;T1=Re*Q6,h5=T1+A6,l5=h5/V6,X2=l5-g,u2=$+(H9<<2)|0,w5=+s[u2>>2],r5=X2>2]=X2),a5=H9+1|0,d5=Re+1,J6=(a5|0)==(t|0),!J6;)H9=a5,Re=d5;C=Te}function vb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0;if(d1=C,d=a<<2,$=d,m=C,C=C+((1*$|0)+15&-16)|0,g=d,x=C,C=C+((1*g|0)+15&-16)|0,a0=(a|0)>0,a0)k0=0,q0=0;else{C=d1;return}for(;;){_0=(q0|0)<2;do if(_0)v0=m+(q0<<2)|0,e[v0>>2]=k0,I=t+(k0<<2)|0,E=e[I>>2]|0,Q=x+(q0<<2)|0,e[Q>>2]=E,Y0=q0;else{for(K0=t+(k0<<2)|0,M0=+s[K0>>2],Z0=q0;;){if(B=Z0+-1|0,S=x+(B<<2)|0,b=+s[S>>2],v=M0>2]|0,L=M+o|0,R=(k0|0)<(L|0),F=(Z0|0)>1,L0=F&R,!L0){H0=Z0,o1=12;break}if(T=Z0+-2|0,N=x+(T<<2)|0,G=+s[N>>2],V=!(b<=G),V){H0=Z0,o1=12;break}if(e0=m+(T<<2)|0,K=e[e0>>2]|0,W=K+o|0,r0=(k0|0)<(W|0),r0)Z0=B;else{H0=Z0,o1=12;break}}if((o1|0)==8){o1=0,w=m+(P0<<2)|0,e[w>>2]=k0,D=x+(P0<<2)|0,s[D>>2]=M0,Y0=P0;break}else if((o1|0)==12){o1=0,s0=m+(H0<<2)|0,e[s0>>2]=k0,J=x+(H0<<2)|0,s[J>>2]=M0,Y0=H0;break}}while(!1);if(s1=Y0+1|0,o0=k0+1|0,O0=(o0|0)==(a|0),O0){i1=Y0,x0=s1;break}else k0=o0,q0=s1}if(c0=(i1|0)>-1,!c0){C=d1;return}for(S0=o+1|0,V0=0,G0=0;;){if(H=(V0|0)<(i1|0),H?(h0=V0+1|0,i0=x+(h0<<2)|0,j=+s[i0>>2],u0=x+(V0<<2)|0,$0=+s[u0>>2],l0=j>$0,l0?(Z=m+(h0<<2)|0,I0=e[Z>>2]|0,T0=I0):o1=17):o1=17,(o1|0)==17&&(o1=0,g0=m+(V0<<2)|0,f0=e[g0>>2]|0,n0=S0+f0|0,T0=n0),d0=(T0|0)>(a|0),F0=d0?a:T0,p0=(G0|0)<(F0|0),p0)for(C0=x+(V0<<2)|0,Q0=e[C0>>2]|0,b0=(T0|0)<(a|0),E0=b0?T0:a,J0=G0;;)if(y0=t+(J0<<2)|0,e[y0>>2]=Q0,w0=J0+1|0,N0=(w0|0)==(E0|0),N0){z0=E0;break}else J0=w0;else z0=G0;if(B0=V0+1|0,U0=(B0|0)==(x0|0),U0)break;V0=B0,G0=z0}C=d1}function pQ(t,o,a,$,g,d,m,I,E){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0;var Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0;if(g2=C,L=I<<2,D=L,R=C,C=C+((1*D|0)+15&-16)|0,s0=t+500|0,Z=e[s0>>2]|0,E0=(Z|0)==0,E0?v1=I:(O0=t+504|0,H0=e[O0>>2]|0,A1=H0-m|0,v1=A1),F1=(v1|0)>(I|0),V1=F1?I:v1,F=(V1|0)>0,F)for(T=(d|0)==0,N=(v1|0)<(I|0),G=N?v1:I,q1=0;;){T?O1=9:(a0=d+(q1<<2)|0,W=e[a0>>2]|0,r0=(W|0)==0,r0&&(O1=9));do if((O1|0)==9)if(O1=0,J=$+(q1<<2)|0,o0=+s[J>>2],H=g+(q1<<2)|0,h0=+s[H>>2],i0=o0/h0,j=a+(q1<<2)|0,u0=+s[j>>2],c0=u0<0,$0=i0,l0=+qn(+$0),I0=+V7(l0),c0){g0=-I0,f0=~~g0,n0=E+(q1<<2)|0,e[n0>>2]=f0;break}else{d0=~~I0,p0=E+(q1<<2)|0,e[p0>>2]=d0;break}while(!1);if(C0=q1+1|0,x1=(C0|0)==(G|0),x1){z1=G;break}else q1=C0}else z1=0;if(V=(z1|0)<(I|0),!V)return w=0,C=g2,+w;for(e0=(d|0)!=0,K=o-m|0,Q=0,U1=0,H1=z1;;){e0?(S0=d+(H1<<2)|0,Q0=e[S0>>2]|0,b0=(Q0|0)==0,b0?O1=15:(B=Q,D1=U1)):O1=15;do if((O1|0)==15)if(O1=0,y0=$+(H1<<2)|0,w0=+s[y0>>2],B0=g+(H1<<2)|0,_0=+s[B0>>2],K0=w0/_0,M0=!(K0<.25),v0=(H1|0)<(K|0),X1=e0&v0,n2=M0|X1,n2){k0=a+(H1<<2)|0,V0=+s[k0>>2],F0=V0<0,L0=K0,G0=+qn(+L0),z0=+V7(G0),J0=-z0,x=F0?J0:z0,y=~~x,q0=E+(H1<<2)|0,e[q0>>2]=y,Z0=o5(y,y)|0,P0=+(Z0|0),s1=+s[B0>>2],Y0=P0*s1,s[y0>>2]=Y0,B=Q,D1=U1;break}else{T0=K0+Q,N0=U1+1|0,U0=R+(U1<<2)|0,e[U0>>2]=y0,B=T0,D1=N0;break}while(!1);if(i1=H1+1|0,G1=(i1|0)==(I|0),G1){S=B,P1=D1;break}else Q=B,U1=D1,H1=i1}if(x0=(P1|0)==0,x0||(Nu(R,P1,4,9),o1=(P1|0)>0,!o1))return w=S,C=g2,+w;for(d1=$,u1=t+512|0,m1=+l1[u1>>3],b=S,Y1=0;;)if(f1=R+(Y1<<2)|0,h1=e[f1>>2]|0,g1=h1,a1=g1-d1|0,$1=a1>>2,j0=b,E1=!(j0>=m1),E1?(v=b,M=0,j1=0):(I1=a+($1<<2)|0,Q1=e[I1>>2]|0,p1=Q1&-2147483648,B1=p1|1065353216,w1=(e[w2>>2]=B1,+s[w2>>2]),k1=~~w1,L1=b+-1,M1=g+($1<<2)|0,b1=+s[M1>>2],v=L1,M=k1,j1=b1),_1=E+($1<<2)|0,e[_1>>2]=M,s[h1>>2]=j1,R1=Y1+1|0,Z1=(R1|0)==(P1|0),Z1){w=v;break}else b=v,Y1=R1;return C=g2,+w}function kb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=+s[a>>2],g=e[o>>2]|0,d=+s[g>>2],m=$d,Q=E&1,B=I-Q|0,B|0}function Sb(t){t=t|0;var o=0,a=0,$=0;$=C,o=(t|0)==0,o||E2(t)}function bb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0;if(r0=C,a=(t|0)==0,!a){if($=t+4|0,w=e[$>>2]|0,R=(w|0)>0,F=t+20|0,R)for(L=w,K=0;T=e[F>>2]|0,N=T+(K<<2)|0,G=e[N>>2]|0,V=(G|0)==0,V?d=L:(E2(G),o=e[$>>2]|0,d=o),e0=K+1|0,g=(e0|0)<(d|0),g;)L=d,K=e0;if(m=e[F>>2]|0,E2(m),I=t+24|0,E=e[I>>2]|0,Q=(E|0)>0,B=t+28|0,Q)for(a0=0;S=e[B>>2]|0,b=S+(a0<<2)|0,v=e[b>>2]|0,E2(v),D=a0+1|0,y=e[I>>2]|0,x=(D|0)<(y|0),x;)a0=D;M=e[B>>2]|0,E2(M),E2(t)}}function Db(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0;if(d0=C,g=e[t>>2]|0,O2(o,g,24),d=t+4|0,y=e[d>>2]|0,O2(o,y,24),K=t+8|0,H=e[K>>2]|0,h0=H+-1|0,O2(o,h0,24),i0=t+12|0,j=e[i0>>2]|0,u0=j+-1|0,O2(o,u0,6),c0=t+20|0,m=e[c0>>2]|0,O2(o,m,8),I=e[i0>>2]|0,E=(I|0)>0,!!E){for(Q=t+24|0,$0=0,Z=0;;){if(b=Q+(Z<<2)|0,v=e[b>>2]|0,w=O8(v)|0,D=(w|0)>3,x=e[b>>2]|0,D?(O2(o,x,3),O2(o,1,1),M=e[b>>2]|0,L=M>>3,O2(o,L,5)):O2(o,x,4),R=e[b>>2]|0,F=(R|0)==0,F)g0=0;else for(a=R,f0=0;;)if(T=a&1,N=T+f0|0,G=a>>>1,V=(G|0)==0,V){g0=N;break}else a=G,f0=N;if(e0=g0+$0|0,a0=Z+1|0,W=e[i0>>2]|0,r0=(a0|0)<(W|0),r0)$0=e0,Z=a0;else{$=e0;break}}if(B=($|0)>0,!!B)for(S=t+280|0,I0=0;s0=S+(I0<<2)|0,J=e[s0>>2]|0,O2(o,J,8),o0=I0+1|0,l0=(o0|0)==($|0),!l0;)I0=o0}}function _b(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0;a1=C,m=le(1,2840)|0,I=t+28|0,M=e[I>>2]|0,W=r4(o,24)|0,e[m>>2]=W,$0=r4(o,24)|0,Q0=m+4|0,e[Q0>>2]=$0,N0=r4(o,24)|0,Z0=N0+1|0,H0=m+8|0,e[H0>>2]=Z0,s1=r4(o,6)|0,E=s1+1|0,Q=m+12|0,e[Q>>2]=E,B=r4(o,8)|0,S=m+20|0,e[S>>2]=B,b=(B|0)<0;e:do if(b)g1=26;else{if(v=(s1|0)>-1,v){for(w=m+24|0,i1=0,d1=0;;){if(x=r4(o,3)|0,L=r4(o,1)|0,R=(L|0)<0,R){g1=26;break e}if(F=(L|0)==0,F)x0=x;else{if(T=r4(o,5)|0,N=(T|0)<0,N){g1=26;break e}G=T<<3,V=G|x,x0=V}if(e0=w+(d1<<2)|0,e[e0>>2]=x0,K=(x0|0)==0,K)h1=0;else for($=x0,A1=0;;)if(a0=$&1,r0=a0+A1|0,s0=$>>>1,J=(s0|0)==0,J){h1=r0;break}else $=s0,A1=r0;if(o0=h1+i1|0,H=d1+1|0,h0=e[Q>>2]|0,i0=(H|0)<(h0|0),i0)i1=o0,d1=H;else{d=o0;break}}if(D=(d|0)>0,D)for(y=m+280|0,u1=0;;){if(j=r4(o,8)|0,u0=(j|0)<0,u0)break e;if(c0=y+(u1<<2)|0,e[c0>>2]=j,l0=u1+1|0,Z=(l0|0)<(d|0),Z)u1=l0;else{P0=D,Y0=d;break}}else P0=0,Y0=d}else P0=0,Y0=0;if(I0=e[S>>2]|0,g0=M+24|0,f0=e[g0>>2]|0,n0=(I0|0)<(f0|0),n0){if(P0)for(d0=m+280|0,m1=0;;){if(S0=d0+(m1<<2)|0,b0=e[S0>>2]|0,E0=(b0|0)<(f0|0),!E0||(y0=(M+1824|0)+(b0<<2)|0,w0=e[y0>>2]|0,B0=w0+12|0,_0=e[B0>>2]|0,K0=(_0|0)==0,p0=m1+1|0,K0))break e;if(C0=(p0|0)<(Y0|0),C0)m1=p0;else break}if(M0=(M+1824|0)+(I0<<2)|0,v0=e[M0>>2]|0,T0=v0+4|0,U0=e[T0>>2]|0,O0=e[v0>>2]|0,k0=(O0|0)<1,!k0){for(V0=e[Q>>2]|0,o1=O0,f1=1;;){if(G0=o5(V0,f1)|0,z0=(G0|0)>(U0|0),z0)break e;if(F0=o1+-1|0,L0=(o1|0)>1,L0)o1=F0,f1=G0;else{g=G0;break}}return J0=m+16|0,e[J0>>2]=g,a=m,a|0}}}while(!1);return(g1|0)==26&&(q0=(m|0)==0,q0)?(a=0,a|0):(E2(m),a=0,a|0)}function xb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0;if(v1=C,d=le(1,44)|0,m=t+4|0,x=e[m>>2]|0,a0=x+28|0,c0=e[a0>>2]|0,e[d>>2]=o,S0=o+12|0,T0=e[S0>>2]|0,q0=d+4|0,e[q0>>2]=T0,s1=c0+2848|0,Y0=e[s1>>2]|0,I=d+12|0,e[I>>2]=Y0,E=Y0,Q=o+20|0,B=e[Q>>2]|0,S=E+(B*56|0)|0,b=d+16|0,e[b>>2]=S,v=e[S>>2]|0,w=le(T0,4)|0,D=d+20|0,e[D>>2]=w,y=(T0|0)>0,y)for(M=o+24|0,L=o+280|0,i1=0,h1=0,I1=0;;){if(R=M+(h1<<2)|0,F=e[R>>2]|0,T=O8(F)|0,N=(T|0)==0,N)d1=i1,Q1=I1;else if(G=(T|0)>(I1|0),$=G?T:I1,V=le(T,4)|0,e0=w+(h1<<2)|0,e[e0>>2]=V,K=(T|0)>0,K)for(W=e[R>>2]|0,r0=w+(h1<<2)|0,x0=i1,$1=0;;)if(s0=1<<$1,J=W&s0,o0=(J|0)==0,o0?o1=x0:(H=e[s1>>2]|0,h0=x0+1|0,i0=L+(x0<<2)|0,j=e[i0>>2]|0,u0=H+(j*56|0)|0,$0=e[r0>>2]|0,l0=$0+($1<<2)|0,e[l0>>2]=u0,o1=h0),Z=$1+1|0,m1=(Z|0)==(T|0),m1){d1=o1,Q1=$;break}else x0=o1,$1=Z;else d1=i1,Q1=$;if(I0=h1+1|0,g0=(I0|0)<(T0|0),g0)i1=d1,h1=I0,I1=Q1;else{E1=Q1;break}}else E1=0;if(f0=d+24|0,e[f0>>2]=1,n0=(v|0)>0,n0){for(p0=1,A1=0;;)if(d0=o5(p0,T0)|0,C0=A1+1|0,u1=(C0|0)==(v|0),u1){a=d0;break}else p0=d0,A1=C0;e[f0>>2]=a,E0=a}else E0=1;if(Q0=d+8|0,e[Q0>>2]=E1,b0=E0<<2,y0=M9(b0)|0,w0=d+28|0,e[w0>>2]=y0,B0=(E0|0)>0,!B0)return d|0;if(_0=v<<2,!n0){for(g1=0;J0=M9(_0)|0,Z0=y0+(g1<<2)|0,e[Z0>>2]=J0,P0=g1+1|0,H0=(P0|0)<(E0|0),H0;)g1=P0;return d|0}for(K0=e[w0>>2]|0,a1=0;;){for(L0=M9(_0)|0,G0=y0+(a1<<2)|0,e[G0>>2]=L0,z0=K0+(a1<<2)|0,V0=e[z0>>2]|0,g=E0,j0=0,B1=a1;p1=(g|0)/(T0|0)&-1,N0=(B1|0)/(p1|0)&-1,U0=o5(N0,p1)|0,O0=B1-U0|0,k0=V0+(j0<<2)|0,e[k0>>2]=N0,F0=j0+1|0,f1=(F0|0)==(v|0),!f1;)g=p1,j0=F0,B1=O0;if(M0=a1+1|0,v0=(M0|0)<(E0|0),v0)a1=M0;else break}return d|0}function Lb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||EQ(t,o,a,L,2),0}function Mb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0;if(G=C,E=(d|0)>0,E)L=0,R=0;else return 0;for(;;)if(Q=g+(L<<2)|0,B=e[Q>>2]|0,S=(B|0)==0,S?F=R:(b=$+(L<<2)|0,v=e[b>>2]|0,w=R+1|0,D=$+(R<<2)|0,e[D>>2]=v,F=w),y=L+1|0,M=(y|0)==(d|0),M){T=F;break}else L=y,R=F;return x=(T|0)==0,x||CQ(t,a,$,T,m),0}function Rb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;if(w1=C,I=(g|0)>0,I)o1=0,I1=0;else return d=0,d|0;for(;;)if(E=$+(o1<<2)|0,L=e[E>>2]|0,r0=(L|0)==0,r0?Q1=I1:(l0=a+(o1<<2)|0,b0=e[l0>>2]|0,U0=I1+1|0,z0=a+(I1<<2)|0,e[z0>>2]=b0,Q1=U0),J0=o1+1|0,H0=(J0|0)==(g|0),H0){p1=Q1;break}else o1=J0,I1=Q1;if(q0=(p1|0)==0,q0)return d=0,d|0;if(Q=e[o>>2]|0,B=Q+8|0,S=e[B>>2]|0,b=Q+12|0,v=e[b>>2]|0,w=Q+4|0,D=e[w>>2]|0,y=e[Q>>2]|0,x=D-y|0,M=(x|0)/(S|0)&-1,R=p1<<2,F=z8(t,R)|0,T=+(S|0),N=100/T,G=N,V=(p1|0)>0,V)for(e0=M<<2,d1=0;J=z8(t,e0)|0,o0=F+(d1<<2)|0,e[o0>>2]=J,g4(J|0,0,e0|0)|0,H=d1+1|0,x0=(H|0)==(p1|0),!x0;)d1=H;if(K=(M|0)>0,K)for(a0=(S|0)>0,W=v+-1|0,s0=(v|0)>1,u1=0;;){if(h0=o5(u1,S)|0,i0=e[Q>>2]|0,j=i0+h0|0,V)for(f1=0;;){if(a0)for(u0=a+(f1<<2)|0,c0=e[u0>>2]|0,P0=0,h1=0,$1=0;;)if($0=j+h1|0,Z=c0+($0<<2)|0,I0=e[Z>>2]|0,m1=(I0|0)>-1,j0=0-I0|0,g0=m1?I0:j0,f0=(g0|0)>($1|0),m=f0?g0:$1,n0=g0+P0|0,d0=h1+1|0,s1=(d0|0)==(S|0),s1){Z0=n0,a1=m;break}else P0=n0,h1=d0,$1=m;else Z0=0,a1=0;p0=+(Z0|0),C0=p0*G,S0=~~C0;e:do if(s0)for(g1=0;;){if(Q0=(Q+2328|0)+(g1<<2)|0,E0=e[Q0>>2]|0,y0=(a1|0)>(E0|0),!y0&&(w0=(Q+2584|0)+(g1<<2)|0,B0=e[w0>>2]|0,_0=(B0|0)<0,K0=(S0|0)<(B0|0),E1=_0|K0,E1)){A1=g1;break e}if(M0=g1+1|0,v0=(M0|0)<(W|0),v0)g1=M0;else{A1=M0;break}}else A1=0;while(!1);if(T0=F+(f1<<2)|0,N0=e[T0>>2]|0,O0=N0+(u1<<2)|0,e[O0>>2]=A1,k0=f1+1|0,Y0=(k0|0)==(p1|0),Y0)break;f1=k0}if(V0=u1+1|0,i1=(V0|0)==(M|0),i1)break;u1=V0}return F0=o+40|0,L0=e[F0>>2]|0,G0=L0+1|0,e[F0>>2]=G0,d=F,d|0}function Fb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0;if(F=C,d=(g|0)>0,d)y=0,x=0;else return 0;for(;;)if(m=$+(y<<2)|0,I=e[m>>2]|0,E=(I|0)==0,E?M=x:(Q=a+(y<<2)|0,B=e[Q>>2]|0,S=x+1|0,b=a+(x<<2)|0,e[b>>2]=B,M=S),v=y+1|0,D=(v|0)==(g|0),D){L=M;break}else y=v,x=M;return w=(L|0)==0,w||EQ(t,o,a,L,3),0}function Tb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0;if(j0=C,E=(g|0)>0,E)G0=0,a1=0;else return d=0,d|0;for(;;)if(Q=$+(G0<<2)|0,R=e[Q>>2]|0,f1=(R|0)!=0,s0=f1&1,A1=s0+a1|0,Z=G0+1|0,V0=(Z|0)==(g|0),V0){g1=A1;break}else G0=Z,a1=A1;if(h1=(g1|0)==0,h1)return d=0,d|0;if(E0=e[o>>2]|0,K0=E0+8|0,M0=e[K0>>2]|0,v0=E0+12|0,T0=e[v0>>2]|0,B=E0+4|0,S=e[B>>2]|0,b=e[E0>>2]|0,v=S-b|0,w=(v|0)/(M0|0)&-1,D=z8(t,4)|0,y=w<<2,x=z8(t,y)|0,e[D>>2]=x,g4(x|0,0,y|0)|0,M=(w|0)>0,M)for(L=e[E0>>2]|0,F=(L|0)/(g|0)&-1,T=(M0|0)>0,N=T0+-1|0,G=(T0|0)>1,V=e[D>>2]|0,e0=(g|0)>1,z0=0,Y0=F;;){if(T)for(K=e[a>>2]|0,U0=0,Z0=0,x0=Y0,d1=0;;){if(a0=K+(x0<<2)|0,W=e[a0>>2]|0,J0=(W|0)>-1,u1=0-W|0,r0=J0?W:u1,J=(r0|0)>(d1|0),I=J?r0:d1,e0)for(k0=U0,s1=1;;)if(o0=a+(s1<<2)|0,H=e[o0>>2]|0,h0=H+(x0<<2)|0,i0=e[h0>>2]|0,q0=(i0|0)>-1,m1=0-i0|0,j=q0?i0:m1,u0=(j|0)>(k0|0),m=u0?j:k0,c0=s1+1|0,F0=(c0|0)==(g|0),F0){O0=m;break}else k0=m,s1=c0;else O0=U0;if($0=x0+1|0,l0=Z0+g|0,I0=(l0|0)<(M0|0),I0)U0=O0,Z0=l0,x0=$0,d1=I;else{N0=O0,i1=$0,o1=I;break}}else N0=0,i1=Y0,o1=0;e:do if(G)for(H0=0;;){if(g0=(E0+2328|0)+(H0<<2)|0,f0=e[g0>>2]|0,n0=(o1|0)>(f0|0),!n0&&(d0=(E0+2584|0)+(H0<<2)|0,p0=e[d0>>2]|0,C0=(N0|0)>(p0|0),!C0)){P0=H0;break e}if(S0=H0+1|0,Q0=(S0|0)<(N|0),Q0)H0=S0;else{P0=S0;break}}else P0=0;while(!1);if(b0=V+(z0<<2)|0,e[b0>>2]=P0,y0=z0+1|0,L0=(y0|0)==(w|0),L0)break;z0=y0,Y0=i1}return w0=o+40|0,B0=e[w0>>2]|0,_0=B0+1|0,e[w0>>2]=_0,d=D,d|0}function Nb(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0;if(c0=C,C=C+16|0,j=c0,E=o+36|0,Q=e[E>>2]|0,R=(Q|0)/2&-1,F=d<<2,T=o5(F,R)|0,N=z8(o,T)|0,e[j>>2]=N,G=(d|0)>0,!G)return C=c0,0;for(V=(Q|0)>1,W=0,i0=0;;){if(e0=$+(W<<2)|0,K=e[e0>>2]|0,B=g+(W<<2)|0,S=e[B>>2]|0,J=(S|0)!=0,b=J&1,H=b+i0|0,V)for(r0=0,s0=W;v=K+(r0<<2)|0,w=e[v>>2]|0,D=N+(s0<<2)|0,e[D>>2]=w,y=r0+1|0,x=s0+d|0,M=(y|0)<(R|0),M;)r0=y,s0=x;if(L=W+1|0,a0=(L|0)==(d|0),a0){h0=H;break}else W=L,i0=H}return o0=(h0|0)==0,o0?(C=c0,0):(CQ(t,a,j,1,m),C=c0,0)}function Gb(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;if(k1=C,I=e[o>>2]|0,E=I+8|0,L=e[E>>2]|0,r0=o+16|0,l0=e[r0>>2]|0,b0=e[l0>>2]|0,U0=t+36|0,P0=e[U0>>2]|0,h1=o5(P0,g)|0,A1=h1>>1,Q=I+4|0,B=e[Q>>2]|0,S=(B|0)<(A1|0),d=S?B:A1,b=e[I>>2]|0,v=d-b|0,w=(v|0)>0,!w)return 0;D=(v|0)/(L|0)&-1,y=b0+-1|0,x=y+D|0,M=(x|0)/(b0|0)&-1,R=M<<2,F=z8(t,R)|0,T=(g|0)>0;e:do if(T)for(a1=0;;){if(N=$+(a1<<2)|0,G=e[N>>2]|0,V=(G|0)==0,!V){g1=a1;break e}if(e0=a1+1|0,K=(e0|0)<(g|0),K)a1=e0;else{g1=e0;break}}else g1=0;while(!1);if(a0=(g1|0)==(g|0),a0||(W=o+8|0,s0=e[W>>2]|0,J=(s0|0)>0,!J))return 0;o0=(D|0)>0,H=t+4|0,h0=I+16|0,i0=o+28|0,j=(b0|0)>0,u0=o+20|0,f1=s0,w1=0;e:for(;;){if(o0){for(c0=(w1|0)==0,$0=1<>2]|0,I0=tE(Z,H)|0,g0=(I0|0)==-1,g0){v1=23;break e}if(f0=e[h0>>2]|0,n0=(I0|0)<(f0|0),!n0){v1=23;break e}if(d0=e[i0>>2]|0,p0=d0+(I0<<2)|0,C0=e[p0>>2]|0,S0=F+(Q1<<2)|0,e[S0>>2]=C0,Q0=(C0|0)==0,Q0){v1=23;break e}}if(E0=($1|0)<(D|0),B1=j&E0,B1)for(y0=F+(Q1<<2)|0,E1=$1,I1=0;;){if(w0=e[y0>>2]|0,B0=w0+(I1<<2)|0,_0=e[B0>>2]|0,K0=(I+24|0)+(_0<<2)|0,M0=e[K0>>2]|0,v0=M0&$0,T0=(v0|0)==0,!T0&&(N0=e[u0>>2]|0,O0=N0+(_0<<2)|0,k0=e[O0>>2]|0,V0=k0+(w1<<2)|0,F0=e[V0>>2]|0,L0=(F0|0)==0,!L0&&(G0=o5(E1,L)|0,z0=e[I>>2]|0,J0=z0+G0|0,q0=YS(F0,a,J0,g,H,L)|0,Z0=(q0|0)==-1,Z0))){v1=23;break e}if(H0=I1+1|0,s1=E1+1|0,Y0=(H0|0)<(b0|0),i1=(s1|0)<(D|0),p1=Y0&i1,p1)E1=s1,I1=H0;else{j0=s1;break}}else j0=$1;if(x0=Q1+1|0,o1=(j0|0)<(D|0),o1)$1=j0,Q1=x0;else break}m=e[W>>2]|0,m1=m}else m1=f1;if(d1=w1+1|0,u1=(d1|0)<(m1|0),u1)f1=m1,w1=d1;else{v1=23;break}}return(v1|0)==23,0}function EQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0;if(X1=C,Q=e[o>>2]|0,B=Q+8|0,F=e[B>>2]|0,J=o+16|0,I0=e[J>>2]|0,y0=e[I0>>2]|0,k0=t+36|0,s1=e[k0>>2]|0,g1=s1>>1,k1=Q+4|0,S=e[k1>>2]|0,b=(S|0)<(g1|0),d=b?S:g1,v=e[Q>>2]|0,w=d-v|0,D=(w|0)>0,!D){C=X1;return}if(y=(w|0)/(F|0)&-1,x=$<<2,m=x,M=C,C=C+((1*m|0)+15&-16)|0,L=($|0)>0,L)for(R=y0+-1|0,T=R+y|0,N=(T|0)/(y0|0)&-1,G=N<<2,U1=0;h0=z8(t,G)|0,i0=M+(U1<<2)|0,e[i0>>2]=h0,j=U1+1|0,M1=(j|0)==($|0),!M1;)U1=j;if(V=o+8|0,e0=e[V>>2]|0,K=(e0|0)>0,!K){C=X1;return}a0=(y|0)>0,W=t+4|0,r0=Q+16|0,s0=o+28|0,o0=(y0|0)>0,H=o+20|0,E=L^1,Y1=0;e:for(;;){if(a0)for(u0=1<>2]|0,Y0=tE(H0,W)|0,i1=(Y0|0)==-1,i1){V1=25;break e}if(x0=e[r0>>2]|0,o1=(Y0|0)<(x0|0),!o1){V1=25;break e}if(d1=e[s0>>2]|0,u1=d1+(Y0<<2)|0,m1=e[u1>>2]|0,f1=M+(D1<<2)|0,h1=e[f1>>2]|0,A1=h1+(x1<<2)|0,e[A1>>2]=m1,a1=(m1|0)==0,Z0=D1+1|0,a1){V1=25;break e}if(P0=(Z0|0)<($|0),P0)D1=Z0;else break}c0=(b1|0)<(y|0),H1=o0&c0;t:do if(H1){if(L)F1=b1,G1=0;else for(R1=b1,Z1=0;;)if($1=Z1+1|0,j0=R1+1|0,E1=($1|0)<(y0|0),I1=(j0|0)<(y|0),z1=E1&I1,z1)R1=j0,Z1=$1;else{_1=j0;break t}for(;;){for(d0=o5(F1,F)|0,P1=0;;){if(f0=e[Q>>2]|0,n0=f0+d0|0,p0=M+(P1<<2)|0,C0=e[p0>>2]|0,S0=C0+(x1<<2)|0,Q0=e[S0>>2]|0,b0=Q0+(G1<<2)|0,E0=e[b0>>2]|0,w0=(Q+24|0)+(E0<<2)|0,B0=e[w0>>2]|0,_0=B0&u0,K0=(_0|0)==0,!K0&&(M0=e[H>>2]|0,v0=M0+(E0<<2)|0,T0=e[v0>>2]|0,N0=T0+(Y1<<2)|0,U0=e[N0>>2]|0,O0=(U0|0)==0,!O0&&(V0=a+(P1<<2)|0,F0=e[V0>>2]|0,L0=F0+(n0<<2)|0,G0=wC[g&3](U0,L0,W,F)|0,z0=(G0|0)==-1,z0))){V1=25;break e}if(J0=P1+1|0,q0=(J0|0)<($|0),q0)P1=J0;else break}if($0=G1+1|0,l0=F1+1|0,Z=($0|0)<(y0|0),g0=(l0|0)<(y|0),q1=Z&g0,q1)F1=l0,G1=$0;else{_1=l0;break}}}else _1=b1;while(!1);if(Q1=x1+1|0,p1=(_1|0)<(y|0),p1)b1=_1,x1=Q1;else break}if(B1=Y1+1|0,w1=e[V>>2]|0,v1=(B1|0)<(w1|0),v1)Y1=B1;else{V1=25;break}}if((V1|0)==25){C=X1;return}}function CQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0;if(Q6=C,C=C+1088|0,o3=Q6+1056|0,G5=Q6+1024|0,K6=Q6+512|0,A3=Q6,y=e[o>>2]|0,x=y+8|0,l2=e[x>>2]|0,V2=y+12|0,j2=e[V2>>2]|0,Q5=o+16|0,T1=e[Q5>>2]|0,f5=e[T1>>2]|0,d3=y+4|0,q3=e[d3>>2]|0,M=e[y>>2]|0,W=q3-M|0,$0=(W|0)/(l2|0)&-1,g4(K6|0,0,512)|0,g4(A3|0,0,512)|0,Q0=o+8|0,N0=e[Q0>>2]|0,Z0=(N0|0)>0,!Z0){C=Q6;return}for(f1=($0|0)>0,B1=($|0)>0,D1=(f5|0)>1,n2=o+36|0,i2=(f5|0)>0,D2=o+20|0,S2=o+32|0,Q2=0-f5|0,k2=N0,c6=0;;){if(f1){for(N2=(c6|0)==0,L2=1<>2]|0,q5=x5+(Z5<<2)|0,L5=e[q5>>2]|0,Y2=e[Q5>>2]|0,p5=Y2+4|0,$5=e[p5>>2]|0,u5=(L5|0)<($5|0),u5&&(y5=Fu(Y2,L5,t)|0,D5=e[n2>>2]|0,h5=D5+y5|0,e[n2>>2]=h5),l5=v6+1|0,$6=(l5|0)==($|0),$6)break e;v6=l5}for(;;){for(b2=g+(L3<<2)|0,I5=e[b2>>2]|0,B5=I5+(Z5<<2)|0,s5=e[B5>>2]|0,C6=1,A6=s5;;)if(t5=o5(A6,j2)|0,F5=C6+Z5|0,i5=(F5|0)<($0|0),i5?(_5=I5+(F5<<2)|0,b5=e[_5>>2]|0,Y5=b5+t5|0,D6=Y5):D6=t5,g5=C6+1|0,_3=(g5|0)==(f5|0),_3){U6=D6;break}else C6=g5,A6=D6;if(W2=e[Q5>>2]|0,P2=W2+4|0,G2=e[P2>>2]|0,q2=(U6|0)<(G2|0),q2&&(Z2=Fu(W2,U6,t)|0,A5=e[n2>>2]|0,H2=A5+Z2|0,e[n2>>2]=H2),N1=L3+1|0,S3=(N1|0)==($|0),S3)break;L3=N1}}while(!1);if(R2=(Z5|0)<($0|0),F6=i2&R2,F6){for(M2=Z5-$0|0,y2=M2>>>0>>0,Y6=y2?Q2:M2,T5=0-Y6|0,h6=Z5,z3=0;;){if(X2=o5(h6,l2)|0,u2=e[y>>2]|0,w5=u2+X2|0,B1)for(o6=0;;){if(r5=g+(o6<<2)|0,a5=e[r5>>2]|0,d5=a5+(h6<<2)|0,z2=e[d5>>2]|0,N2&&(n5=A3+(z2<<2)|0,M5=e[n5>>2]|0,e5=M5+l2|0,e[n5>>2]=e5),c5=(y+24|0)+(z2<<2)|0,F2=e[c5>>2]|0,v5=F2&L2,J5=(v5|0)==0,!J5&&(i3=e[D2>>2]|0,E5=i3+(z2<<2)|0,I3=e[E5>>2]|0,K5=I3+(c6<<2)|0,r3=e[K5>>2]|0,a3=(r3|0)==0,!a3)){if(B3=a+(o6<<2)|0,N5=e[B3>>2]|0,W5=e[r3>>2]|0,D3=(l2|0)/(W5|0)&-1,f3=(D3|0)>0,f3){for(y3=r3+48|0,X3=r3+52|0,X5=r3+44|0,b3=r3+12|0,t3=r3+4|0,L=W5,S5=0,h3=0;;){s6=o5(h3,W5)|0,b=s6+w5|0,T3=N5+(b<<2)|0,H3=e[y3>>2]|0,c3=e[X3>>2]|0,g3=e[X5>>2]|0,u3=g3>>1,e[o3>>2]=0,e[o3+4>>2]=0,e[o3+8>>2]=0,e[o3+12>>2]=0,e[o3+16>>2]=0,e[o3+20>>2]=0,e[o3+24>>2]=0,e[o3+28>>2]=0,Q3=(c3|0)==1,R=(L|0)>0;do if(Q3){if(!R){r6=0;break}for(G=g3+-1|0,m3=0,S6=0,K3=L;;)if(C0=K3+-1|0,D=b+C0|0,S0=N5+(D<<2)|0,b0=e[S0>>2]|0,E0=b0-H3|0,y0=(E0|0)<(u3|0),y0?(w0=u3-E0|0,B0=w0<<1,_0=B0+-1|0,T0=_0):(K0=E0-u3|0,M0=K0<<1,T0=M0),v0=o5(S6,g3)|0,U0=(T0|0)<0,O0=(T0|0)>=(g3|0),k0=O0?G:T0,V0=U0?0:k0,F0=V0+v0|0,L0=o3+(C0<<2)|0,e[L0>>2]=b0,G0=m3+1|0,i6=(G0|0)==(L|0),i6){r6=F0;break}else m3=G0,S6=F0,K3=C0}else{if(!R){r6=0;break}for(F=c3>>1,T=F-H3|0,N=g3+-1|0,x3=0,R6=0,M3=L;;)if(V=M3+-1|0,w=b+V|0,e0=N5+(w<<2)|0,K=e[e0>>2]|0,a0=T+K|0,r0=(a0|0)/(c3|0)&-1,s0=(r0|0)<(u3|0),s0?(J=u3-r0|0,o0=J<<1,H=o0+-1|0,u0=H):(h0=r0-u3|0,i0=h0<<1,u0=i0),j=o5(R6,g3)|0,c0=(u0|0)<0,l0=(u0|0)>=(g3|0),Z=l0?N:u0,I0=c0?0:Z,g0=I0+j|0,f0=o5(r0,c3)|0,n0=f0+H3|0,d0=o3+(V<<2)|0,e[d0>>2]=n0,p0=x3+1|0,V3=(p0|0)==(L|0),V3){r6=g0;break}else x3=p0,R6=g0,M3=V}while(!1);z0=e[b3>>2]|0,J0=z0+8|0,q0=e[J0>>2]|0,P0=q0+r6|0,H0=f[P0>>0]|0,s1=H0<<24>>24<1;do if(s1){if(e[G5>>2]=0,e[G5+4>>2]=0,e[G5+8>>2]=0,e[G5+12>>2]=0,e[G5+16>>2]=0,e[G5+20>>2]=0,e[G5+24>>2]=0,e[G5+28>>2]=0,Y0=g3+-1|0,i1=o5(Y0,c3)|0,x0=i1+H3|0,o1=e[t3>>2]|0,d1=(o1|0)>0,d1)z5=-1,L6=0,d6=r6;else{G6=r6;break}for(;;){u1=q0+L6|0,m1=f[u1>>0]|0,h1=m1<<24>>24>0;do if(h1){if(R)for(X6=0,R3=0;;)if(A1=G5+(X6<<2)|0,g1=e[A1>>2]|0,v=b+X6|0,a1=N5+(v<<2)|0,$1=e[a1>>2]|0,j0=g1-$1|0,E1=o5(j0,j0)|0,I1=E1+R3|0,Q1=X6+1|0,a6=(Q1|0)==(L|0),a6){B6=I1;break}else X6=Q1,R3=I1;else B6=0;if(p1=(z5|0)==-1,w1=(B6|0)<(z5|0),e6=p1|w1,!e6){H5=z5,b6=d6;break}e[o3>>2]=e[G5>>2]|0,e[o3+4>>2]=e[G5+4>>2]|0,e[o3+8>>2]=e[G5+8>>2]|0,e[o3+12>>2]=e[G5+12>>2]|0,e[o3+16>>2]=e[G5+16>>2]|0,e[o3+20>>2]=e[G5+20>>2]|0,e[o3+24>>2]=e[G5+24>>2]|0,e[o3+28>>2]=e[G5+28>>2]|0,H5=B6,b6=L6}else H5=z5,b6=d6;while(!1);if(v1=e[G5>>2]|0,k1=(v1|0)<(x0|0),k1)m=G5,I=v1;else for(M1=G5,n6=0;;)if(L1=n6+1|0,e[M1>>2]=0,b1=G5+(L1<<2)|0,_1=e[b1>>2]|0,R1=(_1|0)<(x0|0),R1){m=b1,I=_1;break}else M1=b1,n6=L1;if(F1=(I|0)>-1,F1?(U1=I+c3|0,e[m>>2]=U1,Z1=U1):Z1=I,P1=0-Z1|0,e[m>>2]=P1,G1=L6+1|0,n3=(G1|0)==(o1|0),n3){G6=b6;break}else z5=H5,L6=G1,d6=b6}}else G6=r6;while(!1);if(x1=(G6|0)>-1,l6=R&x1,l6)for(d=T3,M6=0;z1=o3+(M6<<2)|0,q1=e[z1>>2]|0,H1=d+4|0,Y1=e[d>>2]|0,V1=Y1-q1|0,e[d>>2]=V1,X1=M6+1|0,l3=(X1|0)==(L|0),!l3;)d=H1,M6=X1;if(j1=Fu(r3,G6,t)|0,O1=j1+S5|0,g2=h3+1|0,N3=(g2|0)==(D3|0),N3){E=O1;break}Q=e[r3>>2]|0,L=Q,S5=O1,h3=g2}B=e[r5>>2]|0,C2=B,V5=E}else C2=a5,V5=0;W1=e[S2>>2]|0,d2=W1+V5|0,e[S2>>2]=d2,s2=C2+(h6<<2)|0,a2=e[s2>>2]|0,K1=K6+(a2<<2)|0,h2=e[K1>>2]|0,c2=h2+V5|0,e[K1>>2]=c2}if(r2=o6+1|0,E6=(r2|0)==($|0),E6)break;o6=r2}if(A2=z3+1|0,e2=h6+1|0,k3=(A2|0)==(T5|0),k3)break;h6=e2,z3=A2}U2=Z5-Y6|0,J3=U2}else J3=Z5;if(p2=(J3|0)<($0|0),p2)Z5=J3;else break}S=e[Q0>>2]|0,t2=S}else t2=k2;if(o2=c6+1|0,m2=(o2|0)<(t2|0),m2)k2=t2,c6=o2;else break}C=Q6}function O8(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;if(Q=C,a=(t|0)==0,a)m=0;else for(o=t,I=0;;)if($=o>>>1,g=I+1|0,d=($|0)==0,d){m=g;break}else o=$,I=g;return m|0}function BQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0;h2=C,C=C+144|0,O1=h2,E=(a|0)!=0,Q=E?a:o,R=Q<<2,s0=M9(R)|0,g4(O1|0,0,132)|0,Z=(o|0)>0;do if(Z){E0=O1+4|0,O0=(a|0)==0,H0=O0&1,v1=0,D1=0;e:for(;;){A1=t+D1|0,w1=f[A1>>0]|0,B=w1<<24>>24,S=w1<<24>>24>0;t:do if(S){if(b=O1+(B<<2)|0,v=e[b>>2]|0,w=w1<<24>>24>31,D=v>>>B,y=(D|0)==0,g2=w|y,!g2){K1=5;break e}x=s0+(v1<<2)|0,e[x>>2]=v,M=O1+(B<<2)|0,L=v&1,F=(L|0)==0;i:do if(F)for(J=v,o0=M,z1=B;;){if(r0=J+1|0,e[o0>>2]=r0,H=z1+-1|0,h0=(z1|0)>1,!h0)break i;if(d=O1+(H<<2)|0,I=e[d>>2]|0,i0=O1+(H<<2)|0,j=I&1,u0=(j|0)==0,u0)J=I,o0=i0,z1=H;else{g=i0,x1=H,K1=8;break}}else g=M,x1=B,K1=8;while(!1);do if((K1|0)==8)if(K1=0,N=(x1|0)==1,N){G=e[E0>>2]|0,V=G+1|0,e[E0>>2]=V;break}else{e0=x1+-1|0,K=O1+(e0<<2)|0,a0=e[K>>2]|0,W=a0<<1,e[g>>2]=W;break}while(!1);if(V1=B+1|0,T=(V1|0)<33,T)for(R1=v,H1=B,X1=V1;;){if(c0=O1+(X1<<2)|0,$0=e[c0>>2]|0,l0=$0>>>1,I0=(l0|0)==(R1|0),!I0){m=1;break t}if(g0=O1+(H1<<2)|0,f0=e[g0>>2]|0,n0=f0<<1,e[c0>>2]=n0,q1=X1+1|0,d0=(q1|0)<33,d0)Y1=X1,R1=$0,X1=q1,H1=Y1;else{m=1;break}}else m=1}else m=H0;while(!1);if(k1=v1+m|0,p0=D1+1|0,C0=(p0|0)<(o|0),C0)v1=k1,D1=p0;else{L1=k1,K1=16;break}}if((K1|0)==5)return E2(s0),$=0,C=h2,$|0;if((K1|0)==16){if(W1=(L1|0)==1,!W1){P1=1,K1=27;break}if(S0=O1+8|0,Q0=e[S0>>2]|0,b0=(Q0|0)==2,b0)break;P1=1,K1=27;break}}else P1=1,K1=27;while(!1);e:do if((K1|0)==27){for(;K1=0,Z0=O1+(P1<<2)|0,P0=e[Z0>>2]|0,s1=32-P1|0,Y0=-1>>>s1,i1=P0&Y0,x0=(i1|0)==0,J0=P1+1|0,!!x0;)if(q0=(J0|0)<33,q0)P1=J0,K1=27;else break e;return E2(s0),$=0,C=h2,$|0}while(!1);if(!Z)return $=s0,C=h2,$|0;if(E)b1=0,G1=0;else{for(M1=0,Z1=0;;){if(o1=t+Z1|0,d1=f[o1>>0]|0,u1=d1<<24>>24>0,u1)for(m1=s0+(M1<<2)|0,f1=e[m1>>2]|0,h1=d1<<24>>24,n2=0,C2=0;;)if(g1=C2<<1,a1=f1>>>n2,$1=a1&1,j0=$1|g1,E1=n2+1|0,I1=(E1|0)<(h1|0),I1)n2=E1,C2=j0;else{d2=j0;break}else d2=0;if(Q1=M1+1|0,p1=s0+(M1<<2)|0,e[p1>>2]=d2,B1=Z1+1|0,F1=(B1|0)==(o|0),F1){$=s0;break}else M1=Q1,Z1=B1}return C=h2,$|0}for(;;){if(y0=t+G1|0,w0=f[y0>>0]|0,B0=w0<<24>>24>0,B0)for(z0=s0+(b1<<2)|0,U0=e[z0>>2]|0,G0=w0<<24>>24,j1=0,a2=0;;)if(T0=a2<<1,N0=U0>>>j1,k0=N0&1,V0=k0|T0,F0=j1+1|0,L0=(F0|0)<(G0|0),L0)j1=F0,a2=V0;else{s2=V0;break}else s2=0;if(_0=w0<<24>>24==0,_0?_1=b1:(K0=b1+1|0,M0=s0+(b1<<2)|0,e[M0>>2]=s2,_1=K0),v0=G1+1|0,U1=(v0|0)==(o|0),U1){$=s0;break}else b1=_1,G1=v0}return C=h2,$|0}function Ub(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0;if(J=C,$=t+4|0,g=e[$>>2]|0,D=e[t>>2]|0,y=(D|0)>0,!y)for(;;);for(x=+(g|0),M=x,L=+(D|0),R=1/L,F=R,T=+Lu(+M,+F),d=+tA(+T),m=~~d,K=m;;){for(b=K+1|0,N=1,G=1,V=0;;)if(B=o5(N,K)|0,S=o5(G,b)|0,v=V+1|0,w=(v|0)<(D|0),w)N=B,G=S,V=v;else{o=B,a=S;break}if(I=(o|0)<=(g|0),E=(a|0)>(g|0),e0=I&E,e0){r0=K;break}Q=(o|0)>(g|0),W=Q?-1:1,a0=K+W|0,K=a0}return r0|0}function Pb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0;if(J5=C,Q=t+12|0,B=e[Q>>2]|0,E=B+-1|0,n5=E>>>0<2,!n5)return d=0,d|0;if(Y0=t+16|0,a1=e[Y0>>2]|0,L1=a1&2097151,x1=+(L1|0),W1=a1>>>21,A2=W1&1023,U2=(a1|0)<0,t5=-x1,$=U2?t5:x1,S=A2+-788|0,T=+nE($,S),o0=T,g0=t+20|0,w0=e[g0>>2]|0,V0=w0&2097151,Z0=+(V0|0),P0=w0>>>21,H0=P0&1023,s1=(w0|0)<0,i1=-Z0,g=s1?i1:Z0,x0=H0+-788|0,o1=+nE(g,x0),d1=o1,u1=e[t>>2]|0,m1=o5(u1,o)|0,f1=le(m1,4)|0,(B|0)==1){if(w1=t+4|0,v1=e[w1>>2]|0,k1=(u1|0)>0,!k1)for(;;);for(M1=+(v1|0),b1=M1,_1=+(u1|0),R1=1/_1,F1=R1,U1=+Lu(+b1,+F1),D1=+tA(+U1),P1=~~D1,c5=P1;;){for(d2=c5+1|0,s5=1,R2=1,p5=0;;)if(O1=o5(s5,c5)|0,g2=o5(R2,d2)|0,s2=p5+1|0,m5=(s2|0)==(u1|0),m5){m=O1,I=g2;break}else s5=O1,R2=g2,p5=s2;if(Z1=(m|0)<=(v1|0),G1=(I|0)>(v1|0),f5=G1&Z1,f5){F2=c5;break}j1=(m|0)>(v1|0),e5=j1?-1:1,M5=e5+c5|0,c5=M5}if(z1=(v1|0)>0,!z1)return d=f1,d|0;for(q1=(a|0)==0,H1=t+8|0,Y1=t+32|0,V1=d1,X1=o0,n2=t+28|0,M2=0,T1=0;;){if(q1)if(l2=e[Y1>>2]|0,i2=e[n2>>2]|0,c2=(i2|0)==0,r2=o5(u1,M2)|0,c2)for(y5=1,X2=0;;)if(_5=(T1|0)/(y5|0)&-1,j2=(_5|0)%(F2|0)&-1,I5=l2+(j2<<2)|0,b5=e[I5>>2]|0,Y5=+(b5|0),Y2=+tr(+Y5),g5=Y2,b2=g5*V1,B5=X1+b2,b=B5,v=r2+X2|0,w=f1+(v<<2)|0,s[w>>2]=b,D=o5(y5,F2)|0,y=X2+1|0,x=(y|0)<(u1|0),x)y5=D,X2=y;else{v5=21;break}else for($5=1,h5=0,r5=0;;)if(M=(T1|0)/($5|0)&-1,L=(M|0)%(F2|0)&-1,R=l2+(L<<2)|0,F=e[R>>2]|0,N=+(F|0),q5=+tr(+N),G=q5,V=G*V1,e0=r5,K=e0+X1,a0=K+V,W=a0,r0=r2+h5|0,s0=f1+(r0<<2)|0,s[s0>>2]=W,J=o5($5,F2)|0,H=h5+1|0,h0=(H|0)<(u1|0),h0)$5=J,h5=H,r5=W;else{v5=21;break}else if(C2=e[H1>>2]|0,a2=C2+T1|0,K1=f[a2>>0]|0,h2=K1<<24>>24==0,h2)y2=M2;else for(e2=e[Y1>>2]|0,o2=e[n2>>2]|0,m2=(o2|0)==0,t2=a+(M2<<2)|0,k2=e[t2>>2]|0,D2=o5(k2,u1)|0,u5=1,l5=0,a5=0;;)if(S2=(T1|0)/(u5|0)&-1,Q2=(S2|0)%(F2|0)&-1,N2=e2+(Q2<<2)|0,L2=e[N2>>2]|0,p2=+(L2|0),L5=+tr(+p2),W2=L5,P2=W2*V1,V2=a5,G2=V2+X1,q2=G2+P2,Z2=q2,w5=m2?a5:Z2,A5=D2+l5|0,H2=f1+(A5<<2)|0,s[H2>>2]=Z2,N1=o5(u5,F2)|0,F5=l5+1|0,i5=(F5|0)<(u1|0),i5)u5=N1,l5=F5,a5=w5;else{v5=21;break}if((v5|0)==21&&(v5=0,i0=M2+1|0,y2=i0),j=T1+1|0,u0=(j|0)<(v1|0),u0)M2=y2,T1=j;else{d=f1;break}}return d|0}else if((B|0)==2){if(h1=t+4|0,A1=e[h1>>2]|0,g1=(A1|0)>0,!g1)return d=f1,d|0;for($1=(a|0)!=0,j0=t+8|0,E1=t+32|0,I1=d1,Q1=o0,p1=t+28|0,B1=(u1|0)>0,Q5=0,D5=0;;){if($1?(c0=e[j0>>2]|0,$0=c0+D5|0,l0=f[$0>>0]|0,Z=l0<<24>>24==0,Z?T5=Q5:v5=25):v5=25,(v5|0)==25){if(v5=0,B1)for(I0=e[E1>>2]|0,f0=e[p1>>2]|0,n0=(f0|0)==0,d0=a+(Q5<<2)|0,p0=o5(u1,D5)|0,C0=o5(u1,Q5)|0,u2=0,z2=0;S0=p0+u2|0,Q0=I0+(S0<<2)|0,b0=e[Q0>>2]|0,E0=+(b0|0),x5=+tr(+E0),y0=x5,B0=y0*I1,_0=z2,K0=_0+Q1,M0=K0+B0,v0=M0,d5=n0?z2:v0,$1?(T0=e[d0>>2]|0,N0=o5(T0,u1)|0,U0=N0+u2|0,O0=f1+(U0<<2)|0,s[O0>>2]=v0):(k0=C0+u2|0,F0=f1+(k0<<2)|0,s[F0>>2]=v0),L0=u2+1|0,G0=(L0|0)<(u1|0),G0;)u2=L0,z2=d5;z0=Q5+1|0,T5=z0}if(J0=D5+1|0,q0=(J0|0)<(A1|0),q0)Q5=T5,D5=J0;else{d=f1;break}}return d|0}else return d=f1,d|0;return 0}function CC(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0;S=C,o=t+36|0,a=e[o>>2]|0,$=(a|0)==0,!$&&(g=t+32|0,d=e[g>>2]|0,m=(d|0)==0,m||E2(d),I=t+8|0,E=e[I>>2]|0,Q=(E|0)==0,Q||E2(E),E2(t))}function Ob(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;M=C,o=t+16|0,a=e[o>>2]|0,E=(a|0)==0,E||E2(a),Q=t+20|0,B=e[Q>>2]|0,S=(B|0)==0,S||E2(B),b=t+24|0,v=e[b>>2]|0,w=(v|0)==0,w||E2(v),D=t+28|0,$=e[D>>2]|0,g=($|0)==0,g||E2($),d=t+32|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),y=t,L=y+56|0;do e[y>>2]=0,y=y+4|0;while((y|0)<(L|0))}function QQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0;P0=C,q0=t,H0=q0+56|0;do e[q0>>2]=0,q0=q0+4|0;while((q0|0)<(H0|0));if(m=t+12|0,e[m>>2]=o,I=o+4|0,M=e[I>>2]|0,W=t+4|0,e[W>>2]=M,$0=t+8|0,e[$0>>2]=M,Q0=e[o>>2]|0,e[t>>2]=Q0,_0=o+8|0,K0=e[_0>>2]|0,M0=BQ(K0,M,0)|0,v0=t+20|0,e[v0>>2]=M0,E=e[I>>2]|0,Q=e[o>>2]|0,B=(Q|0)>0,!B)for(;;);for(S=+(E|0),b=S,v=+(Q|0),w=1/v,D=w,y=+Lu(+b,+D),x=+tA(+y),L=~~x,z0=L;;){for(V=z0+1|0,T0=1,N0=1,O0=0;;)if(N=o5(T0,z0)|0,G=o5(N0,V)|0,e0=O0+1|0,U0=(e0|0)==(Q|0),U0){g=N,d=G;break}else T0=N,N0=G,O0=e0;if(R=(g|0)<=(E|0),F=(d|0)>(E|0),k0=F&R,k0){J0=z0;break}T=(g|0)>(E|0),G0=T?-1:1,L0=G0+z0|0,z0=L0}return K=t+44|0,e[K>>2]=J0,a0=o+16|0,r0=e[a0>>2]|0,s0=r0&2097151,J=+(s0|0),o0=r0>>>21,H=o0&1023,h0=(r0|0)<0,i0=-J,a=h0?i0:J,j=H+-788|0,u0=+nE(a,j),c0=u0,V0=+bQ(c0),l0=~~V0,Z=t+48|0,e[Z>>2]=l0,I0=o+20|0,g0=e[I0>>2]|0,f0=g0&2097151,n0=+(f0|0),d0=g0>>>21,p0=d0&1023,C0=(g0|0)<0,S0=-n0,$=C0?S0:n0,b0=p0+-788|0,E0=+nE($,b0),y0=E0,F0=+bQ(y0),w0=~~F0,B0=t+52|0,e[B0>>2]=w0,0}function qb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0;U3=C,_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));if(b=o+4|0,v=e[b>>2]|0,C2=(v|0)>0,C2)for(Y2=o+8|0,w5=e[Y2>>2]|0,z3=0,U6=0;;)if(v5=w5+z3|0,W5=f[v5>>0]|0,H3=W5<<24>>24>0,$6=H3&1,E=$6+U6|0,Z5=z3+1|0,w=(Z5|0)<(v|0),w)z3=Z5,U6=E;else{d0=E;break}else d0=0;if(V=t+4|0,e[V>>2]=v,i0=t+8|0,e[i0>>2]=d0,K0=e[o>>2]|0,e[t>>2]=K0,G0=(d0|0)>0,!G0)return $=0,C=U3,$|0;if(o1=o+8|0,E1=e[o1>>2]|0,_1=BQ(E1,v,d0)|0,H1=d0<<2,d=H1,a2=C,C=C+((1*d|0)+15&-16)|0,t2=(_1|0)==0,t2){q2=t+16|0,Z2=e[q2>>2]|0,A5=(Z2|0)==0,A5||E2(Z2),H2=t+20|0,N1=e[H2>>2]|0,t5=(N1|0)==0,t5||E2(N1),F5=t+24|0,i5=e[F5>>2]|0,_5=(i5|0)==0,_5||E2(i5),I5=t+28|0,b5=e[I5>>2]|0,Y5=(b5|0)==0,Y5||E2(b5),g5=t+32|0,b2=e[g5>>2]|0,B5=(b2|0)==0,B5||E2(b2),_6=t,q6=_6+56|0;do e[_6>>2]=0,_6=_6+4|0;while((_6|0)<(q6|0));return $=-1,C=U3,$|0}else M3=0;for(;V2=_1+(M3<<2)|0,j2=e[V2>>2]|0,Q5=j2>>>16,T5=j2<<16,m5=Q5|T5,x5=m5>>>8,q5=x5&16711935,L5=m5<<8,p5=L5&-16711936,$5=q5|p5,u5=$5>>>4,y5=u5&252645135,T1=$5<<4,D5=T1&-252645136,h5=y5|D5,l5=h5>>>2,X2=l5&858993459,u2=h5<<2,r5=u2&-858993460,a5=X2|r5,d5=a5>>>1,z2=d5&1431655765,f5=a5<<1,n5=f5&-1431655766,M5=z2|n5,e[V2>>2]=M5,e5=a2+(M3<<2)|0,e[e5>>2]=V2,c5=M3+1|0,X6=(c5|0)==(d0|0),!X6;)M3=c5;for(Nu(a2,d0,4,10),m=H1,F2=C,C=C+((1*m|0)+15&-16)|0,J5=M9(H1)|0,i3=t+20|0,e[i3>>2]=J5,E5=_1,K3=0;;)if(I3=a2+(K3<<2)|0,d3=e[I3>>2]|0,K5=d3,r3=K5-E5|0,a3=r3>>2,B3=F2+(a3<<2)|0,e[B3>>2]=K3,N5=K3+1|0,G6=(N5|0)==(d0|0),G6){e6=0;break}else K3=N5;for(;D3=_1+(e6<<2)|0,f3=e[D3>>2]|0,y3=F2+(e6<<2)|0,X3=e[y3>>2]|0,q3=J5+(X3<<2)|0,e[q3>>2]=f3,X5=e6+1|0,b6=(X5|0)==(d0|0),!b6;)e6=X5;if(E2(_1),b3=Pb(o,d0,F2)|0,t3=t+16|0,e[t3>>2]=b3,s6=M9(H1)|0,T3=t+24|0,e[T3>>2]=s6,c3=e[b>>2]|0,g3=(c3|0)>0,g3)for(Q=e[o1>>2]|0,F6=0,Q6=0;;)if(u3=Q+F6|0,Q3=f[u3>>0]|0,z5=Q3<<24>>24>0,z5?(H5=Q6+1|0,V5=F2+(Q6<<2)|0,S5=e[V5>>2]|0,Y3=s6+(S5<<2)|0,e[Y3>>2]=F6,e9=H5):e9=Q6,G5=F6+1|0,n3=(G5|0)<(c3|0),n3)F6=G5,Q6=e9;else{t9=e9;break}else t9=0;if(l3=M9(t9)|0,N3=t+28|0,e[N3>>2]=l3,E6=t+40|0,e[E6>>2]=0,g3){for(B=e[o1>>2]|0,s5=0,_3=B,l6=0,n9=0;;)if(k3=_3+l6|0,S3=f[k3>>0]|0,a6=S3<<24>>24>0,a6?(i6=n9+1|0,V3=F2+(n9<<2)|0,x3=e[V3>>2]|0,h3=e[N3>>2]|0,J3=h3+x3|0,f[J3>>0]=S3,h6=e[o1>>2]|0,m3=h6+l6|0,L6=f[m3>>0]|0,M6=L6<<24>>24,R6=e[E6>>2]|0,S6=(M6|0)>(R6|0),S6?(e[E6>>2]=M6,R2=M6,M2=h6,V6=i6):(R2=R6,M2=h6,V6=i6)):(R2=s5,M2=_3,V6=n9),r6=l6+1|0,D=e[b>>2]|0,y=(r6|0)<(D|0),y)s5=R2,_3=M2,l6=r6,n9=V6;else{I=R2,s9=V6;break}if(x=(s9|0)==1,x){if(M=(I|0)==1,M)return L=t+36|0,e[L>>2]=1,R=le(2,4)|0,F=t+32|0,e[F>>2]=R,T=R+4|0,e[T>>2]=1,e[R>>2]=1,$=0,C=U3,$|0;G3=1}else G3=s9}else G3=0;if(N=e[i0>>2]|0,G=(N|0)==0,G)P6=-4;else{for(g=N,J6=0;;)if(e0=g>>>1,K=J6+1|0,a0=(e0|0)==0,a0){T6=J6;break}else g=e0,J6=K;c9=T6+-3|0,P6=c9}if(W=t+36|0,r0=(P6|0)<5,a=r0?5:P6,s0=(a|0)>8,i9=s0?8:a,e[W>>2]=i9,J=1<>2]=o0,h0=(G3|0)>0,h0)for(l0=i9,o3=0;;){if(j=e[N3>>2]|0,u0=j+o3|0,c0=f[u0>>0]|0,$0=c0<<24>>24,Z=(l0|0)<($0|0),Z)y2=l0;else if(I0=e[i3>>2]|0,g0=I0+(o3<<2)|0,f0=e[g0>>2]|0,n0=f0>>>16,p0=f0<<16,C0=n0|p0,S0=C0>>>8,Q0=S0&16711935,b0=C0<<8,E0=b0&-16711936,y0=Q0|E0,w0=y0>>>4,B0=w0&252645135,_0=y0<<4,M0=_0&-252645136,v0=B0|M0,T0=v0>>>2,N0=T0&858993459,U0=v0<<2,O0=U0&-858993460,k0=N0|O0,V0=k0>>>1,F0=V0&1431655765,L0=k0<<1,z0=L0&-1431655766,J0=F0|z0,q0=l0-$0|0,Z0=(q0|0)==31,Z0)y2=l0;else for(P0=o3+1|0,s1=$0,A3=0;;)if(H0=A3<>2]=P0,x0=A3+1|0,d1=e[W>>2]|0,u1=f[u0>>0]|0,m1=u1<<24>>24,f1=d1-m1|0,h1=1<>>16,v1=B1<<16,k1=w1|v1,L1=k1>>>8,M1=L1&16711935,b1=k1<<8,R1=b1&-16711936,F1=M1|R1,U1=F1>>>4,D1=U1&252645135,P1=F1<<4,Z1=P1&-252645136,G1=D1|Z1,x1=G1>>>2,z1=x1&858993459,q1=G1<<2,Y1=q1&-858993460,V1=z1|Y1,X1=V1>>>1,n2=X1&1431655765,j1=V1<<1,O1=j1&-1431655766,g2=n2|O1,W1=o0+(g2<<2)|0,d2=e[W1>>2]|0,s2=(d2|0)==0,s2){for(B6=c6;;){if(K1=B6+1|0,h2=(K1|0)<(G3|0),!h2){R3=B6;break}if(l2=e[i3>>2]|0,i2=l2+(K1<<2)|0,c2=e[i2>>2]|0,r2=c2>>>0>B1>>>0,r2){R3=B6;break}else B6=K1}A2=(G3|0)>(v6|0);e:do if(A2)for(e2=e[i3>>2]|0,n6=v6;;){if(o2=e2+(n6<<2)|0,m2=e[o2>>2]|0,k2=m2&j0,D2=B1>>>0>>0,D2){L3=n6;break e}if(S2=n6+1|0,Q2=(G3|0)>(S2|0),Q2)n6=S2;else{L3=S2;break}}else L3=v6;while(!1);N2=G3-L3|0,L2=R3>>>0>32767,U2=N2>>>0>32767,C6=U2?32767:N2,Y6=R3<<15,A6=Y6|-2147483648,p2=L2?-1073774592:A6,W2=p2|C6,e[W1>>2]=W2,o6=L3,D6=R3}else o6=v6,D6=c6;if(P2=K6+1|0,G2=(P2|0)<(J|0),!G2){$=0;break}S=e[W>>2]|0,p1=S,v6=o6,K6=P2,c6=D6}return C=U3,$|0}function Hb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0;return b=C,a=e[t>>2]|0,$=e[a>>2]|0,g=e[o>>2]|0,d=e[g>>2]|0,m=$>>>0>d>>>0,I=m&1,E=$>>>0>>0,Q=E&1,B=I-Q|0,B|0}function Yb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0;if(K0=C,Q=e[t>>2]|0,B=(Q|0)==1,!B&&(F=t+4|0,J=e[F>>2]|0,$0=t+8|0,l0=e[$0>>2]|0,Z=l0+4|0,I0=e[Z>>2]|0,g0=(I0|0)>0,!!g0)){for(f0=I0+1|0,E=Q+-1|0,C0=Q,S0=0,Q0=Q,E0=1;;){S=f0-S0|0,b=l0+(S<<2)|0,v=e[b>>2]|0,w=(Q0|0)/(v|0)&-1,D=(Q|0)/(Q0|0)&-1,y=o5(D,w)|0,x=v+-1|0,M=o5(D,x)|0,L=C0-M|0,R=1-E0|0;do if((v|0)==2)if(K=(R|0)==0,a=E+L|0,a0=J+(a<<2)|0,K){kQ(D,w,o,J,a0),y0=0;break}else{kQ(D,w,J,o,a0),y0=R;break}else if((v|0)==4)if(T=L+D|0,N=(R|0)==0,$=E+L|0,G=J+($<<2)|0,g=E+T|0,V=J+(g<<2)|0,d=E+D|0,m=d+T|0,e0=J+(m<<2)|0,N){vQ(D,w,o,J,G,V,e0),y0=0;break}else{vQ(D,w,J,o,G,V,e0),y0=R;break}else if(W=(D|0)==1,b0=W?E0:R,r0=(b0|0)==0,I=E+L|0,s0=J+(I<<2)|0,r0){SQ(D,v,w,y,o,o,o,J,J,s0),y0=1;break}else{SQ(D,v,w,y,J,J,J,o,o,s0),y0=0;break}while(!1);if(o0=S0+1|0,d0=(o0|0)==(I0|0),d0){w0=y0;break}else C0=L,S0=o0,Q0=w,E0=y0}if(H=(w0|0)!=1,h0=(Q|0)>0,B0=h0&H,B0)p0=0;else return;for(;i0=J+(p0<<2)|0,j=e[i0>>2]|0,u0=o+(p0<<2)|0,e[u0>>2]=j,c0=p0+1|0,n0=(c0|0)==(Q|0),!n0;)p0=c0}}function yQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0;if(E1=C,e[t>>2]=o,m=o*3|0,I=le(m,4)|0,M=t+4|0,e[M>>2]=I,W=le(32,4)|0,$0=t+8|0,e[$0>>2]=W,Q0=(o|0)==1,!Q0){K0=W+8|0,Y0=-1,u1=0,m1=o,h1=0;e:for(;;)for(M0=Y0+1|0,v0=(M0|0)<4,v0?(T0=25768+(M0<<2)|0,E=e[T0>>2]|0,A1=E):(Q=h1+2|0,A1=Q),B=(A1|0)!=2,q0=u1,f1=m1;;){if(z0=q0+1|0,S=(f1|0)/(A1|0)&-1,b=o5(S,A1)|0,v=(f1|0)==(b|0),!v){Y0=M0,u1=q0,m1=f1,h1=A1;continue e}if(w=q0+2|0,D=W+(w<<2)|0,e[D>>2]=A1,y=(q0|0)==0,g1=B|y,!g1){if(x=(q0|0)<1,!x)for(F0=1;L=z0-F0|0,R=L+1|0,F=W+(R<<2)|0,T=e[F>>2]|0,N=L+2|0,G=W+(N<<2)|0,e[G>>2]=T,V=F0+1|0,k0=(V|0)==(z0|0),!k0;)F0=V;e[K0>>2]=2}if(e0=(S|0)==1,e0){a=y,J0=z0,Z0=q0;break e}else q0=z0,f1=S}if(e[W>>2]=o,K=W+4|0,e[K>>2]=J0,a0=+(o|0),r0=6.2831854820251465/a0,$=a^1,s0=(Z0|0)>0,a1=s0&$,!!a1)for(J=o+1|0,P0=0,x0=0,o1=1;;){if(o0=x0+2|0,H=W+(o0<<2)|0,h0=e[H>>2]|0,i0=o5(h0,o1)|0,j=(o|0)/(i0|0)&-1,u0=(h0|0)>1,u0){for(c0=(j|0)>2,l0=h0+-1|0,s1=P0,i1=0,d1=0;;){if(Z=d1+o1|0,I0=+(Z|0),g0=I0*r0,c0)for(V0=0,L0=s1,G0=2;f0=V0+1,n0=g0*f0,N0=+iA(+n0),g=L0+o|0,d0=I+(g<<2)|0,s[d0>>2]=N0,$1=+Hn(+n0),p0=L0+2|0,d=J+L0|0,C0=I+(d<<2)|0,s[C0>>2]=$1,S0=G0+2|0,b0=(S0|0)<(j|0),b0;)V0=f0,L0=p0,G0=S0;if(E0=s1+j|0,y0=i1+1|0,U0=(y0|0)==(l0|0),U0)break;s1=E0,i1=y0,d1=Z}w0=o5(j,l0)|0,B0=w0+P0|0,H0=B0}else H0=P0;if(_0=x0+1|0,O0=(_0|0)==(Z0|0),O0)break;P0=H0,x0=_0,o1=i0}}}function wQ(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0;Q=C,o=(t|0)==0,!o&&(a=t+4|0,$=e[a>>2]|0,g=($|0)==0,g||E2($),d=t+8|0,m=e[d>>2]|0,I=(m|0)==0,I||E2(m),e[t>>2]=0,e[t+4>>2]=0,e[t+8>>2]=0)}function vQ(t,o,a,$,g,d,m){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0;if(I3=C,I=o5(o,t)|0,E=I<<1,Q1=(o|0)>0,Q1)for(F1=I*3|0,V1=t<<2,K1=V1+-1|0,k2=t<<1,u2=0,a5=I,f5=F1,e5=0,c5=E;G2=a+(a5<<2)|0,I5=+s[G2>>2],T5=a+(f5<<2)|0,Q=+s[T5>>2],R=Q+I5,s0=a+(e5<<2)|0,Z=+s[s0>>2],E0=a+(c5<<2)|0,O0=+s[E0>>2],H0=O0+Z,A1=H0+R,E1=e5<<2,I1=$+(E1<<2)|0,s[I1>>2]=A1,p1=H0-R,B1=K1+E1|0,w1=$+(B1<<2)|0,s[w1>>2]=p1,v1=+s[s0>>2],k1=+s[E0>>2],L1=v1-k1,M1=E1+k2|0,b1=M1+-1|0,_1=$+(b1<<2)|0,s[_1>>2]=L1,R1=+s[T5>>2],U1=+s[G2>>2],D1=R1-U1,P1=$+(M1<<2)|0,s[P1>>2]=D1,Z1=a5+t|0,G1=f5+t|0,x1=e5+t|0,z1=c5+t|0,q1=u2+1|0,h5=(q1|0)==(o|0),!h5;)u2=q1,a5=Z1,f5=G1,e5=x1,c5=z1;if(H1=(t|0)<2,!H1){if(Y1=(t|0)==2,!Y1){if(Q1)for(X1=t<<1,w5=0,d5=0;;){for(n0=d5<<2,d0=n0+X1|0,X2=2,n5=d5,F2=n0,J5=d0;O1=n5+2|0,g2=F2+2|0,W1=J5+-2|0,d2=O1+I|0,s2=X2+-2|0,C2=g+(s2<<2)|0,a2=+s[C2>>2],h2=d2+-1|0,l2=a+(h2<<2)|0,i2=+s[l2>>2],c2=i2*a2,r2=X2+-1|0,A2=g+(r2<<2)|0,e2=+s[A2>>2],o2=a+(d2<<2)|0,m2=+s[o2>>2],t2=m2*e2,D2=t2+c2,S2=m2*a2,Q2=e2*i2,N2=S2-Q2,L2=d2+I|0,U2=d+(s2<<2)|0,p2=+s[U2>>2],W2=L2+-1|0,P2=a+(W2<<2)|0,V2=+s[P2>>2],q2=V2*p2,Z2=d+(r2<<2)|0,A5=+s[Z2>>2],H2=a+(L2<<2)|0,N1=+s[H2>>2],t5=N1*A5,F5=t5+q2,i5=N1*p2,_5=A5*V2,j2=i5-_5,b5=L2+I|0,Y5=m+(s2<<2)|0,g5=+s[Y5>>2],b2=b5+-1|0,B5=a+(b2<<2)|0,s5=+s[B5>>2],R2=s5*g5,M2=m+(r2<<2)|0,y2=+s[M2>>2],Q5=a+(b5<<2)|0,m5=+s[Q5>>2],x5=m5*y2,q5=x5+R2,L5=m5*g5,Y2=y2*s5,p5=L5-Y2,$5=q5+D2,u5=q5-D2,y5=p5+N2,T1=N2-p5,B=a+(O1<<2)|0,S=+s[B>>2],b=S+j2,v=S-j2,w=n5+1|0,D=a+(w<<2)|0,y=+s[D>>2],x=y+F5,M=y-F5,L=$5+x,F=F2|1,T=$+(F<<2)|0,s[T>>2]=L,N=y5+b,G=$+(g2<<2)|0,s[G>>2]=N,V=M-T1,e0=J5+-3|0,K=$+(e0<<2)|0,s[K>>2]=V,a0=u5-v,W=$+(W1<<2)|0,s[W>>2]=a0,r0=T1+M,J=g2+X1|0,o0=J+-1|0,H=$+(o0<<2)|0,s[H>>2]=r0,h0=u5+v,i0=$+(J<<2)|0,s[i0>>2]=h0,j=x-$5,u0=W1+X1|0,c0=u0+-1|0,$0=$+(c0<<2)|0,s[$0>>2]=j,l0=y5-b,I0=$+(u0<<2)|0,s[I0>>2]=l0,g0=X2+2|0,f0=(g0|0)<(t|0),f0;)X2=g0,n5=O1,F2=g2,J5=W1;if(n2=d5+t|0,j1=w5+1|0,l5=(j1|0)==(o|0),l5)break;w5=j1,d5=n2}if(p0=t&1,C0=(p0|0)==0,!C0)return}if(S0=t+-1|0,Q0=S0+I|0,b0=t<<2,y0=t<<1,!!Q1)for(w0=Q0+E|0,r5=0,z2=Q0,M5=w0,v5=t,i3=t;B0=a+(z2<<2)|0,_0=+s[B0>>2],K0=a+(M5<<2)|0,M0=+s[K0>>2],v0=M0+_0,T0=v0*-.7071067690849304,N0=_0-M0,U0=N0*.7071067690849304,k0=i3+-1|0,V0=a+(k0<<2)|0,F0=+s[V0>>2],L0=U0+F0,G0=v5+-1|0,z0=$+(G0<<2)|0,s[z0>>2]=L0,J0=+s[V0>>2],q0=J0-U0,Z0=v5+y0|0,P0=Z0+-1|0,s1=$+(P0<<2)|0,s[s1>>2]=q0,Y0=z2+I|0,i1=a+(Y0<<2)|0,x0=+s[i1>>2],o1=T0-x0,d1=$+(v5<<2)|0,s[d1>>2]=o1,u1=+s[i1>>2],m1=u1+T0,f1=$+(Z0<<2)|0,s[f1>>2]=m1,h1=z2+t|0,g1=M5+t|0,a1=v5+b0|0,$1=i3+t|0,j0=r5+1|0,D5=(j0|0)==(o|0),!D5;)r5=j0,z2=h1,M5=g1,v5=a1,i3=$1}}function kQ(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0;if(D1=C,d=o5(o,t)|0,m=t<<1,x=(o|0)>0,x)for(a0=m+-1|0,E1=0,p1=0,v1=d;c0=a+(p1<<2)|0,S0=+s[c0>>2],T0=a+(v1<<2)|0,q0=+s[T0>>2],m1=q0+S0,A1=p1<<1,I=$+(A1<<2)|0,s[I>>2]=m1,E=+s[c0>>2],Q=+s[T0>>2],B=E-Q,S=a0+A1|0,b=$+(S<<2)|0,s[b>>2]=B,v=p1+t|0,w=v1+t|0,D=E1+1|0,a1=(D|0)==(o|0),!a1;)E1=D,p1=v,v1=w;if(y=(t|0)<2,!y){if(M=(t|0)==2,!M){if(x)for(I1=0,B1=0,k1=d;;){for(V0=B1<<1,F0=V0+m|0,j0=2,M1=k1,_1=F0,R1=B1,F1=V0;T=M1+2|0,N=_1+-2|0,G=R1+2|0,V=F1+2|0,e0=j0+-2|0,K=g+(e0<<2)|0,W=+s[K>>2],r0=M1+1|0,s0=a+(r0<<2)|0,J=+s[s0>>2],o0=J*W,H=j0+-1|0,h0=g+(H<<2)|0,i0=+s[h0>>2],j=a+(T<<2)|0,u0=+s[j>>2],$0=u0*i0,l0=$0+o0,Z=u0*W,I0=i0*J,g0=Z-I0,f0=a+(G<<2)|0,n0=+s[f0>>2],d0=g0+n0,p0=$+(V<<2)|0,s[p0>>2]=d0,C0=+s[f0>>2],Q0=g0-C0,b0=$+(N<<2)|0,s[b0>>2]=Q0,E0=R1+1|0,y0=a+(E0<<2)|0,w0=+s[y0>>2],B0=w0+l0,_0=F1|1,K0=$+(_0<<2)|0,s[K0>>2]=B0,M0=+s[y0>>2],v0=M0-l0,N0=_1+-3|0,U0=$+(N0<<2)|0,s[U0>>2]=v0,O0=j0+2|0,k0=(O0|0)<(t|0),k0;)j0=O0,M1=T,_1=N,R1=G,F1=V;if(L=B1+t|0,R=k1+t|0,F=I1+1|0,$1=(F|0)==(o|0),$1)break;I1=F,B1=L,k1=R}if(L0=(t|0)%2&-1,G0=(L0|0)==1,G0)return}if(z0=t+-1|0,!!x)for(J0=d+z0|0,Q1=0,w1=t,L1=J0,b1=z0;Z0=a+(L1<<2)|0,P0=+s[Z0>>2],H0=-P0,s1=$+(w1<<2)|0,s[s1>>2]=H0,Y0=a+(b1<<2)|0,i1=e[Y0>>2]|0,x0=w1+-1|0,o1=$+(x0<<2)|0,e[o1>>2]=i1,d1=w1+m|0,u1=L1+t|0,f1=b1+t|0,h1=Q1+1|0,g1=(h1|0)==(o|0),!g1;)Q1=h1,w1=d1,L1=u1,b1=f1}}function SQ(t,o,a,$,g,d,m,I,E,Q){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,Q=Q|0;var B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0;vt=C,b=+(o|0),v=6.2831854820251465/b,pt=+iA(+v),q8=+Hn(+v),C2=o+1|0,k3=C2>>1,J9=t+-1|0,Ve=J9>>1,P9=o5(a,t)|0,k9=o5(o,t)|0,me=(t|0)==1;e:do if(!me){if(D8=($|0)>0,D8)for(_4=0;d0=m+(_4<<2)|0,K0=e[d0>>2]|0,G0=E+(_4<<2)|0,e[G0>>2]=K0,o1=_4+1|0,Bt=(o1|0)==($|0),!Bt;)_4=o1;if(V=(o|0)>1,V)for(i0=(a|0)>0,wt=1,K8=0;;){if(E1=K8+P9|0,i0)for(l8=0,ae=E1;_1=d+(ae<<2)|0,H1=e[_1>>2]|0,a2=I+(ae<<2)|0,e[a2>>2]=H1,t2=ae+t|0,V2=l8+1|0,oe=(V2|0)==(a|0),!oe;)l8=V2,ae=t2;if(j2=wt+1|0,lt=(j2|0)==(o|0),lt)break;wt=j2,K8=E1}if(Q5=0-t|0,T1=(Ve|0)>(a|0),T1){if(V)for(q3=(a|0)>0,z5=(t|0)>2,E3=Q5,Z9=1,R8=0;;){if(_3=R8+P9|0,L6=E3+t|0,q3)for(n6=_3-t|0,A3=L6+-1|0,ut=0,T8=n6;;){if(G3=T8+t|0,z5)for(ct=2,E4=A3,Ci=G3;U3=E4+2|0,y6=Ci+2|0,w9=E4+1|0,n4=Q+(w9<<2)|0,He=+s[n4>>2],Ye=Ci+1|0,he=d+(Ye<<2)|0,Ue=+s[he>>2],Ee=Ue*He,v4=Q+(U3<<2)|0,W9=+s[v4>>2],v9=d+(y6<<2)|0,k4=+s[v9>>2],Y4=k4*W9,nt=Y4+Ee,V4=I+(Ye<<2)|0,s[V4>>2]=nt,Je=+s[n4>>2],o4=+s[v9>>2],R4=o4*Je,ot=+s[v4>>2],re=+s[he>>2],u4=re*ot,Ce=R4-u4,N6=I+(y6<<2)|0,s[N6>>2]=Ce,ze=ct+2|0,de=(ze|0)<(t|0),de;)ct=ze,E4=U3,Ci=y6;if(Ne=ut+1|0,$t=(Ne|0)==(a|0),$t)break;ut=Ne,T8=G3}if(h4=Z9+1|0,Ct=(h4|0)==(o|0),Ct)break;E3=L6,Z9=h4,R8=_3}}else if(V)for(f5=(t|0)>2,d3=(a|0)>0,Z4=Q5,l4=1,H8=0;;){if(ne=Z4+t|0,d4=H8+P9|0,f5)for(f4=ne+-1|0,Qt=2,gt=f4,Ai=d4;;){if(ke=gt+2|0,s4=Ai+2|0,d3)for(Pe=gt+1|0,I4=Q+(Pe<<2)|0,f6=Q+(ke<<2)|0,ht=0,X8=s4;J4=+s[I4>>2],fe=X8+-1|0,S4=d+(fe<<2)|0,Se=+s[S4>>2],Ie=Se*J4,z6=+s[f6>>2],F4=d+(X8<<2)|0,T4=+s[F4>>2],st=T4*z6,xe=st+Ie,mt=I+(fe<<2)|0,s[mt>>2]=xe,W3=+s[I4>>2],_9=+s[F4>>2],S9=_9*W3,Oe=+s[f6>>2],a4=+s[S4>>2],d8=a4*Oe,N4=S9-d8,f8=I+(X8<<2)|0,s[f8>>2]=N4,e8=X8+t|0,I8=ht+1|0,Rt=(I8|0)==(a|0),!Rt;)ht=I8,X8=e8;if(m8=Qt+2|0,Ut=(m8|0)<(t|0),Ut)Qt=m8,gt=ke,Ai=s4;else break}if(Pt=l4+1|0,m4=(Pt|0)==(o|0),m4)break;Z4=ne,l4=Pt,H8=d4}if(Ot=o5(P9,o)|0,qt=(Ve|0)<(a|0),t8=(k3|0)>1,!qt){if(!t8)break;for(i8=(a|0)>0,_8=(t|0)>2,j4=1,dt=0,qi=Ot;;){if(y0=dt+P9|0,w0=qi-P9|0,i8)for(Ze=0,$i=y0,li=w0;;){if(_8)for(D4=2,ei=$i,ki=li;B0=ei+2|0,_0=ki+2|0,M0=ei+1|0,v0=I+(M0<<2)|0,T0=+s[v0>>2],N0=ki+1|0,U0=I+(N0<<2)|0,O0=+s[U0>>2],k0=O0+T0,V0=d+(M0<<2)|0,s[V0>>2]=k0,F0=I+(B0<<2)|0,L0=+s[F0>>2],z0=I+(_0<<2)|0,J0=+s[z0>>2],q0=L0-J0,Z0=d+(N0<<2)|0,s[Z0>>2]=q0,P0=+s[F0>>2],H0=+s[z0>>2],s1=H0+P0,Y0=d+(B0<<2)|0,s[Y0>>2]=s1,i1=+s[U0>>2],x0=+s[v0>>2],d1=i1-x0,u1=d+(_0<<2)|0,s[u1>>2]=d1,m1=D4+2|0,f1=(m1|0)<(t|0),f1;)D4=m1,ei=B0,ki=_0;if(h1=$i+t|0,A1=li+t|0,g1=Ze+1|0,Ke=(g1|0)==(a|0),Ke)break;Ze=g1,$i=h1,li=A1}if(a1=j4+1|0,U4=(a1|0)==(k3|0),U4)break e;j4=a1,dt=y0,qi=w0}}if(t8)for(D=(t|0)>2,y=(a|0)>0,F9=1,W8=0,Oi=Ot;;){if(x=W8+P9|0,M=Oi-P9|0,D)for(p4=2,Bi=x,wi=M;;){if(L=Bi+2|0,R=wi+2|0,y)for(F=R-t|0,T=L-t|0,Ft=0,Wi=T,d7=F;N=Wi+t|0,G=d7+t|0,e0=N+-1|0,K=I+(e0<<2)|0,a0=+s[K>>2],W=G+-1|0,r0=I+(W<<2)|0,s0=+s[r0>>2],J=s0+a0,o0=d+(e0<<2)|0,s[o0>>2]=J,H=I+(N<<2)|0,h0=+s[H>>2],j=I+(G<<2)|0,u0=+s[j>>2],c0=h0-u0,$0=d+(W<<2)|0,s[$0>>2]=c0,l0=+s[H>>2],Z=+s[j>>2],I0=Z+l0,g0=d+(N<<2)|0,s[g0>>2]=I0,f0=+s[r0>>2],n0=+s[K>>2],p0=f0-n0,C0=d+(G<<2)|0,s[C0>>2]=p0,S0=Ft+1|0,Mt=(S0|0)==(a|0),!Mt;)Ft=S0,Wi=N,d7=G;if(Q0=p4+2|0,b0=(Q0|0)<(t|0),b0)p4=Q0,Bi=L,wi=R;else break}if(E0=F9+1|0,At=(E0|0)==(k3|0),At)break;F9=E0,W8=x,Oi=M}}while(!1);if(w=($|0)>0,w)for(be=0;$1=E+(be<<2)|0,j0=e[$1>>2]|0,I1=m+(be<<2)|0,e[I1>>2]=j0,Q1=be+1|0,Kt=(Q1|0)==($|0),!Kt;)be=Q1;if(p1=o5($,o)|0,B1=(k3|0)>1,B1){for(w1=(a|0)>0,Wt=1,Nt=0,Hi=p1;;){if(v1=Nt+P9|0,k1=Hi-P9|0,w1)for(L1=k1-t|0,M1=v1-t|0,c8=0,c7=M1,u7=L1;b1=c7+t|0,R1=u7+t|0,F1=I+(b1<<2)|0,U1=+s[F1>>2],D1=I+(R1<<2)|0,P1=+s[D1>>2],Z1=P1+U1,G1=d+(b1<<2)|0,s[G1>>2]=Z1,x1=+s[D1>>2],z1=+s[F1>>2],q1=x1-z1,Y1=d+(R1<<2)|0,s[Y1>>2]=q1,V1=c8+1|0,A4=(V1|0)==(a|0),!A4;)c8=V1,c7=b1,u7=R1;if(X1=Wt+1|0,s8=(X1|0)==(k3|0),s8)break;Wt=X1,Nt=v1,Hi=k1}if(n2=o+-1|0,j1=o5(n2,$)|0,B1){for(O1=(k3|0)>2,Ht=0,Vt=1,et=1,F8=0,pi=p1;;){if(g2=F8+$|0,W1=pi-$|0,d2=Vt*pt,s2=Ht*q8,K1=d2-s2,h2=Ht*pt,l2=Vt*q8,i2=l2+h2,w)for(yt=0,Vi=g2,gi=W1,ji=j1,ii=$;c2=m+(yt<<2)|0,r2=+s[c2>>2],A2=ii+1|0,e2=m+(ii<<2)|0,o2=+s[e2>>2],m2=o2*K1,k2=m2+r2,D2=Vi+1|0,S2=E+(Vi<<2)|0,s[S2>>2]=k2,Q2=ji+1|0,N2=m+(ji<<2)|0,L2=+s[N2>>2],U2=L2*i2,p2=gi+1|0,W2=E+(gi<<2)|0,s[W2>>2]=U2,P2=yt+1|0,E8=(P2|0)==($|0),!E8;)yt=P2,Vi=D2,gi=p2,ji=Q2,ii=A2;if(O1)for(Yt=i2,_t=K1,C8=2,Ji=$,Y8=j1;;){if(G2=Ji+$|0,q2=Y8-$|0,Z2=_t*K1,A5=Yt*i2,H2=Z2-A5,N1=Yt*K1,t5=_t*i2,F5=t5+N1,w)for(a8=0,Si=g2,_i=W1,xi=G2,N8=q2;i5=xi+1|0,_5=m+(xi<<2)|0,I5=+s[_5>>2],b5=I5*H2,Y5=Si+1|0,g5=E+(Si<<2)|0,b2=+s[g5>>2],B5=b2+b5,s[g5>>2]=B5,s5=N8+1|0,R2=m+(N8<<2)|0,M2=+s[R2>>2],y2=M2*F5,T5=_i+1|0,m5=E+(_i<<2)|0,x5=+s[m5>>2],q5=x5+y2,s[m5>>2]=q5,L5=a8+1|0,x8=(L5|0)==($|0),!x8;)a8=L5,Si=Y5,_i=T5,xi=i5,N8=s5;if(Y2=C8+1|0,o8=(Y2|0)==(k3|0),o8)break;Yt=F5,_t=H2,C8=Y2,Ji=G2,Y8=q2}if(p5=et+1|0,L8=(p5|0)==(k3|0),L8)break;Ht=i2,Vt=K1,et=p5,F8=g2,pi=W1}if(B1)for(A8=1,Xt=0;;){if($5=Xt+$|0,w)for(We=0,Z8=$5;u5=Z8+1|0,y5=m+(Z8<<2)|0,D5=+s[y5>>2],h5=E+(We<<2)|0,l5=+s[h5>>2],X2=l5+D5,s[h5>>2]=X2,u2=We+1|0,p8=(u2|0)==($|0),!p8;)We=u2,Z8=u5;if(w5=A8+1|0,b4=(w5|0)==(k3|0),b4)break;A8=w5,Xt=$5}}}if(r5=(t|0)<(a|0),r5){if(z2=(t|0)>0,z2)for(n5=(a|0)>0,W4=0;;){if(n5)for(X4=0,C4=W4,j8=W4;K5=I+(C4<<2)|0,r3=e[K5>>2]|0,a3=g+(j8<<2)|0,e[a3>>2]=r3,B3=C4+t|0,N5=j8+k9|0,W5=X4+1|0,G4=(W5|0)==(a|0),!G4;)X4=W5,C4=B3,j8=N5;if(D3=W4+1|0,at=(D3|0)==(t|0),at)break;W4=D3}}else if(a5=(a|0)>0,a5)for(d5=(t|0)>0,Tt=0,O4=0,Ei=0;;){if(d5)for(K4=0,Yi=O4,zi=Ei;M5=Yi+1|0,e5=I+(Yi<<2)|0,c5=e[e5>>2]|0,F2=zi+1|0,v5=g+(zi<<2)|0,e[v5>>2]=c5,J5=K4+1|0,Lt=(J5|0)==(t|0),!Lt;)K4=J5,Yi=M5,zi=F2;if(i3=O4+t|0,E5=Ei+k9|0,I3=Tt+1|0,x9=(I3|0)==(a|0),x9)break;Tt=I3,O4=i3,Ei=E5}if(f3=t<<1,y3=o5(P9,o)|0,B1)for(X3=(a|0)>0,$8=1,M8=0,Qi=0,Ki=y3;;){if(X5=M8+f3|0,b3=Qi+P9|0,t3=Ki-P9|0,X3)for(b9=0,ti=X5,bi=b3,e7=t3;s6=I+(bi<<2)|0,T3=e[s6>>2]|0,H3=ti+-1|0,c3=g+(H3<<2)|0,e[c3>>2]=T3,g3=I+(e7<<2)|0,u3=e[g3>>2]|0,Q3=g+(ti<<2)|0,e[Q3>>2]=u3,H5=ti+k9|0,V5=bi+t|0,S5=e7+t|0,Y3=b9+1|0,Et=(Y3|0)==(a|0),!Et;)b9=Y3,ti=H5,bi=V5,e7=S5;if(G5=$8+1|0,z4=(G5|0)==(k3|0),z4)break;$8=G5,M8=X5,Qi=b3,Ki=t3}if(!me){if($6=(Ve|0)<(a|0),n3=0-t|0,!$6){if(!B1)return;for(B=(a|0)<1,S=(t|0)<3,xt=B|S,Zt=1,u8=n3,yi=0,ci=0,h7=y3;;){if(E6=u8+f3|0,S3=yi+f3|0,a6=ci+P9|0,i6=h7-P9|0,!xt)for(g8=0,Xi=E6,ui=S3,x4=a6,hi=i6;;){for(se=2;h6=t-se|0,m3=se+x4|0,M6=m3+-1|0,R6=I+(M6<<2)|0,S6=+s[R6>>2],r6=se+hi|0,d6=r6+-1|0,b6=I+(d6<<2)|0,G6=+s[b6>>2],X6=G6+S6,v6=se+ui|0,L3=v6+-1|0,o6=g+(L3<<2)|0,s[o6>>2]=X6,C6=+s[R6>>2],z3=+s[b6>>2],M3=C6-z3,K3=h6+Xi|0,e6=K3+-1|0,F6=g+(e6<<2)|0,s[F6>>2]=M3,l6=I+(m3<<2)|0,o3=+s[l6>>2],K6=I+(r6<<2)|0,c6=+s[K6>>2],B6=c6+o3,R3=g+(v6<<2)|0,s[R3>>2]=B6,Y6=+s[K6>>2],A6=+s[l6>>2],D6=Y6-A6,U6=g+(K3<<2)|0,s[U6>>2]=D6,t9=se+2|0,Q6=(t9|0)<(t|0),Q6;)se=t9;if(V3=Xi+k9|0,Z5=ui+k9|0,x3=x4+t|0,h3=hi+t|0,J3=g8+1|0,r8=(J3|0)==(a|0),r8)break;g8=J3,Xi=V3,ui=Z5,x4=x3,hi=h3}if(e9=Zt+1|0,n8=(e9|0)==(k3|0),n8)break;Zt=e9,u8=E6,yi=S3,ci=a6,h7=i6}return}if(B1)for(l3=(t|0)>2,N3=(a|0)>0,$4=1,c4=n3,g7=0,vi=0,Zi=y3;;){if(n9=c4+f3|0,V6=g7+f3|0,s9=vi+P9|0,c9=Zi-P9|0,l3&&(P6=n9+t|0,N3))for(P4=2;;){for(Fe=P4+c9|0,Te=P4+s9|0,Ge=P4+V6|0,qe=P6-P4|0,jt=0,Di=qe,V8=Ge,Li=Te,l9=Fe;i9=Li+-1|0,_6=I+(i9<<2)|0,O6=+s[_6>>2],q6=l9+-1|0,a9=I+(q6<<2)|0,h9=+s[a9>>2],o9=h9+O6,C9=V8+-1|0,B9=g+(C9<<2)|0,s[B9>>2]=o9,Q9=+s[_6>>2],d9=+s[a9>>2],f9=Q9-d9,H9=Di+-1|0,H6=g+(H9<<2)|0,s[H6>>2]=f9,A9=I+(Li<<2)|0,Y9=+s[A9>>2],y9=I+(l9<<2)|0,ye=+s[y9>>2],ge=ye+Y9,pe=g+(V8<<2)|0,s[pe>>2]=ge,V9=+s[y9>>2],ie=+s[A9>>2],R9=V9-ie,W6=g+(Di<<2)|0,s[W6>>2]=R9,$9=Di+k9|0,we=V8+k9|0,Re=Li+t|0,ue=l9+t|0,D9=jt+1|0,Jt=(D9|0)==(a|0),!Jt;)jt=D9,Di=$9,V8=we,Li=Re,l9=ue;if(J6=P4+2|0,T6=(J6|0)<(t|0),T6)P4=J6;else break}if(ve=$4+1|0,zt=(ve|0)==(k3|0),zt)break;$4=ve,c4=n9,g7=V6,vi=s9,Zi=c9}}}function Vb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,hs=0,Kn=0,ds=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,rr=0,Ts=0,$o=0,hn=0,lo=0,dn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,nr=0,br=0,z7=0,Dr=0,Io=0,K7=0,S7=0,b7=0,t7=0,D7=0,_r=0,or=0,sr=0,xr=0,p7=0,Ps=0,di=0,rl=0,In=0,mn=0,Gu=0,nl=0,Os=0,Uu=0,oA=0,ol=0,Pu=0,Ou=0,qu=0,sA=0,sl=0,al=0,aA=0,pn=0,Al=0,Hu=0,qs=0,ar=0,Yu=0,Vu=0,Ju=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,$l=0,Lr=0,th=0,ih=0,ll=0,rh=0,AA=0,Hs=0,$A=0,nh=0,oh=0,lA=0,cl=0,gl=0,ul=0,cA=0,hl=0,Ys=0,sh=0,ah=0,dl=0,Ah=0,$h=0,fl=0,lh=0,ch=0,Il=0,ml=0,pl=0,El=0,Cl=0,En=0,gh=0,Bl=0,uh=0,Ql=0,yl=0,hh=0,dh=0,fh=0,gA=0,wl=0,vl=0,mo=0,kl=0,uA=0,Ih=0,Sl=0,mh=0,bl=0,ph=0,Eh=0,Dl=0,_l=0,Ch=0,Vs=0,Bh=0,hA=0,xl=0,Ll=0,Qh=0,yh=0,wh=0,vh=0,kh=0,Sh=0,Js=0,Ml=0,Rl=0,Fl=0,zs=0,bh=0,Tl=0,Dh=0,Nl=0,_h=0,xh=0,Gl=0,dA=0,Lh=0,Mh=0,Ks=0,Rh=0,Ws=0,Fh=0,fA=0,Th=0,Nh=0,Gh=0,Ul=0,Uh=0,Ph=0,Oh=0,qh=0,Pl=0,Ol=0,Ar=0,ql=0,Zs=0,IA=0,mA=0,Cn=0,Hl=0,Bn=0,Hh=0,Yl=0,Yh=0,Vh=0,Jh=0,zh=0,js=0,pA=0,Mr=0,Kh=0,Wh=0,Vl=0,EA=0,Jl=0,zl=0,Zh=0,Kl=0,jh=0,CA=0,Xh=0,ed=0,z9=0,td=0,Wl=0,id=0,rd=0,BA=0,nd=0,QA=0,Zl=0,od=0,sd=0,jl=0,Xl=0,ad=0,yA=0,wA=0,ec=0,tc=0,Ad=0,ic=0,vA=0,$d=0,rc=0,ld=0,cd=0,gd=0,ud=0,nc=0,oc=0,kA=0,Xs=0,sc=0,hd=0,ac=0,Ac=0,dd=0,fd=0,Id=0,$c=0,md=0,pd=0,Ed=0,Cd=0,Bd=0,Qd=0,lc=0,yd=0,cc=0,wd=0,Qn=0,vd=0,gc=0,kd=0,po=0,uc=0,SA=0,Sd=0,ea=0,bA=0,bd=0,DA=0,hc=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,dc=0,Rd=0,Fd=0,Td=0,ta=0,Eo=0,_A=0,Nd=0,xA=0,Gd=0,Ud=0,Pd=0,fc=0,Od=0,qd=0,Hd=0,Yd=0,Vd=0,ia=0,Jd=0,zd=0,Ic=0,Kd=0,Wd=0,Zd=0,jd=0,E7=0,mc=0,C7=0,pc=0,LA=0,Xd=0,i7=0,Co=0,ef=0,tf=0,rf=0,nf=0,of=0,Ec=0,sf=0,af=0,Cc=0,Af=0,$f=0,Bo=0,MA=0,lf=0,Bc=0,cf=0,gf=0,ra=0,uf=0,hf=0,Qc=0,yc=0,df=0,ff=0,yn=0,If=0,mf=0,wn=0,pf=0,wc=0,Ef=0,Cf=0,Qo=0,vc=0,Bf=0,kc=0,Qf=0,$r=0,RA=0,yf=0,Sc=0,bc=0,wf=0,vf=0,Dc=0,kf=0,Sf=0,bf=0,_c=0,Df=0,yo=0,_f=0,vn=0,xf=0,Lf=0,FA=0,Mf=0,TA=0,NA=0,Rf=0,xc=0,Lc=0,Ff=0,Mc=0,Rc=0,Fc=0,Tf=0,Tc=0,Nc=0,Nf=0,Gf=0,Gc=0,Uc=0,Uf=0,Pc=0,Oc=0,Pf=0,Of=0,qc=0,GA=0,Hc=0,Yc=0,Vc=0,Jc=0,qf=0,Hf=0,Yf=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,zc=0,UA=0,Zf=0,jf=0,Xf=0,Kc=0,Wc=0,eI=0,Zc=0,PA=0,na=0,jc=0,tI=0,iI=0,rI=0,nI=0,Xc=0,oa=0,oI=0,sI=0,aI=0,AI=0,$I=0,lI=0,cI=0,gI=0,eg=0,uI=0,hI=0,dI=0,fI=0,sa=0,tg=0,II=0,mI=0,kn=0,ig=0,rg=0,OA=0,pI=0,ng=0,EI=0,og=0,sg=0,CI=0,BI=0,QI=0,yI=0,wI=0,aa=0,qA=0,vI=0,kI=0,SI=0,bI=0,ag=0,DI=0,Ag=0,_I=0,xI=0,$g=0,Rr=0,lg=0,cg=0,LI=0,gg=0,Aa=0,MI=0,RI=0,FI=0,$a=0,ug=0,TI=0,NI=0,hg=0,GI=0,UI=0,HA=0,la=0,PI=0,OI=0,qI=0,dg=0,fg=0,Ig=0,HI=0,YI=0,wo=0,VI=0,mg=0,JI=0,YA=0,pg=0,zI=0,KI=0,WI=0,ZI=0,Eg=0,jI=0,XI=0,Cg=0,ca=0,em=0,tm=0,im=0,vo=0,Bg=0,Qg=0,rm=0,yg=0,wg=0,_7=0,vg=0,lr=0,nm=0,om=0,sm=0,am=0,VA=0,ga=0,kg=0,Sg=0,Am=0,ua=0,ko=0,$m=0,ha=0,JA=0,lm=0,zA=0,cm=0,gm=0,bg=0,da=0,Dg=0,um=0,hm=0,dm=0,fm=0,_g=0,Im=0,ri=0,De=0,r7=0,mm=0,xg=0,Lg=0,KA=0,pm=0,Fr=0,So=0,Em=0,Cm=0,Mg=0,WA=0,Bm=0,Rg=0,Fg=0,Tg=0,ZA=0,jA=0,Ng=0,bo=0,XA=0,Gg=0,Qm=0,Sn=0,ym=0,Ug=0,fa=0,wm=0,Pg=0,x7=0,vm=0,km=0,Sm=0,bm=0,Dm=0,_m=0,L7=0,xm=0,Lm=0,Mm=0,Og=0,B7=0,Ia=0,e$=0,qg=0,Hg=0,Rm=0,Yg=0,Vg=0,Fm=0,Tm=0,Jg=0,zg=0,Nm=0,Gm=0,Kg=0,Um=0,Do=0,ma=0,pa=0,Pm=0,t$=0,Om=0,qm=0,Wg=0,_o=0,Hm=0,Ym=0,i$=0,r$=0,Ea=0,n$=0,o$=0,cr=0,Tr=0,Nr=0,s$=0,a$=0,xo=0,gr=0,bn=0,Vm=0,ur=0,Dn=0,Jm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,Zg=0,jg=0,Qa=0,A$=0,Ti=0,ya=0,Gr=0,$$=0,zm=0,l$=0,Km=0,c$=0,Xg=0,wa=0,Wm=0,Zm=0,va=0,jm=0,ka=0,_n=0,tt=0,Le=0,eu=0,Xm=0,g$=0,tu=0,ep=0,tp=0,Sa=0,ip=0,rp=0,np=0,op=0,iu=0,sp=0,ap=0,Ap=0,n7=0,ba=0,xn=0,u$=0,Lo=0,Mo=0,ni=0,Ro=0,ru=0,nu=0,Da=0,Fo=0,To=0,No=0,$p=0,Go=0,hr=0,ou=0,Ur=0,o7=0,h$=0,d$=0,W7=0,f$=0,I$=0,m$=0,Pr=0,g6=0,_a=0,Or=0,su=0,L4=0,p$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,je=0,E$=0,SC=0,lp=0,aE=0,AE=0,bC=0,cp=0,GQ=0,UQ=0,PQ=0,OQ=0,qQ=0,HQ=0,YQ=0,VQ=0,JQ=0,zQ=0,KQ=0,WQ=0,DC=0,_C=0,ZQ=0,jQ=0,XQ=0,au=0,$E=0,Q7=0,Au=0,$u=0,lu=0,cu=0,gp=0,up=0,hp=0,dp=0,fp=0,Ip=0,mp=0,pp=0,Ep=0,Cp=0,lE=0,xa=0,dr=0,C$=0,gu=0,B$=0,xC=0,La=0,Bp=0,Q$=0,cE=0,gE=0,Qp=0,uE=0,hE=0,dE=0,fE=0,IE=0,mE=0,pE=0,LC=0,MC=0,RC=0,FC=0,TC=0,Ma=0,Ra=0,Fa=0,Ta=0,ey=0,fr=0,Ae=0,CD=0,Na=0,EE=0;if(CD=C,f0=t+28|0,n0=e[f0>>2]|0,n8=(n0|0)==0,n8||(gi=n0+3456|0,Io=e[gi>>2]|0,Ml=(Io|0)==0,o=Ml&1,po=n0+3496|0,Mc=+l1[po>>3],dg=Mc>-80,dg?l1[po>>3]=-80:(Tm=Mc<-200,Tm&&(l1[po>>3]=-200)),d0=n0+3512|0,j2=+l1[d0>>3],A3=j2>0,A3?l1[d0>>3]=0:(ve=j2<-99999,ve&&(l1[d0>>3]=-99999)),Y4=n0+3396|0,N6=e[Y4>>2]|0,Pe=(N6|0)==0,Pe))return E=-131,E|0;if(T4=n0+3392|0,e[T4>>2]=1,N4=n0+3400|0,i8=+l1[N4>>3],Et=N6+24|0,L8=e[Et>>2]|0,m4=N6+28|0,P4=e[m4>>2]|0,$4=~~i8,jt=L8+($4<<2)|0,q8=e[jt>>2]|0,Xt=P4+($4<<2)|0,Ei=e[Xt>>2]|0,e[n0>>2]=q8,wi=n0+4|0,e[wi>>2]=Ei,Y8=(q8|0)==(Ei|0),ii=N6+144|0,B8=e[ii>>2]|0,ls=(B8|0)>0,ls){for(fs=N6+136|0,Es=N6+140|0,no=N6+148|0,rr=i8,Mr=n0,lE=0;;){if(Ds=~~rr,ho=e[fs>>2]|0,K7=e[Es>>2]|0,di=e[no>>2]|0,Ou=di+(lE<<2)|0,Yu=e[Ou>>2]|0,Lr=le(1,1120)|0,cl=Yu+(Ds<<2)|0,fl=e[cl>>2]|0,uh=K7+(fl*1120|0)|0,ce(Lr|0,uh|0,1120)|0,uA=e[Lr>>2]|0,Bh=(uA|0)>0,Bh){for(Rl=Lr+4|0,$E=0,pE=-1;;)if(vA=Rl+($E<<2)|0,sc=e[vA>>2]|0,Cd=(sc|0)>(pE|0),a0=Cd?sc:pE,uc=$E+1|0,KQ=(uc|0)==(uA|0),KQ){W=a0;break}else $E=uc,pE=a0;if(Lh=(W|0)<0,!Lh){for(Uh=Lr+256|0,Cn=Mr+24|0,Xh=Lr+192|0,od=Lr+320|0,B$=0,dE=-1;;){if(bc=Uh+(B$<<2)|0,vn=e[bc>>2]|0,Rc=(vn|0)>(dE|0),e0=Rc?vn:dE,Oc=e[Cn>>2]|0,Yf=Oc+vn|0,e[bc>>2]=Yf,Kc=Xh+(B$<<2)|0,Xc=e[Kc>>2]|0,uI=(Xc|0)==31,uI)fE=e0;else for(D9=Xc,uE=0,mE=e0;;)if(OA=(od+(B$<<5)|0)+(uE<<2)|0,aa=e[OA>>2]|0,$g=(aa|0)>(mE|0),K=$g?aa:mE,ug=(aa|0)>-1,ug?(fg=e[Cn>>2]|0,KI=fg+aa|0,e[OA>>2]=KI,s0=e[Kc>>2]|0,JA=s0):JA=D9,vo=uE+1|0,sm=1<>2]|0,Xd=e[zd>>2]|0,Cc=e[Cn>>2]|0,hf=Cc+1|0,e[Cn>>2]=hf,Ef=(Mr+1824|0)+(Cc<<2)|0,e[Ef>>2]=Xd,YQ=(IE|0)==0,!YQ))for(xC=0;jA=xC+1|0,i0=e[cl>>2]|0,Pg=ho+(i0<<2)|0,Mm=e[Pg>>2]|0,Jg=Mm+(jA<<2)|0,Om=e[Jg>>2]|0,cr=e[Cn>>2]|0,Jm=cr+1|0,e[Cn>>2]=Jm,ya=(Mr+1824|0)+(cr<<2)|0,e[ya>>2]=Om,HQ=(jA|0)==(IE|0),!HQ;)xC=jA}}if(va=Mr+16|0,tp=e[va>>2]|0,ba=(Mr+800|0)+(tp<<2)|0,e[ba>>2]=1,To=e[va>>2]|0,f$=(Mr+1056|0)+(To<<2)|0,e[f$>>2]=Lr,p0=e[va>>2]|0,M0=p0+1|0,e[va>>2]=M0,z0=lE+1|0,d1=e[ii>>2]|0,I1=(z0|0)<(d1|0),!I1)break;r0=+l1[N4>>3],l0=e[f0>>2]|0,rr=r0,Mr=l0,lE=z0}I0=e[f0>>2]|0,X5=I0}else X5=n0;R1=n0+3520|0,Y1=+l1[R1>>3],a2=N6+124|0,t2=e[a2>>2]|0,V2=N6+128|0,I5=e[V2>>2]|0,T5=~~Y1,D5=+(T5|0),n5=Y1-D5,K5=X5+2868|0,H5=I5+(T5<<3)|0,_3=+l1[H5>>3],L6=~~_3,n6=t2+(L6*492|0)|0,ce(K5|0,n6|0,492)|0,c6=+l1[H5>>3],n9=1-n5,q6=c6*n9,H6=T5+1|0,W6=I5+(H6<<3)|0,Fe=+l1[W6>>3],Te=Fe*n5,Ge=Te+q6,qe=~~Ge,n4=+(qe|0),He=Ge-n4,J9=He==0,Ye=(qe|0)>0,LC=Ye&J9,I=LC?1:He,he=LC<<31>>31,R=he+qe|0,Ue=1-I,Ee=R+1|0,v4=(t2+(R*492|0)|0)+4|0,W9=+s[v4>>2],v9=W9,k4=Ue*v9,nt=(t2+(Ee*492|0)|0)+4|0,Ve=+s[nt>>2],V4=Ve,Je=I*V4,o4=k4+Je,R4=o4,ot=X5+2872|0,s[ot>>2]=R4,re=(t2+(R*492|0)|0)+32|0,u4=+s[re>>2],Ce=u4,ze=Ue*Ce,P9=(t2+(Ee*492|0)|0)+32|0,de=+s[P9>>2],Ne=de,h4=I*Ne,ne=ze+h4,d4=ne,f4=X5+2900|0,s[f4>>2]=d4,ke=(t2+(R*492|0)|0)+8|0,s4=+s[ke>>2],I4=s4,k9=Ue*I4,f6=(t2+(Ee*492|0)|0)+8|0,J4=+s[f6>>2],fe=J4,S4=I*fe,Se=k9+S4,Ie=Se,z6=X5+2876|0,s[z6>>2]=Ie,F4=(t2+(R*492|0)|0)+36|0,st=+s[F4>>2],me=st,xe=Ue*me,mt=(t2+(Ee*492|0)|0)+36|0,W3=+s[mt>>2],_9=W3,S9=_9*I,Oe=S9+xe,a4=Oe,d8=X5+2904|0,s[d8>>2]=a4,f8=(t2+(R*492|0)|0)+12|0,D8=+s[f8>>2],e8=D8,I8=e8*Ue,m8=(t2+(Ee*492|0)|0)+12|0,Ut=+s[m8>>2],Pt=Ut,Ot=Pt*I,qt=Ot+I8,t8=qt,_8=X5+2880|0,s[_8>>2]=t8,Ht=(t2+(R*492|0)|0)+40|0,Yt=+s[Ht>>2],Vt=Yt,_t=Vt*Ue,xt=(t2+(Ee*492|0)|0)+40|0,pt=+s[xt>>2],Jt=pt,zt=Jt*I,r8=zt+_t,z4=r8,G4=X5+2908|0,s[G4>>2]=z4,at=(t2+(R*492|0)|0)+16|0,Lt=+s[at>>2],x9=Lt,p8=x9*Ue,b4=(t2+(Ee*492|0)|0)+16|0,E8=+s[b4>>2],x8=E8,o8=x8*I,A4=o8+p8,s8=A4,Kt=X5+2884|0,s[Kt>>2]=s8,Mt=(t2+(R*492|0)|0)+44|0,At=+s[Mt>>2],Ke=At,U4=Ke*Ue,$t=(t2+(Ee*492|0)|0)+44|0,Ct=+s[$t>>2],Rt=Ct,oe=Rt*I,lt=oe+U4,Bt=lt,ct=X5+2912|0,s[ct>>2]=Bt,Qt=X5+3512|0,p4=+l1[Qt>>3],D4=p4,K4=X5+2936|0,s[K4>>2]=D4,W4=N6+132|0,se=e[W4>>2]|0,E4=n0+3472|0,gt=+l1[E4>>3],_4=gt,be=~~_4,yt=+(be|0),a8=_4-yt,We=a8,E3=e[f0>>2]|0,Z4=(se|0)==0;e:do if(Z4)wt=E3+4|0,Z9=e[E3>>2]|0,l4=E3+3240|0,e[l4>>2]=Z9,F9=e[wt>>2]|0,j4=E3+3300|0,e[j4>>2]=F9,Wt=E3+3244|0,e[Wt>>2]=Z9,C8=E3+3304|0,e[C8>>2]=F9,A8=E3+3248|0,e[A8>>2]=Z9,$8=E3+3308|0,e[$8>>2]=F9,Zt=E3+3252|0,e[Zt>>2]=Z9,l8=E3+3312|0,e[l8>>2]=F9,ut=E3+3256|0,e[ut>>2]=Z9,ht=E3+3316|0,e[ht>>2]=F9,Ft=E3+3260|0,e[Ft>>2]=Z9,Ze=E3+3320|0,e[Ze>>2]=F9,c8=E3+3264|0,e[c8>>2]=Z9,Tt=E3+3324|0,e[Tt>>2]=F9,X4=E3+3268|0,e[X4>>2]=Z9,b9=E3+3328|0,e[b9>>2]=F9,g8=E3+3272|0,e[g8>>2]=Z9,et=E3+3332|0,e[et>>2]=F9,K8=E3+3276|0,e[K8>>2]=Z9,M8=E3+3336|0,e[M8>>2]=F9,u8=E3+3280|0,e[u8>>2]=Z9,R8=E3+3340|0,e[R8>>2]=F9,c4=E3+3284|0,e[c4>>2]=Z9,H8=E3+3344|0,e[H8>>2]=F9,W8=E3+3288|0,e[W8>>2]=Z9,dt=E3+3348|0,e[dt>>2]=F9,Nt=E3+3292|0,e[Nt>>2]=Z9,F8=E3+3352|0,e[F8>>2]=F9,O4=E3+3296|0,e[O4>>2]=Z9,C4=E3+3356|0,e[C4>>2]=F9;else{ae=E3+3120|0,T8=se+(be*240|0)|0,fr=ae,Na=T8,EE=fr+60|0;do e[fr>>2]=e[Na>>2]|0,fr=fr+4|0,Na=Na+4|0;while((fr|0)<(EE|0));Ai=E3+3180|0,Oi=(se+(be*240|0)|0)+60|0,fr=Ai,Na=Oi,EE=fr+60|0;do e[fr>>2]=e[Na>>2]|0,fr=fr+4|0,Na=Na+4|0;while((fr|0)<(EE|0));if(qi=n0+3420|0,Hi=e[qi>>2]|0,pi=(Hi|0)==0,!pi)for(Z8=1-We,j8=be+1|0,Ci=t+8|0,X8=E3+4|0,o0=e[Ci>>2]|0,Bi=+(o0|0),dr=0;;){if($i=((se+(be*240|0)|0)+120|0)+(dr<<2)|0,c7=+s[$i>>2],Yi=c7,Qi=Yi*Z8,yi=((se+(j8*240|0)|0)+120|0)+(dr<<2)|0,g7=+s[yi>>2],li=g7,u7=li*We,Vi=u7+Qi,Ji=Vi,zi=Ji,Ki=zi*1e3,ci=Ki/Bi,vi=e[E3>>2]|0,Wi=+(vi|0),ei=Wi*ci,ti=~~ei,h7=(E3+3e3|0)+(dr<<2)|0,e[h7>>2]=ti,Zi=e[X8>>2]|0,d7=+(Zi|0),ki=d7*ci,ji=~~ki,Si=(E3+3060|0)+(dr<<2)|0,e[Si>>2]=ji,bi=~~Ji,Xi=(E3+2940|0)+(dr<<2)|0,e[Xi>>2]=bi,Di=((se+(be*240|0)|0)+180|0)+(dr<<2)|0,_i=+s[Di>>2],e7=_i,ui=e7*Z8,V8=((se+(j8*240|0)|0)+180|0)+(dr<<2)|0,xi=+s[V8>>2],x4=xi,Li=x4*We,N8=Li+ui,hi=N8,l9=hi,vt=l9*1e3,Q8=vt/Bi,G8=e[E3>>2]|0,nn=+(G8|0),yr=nn*Q8,as=~~yr,Vn=(E3+3240|0)+(dr<<2)|0,e[Vn>>2]=as,As=e[X8>>2]|0,Jn=+(As|0),$s=Jn*Q8,zn=~~$s,cs=(E3+3300|0)+(dr<<2)|0,e[cs>>2]=zn,on=dr+1|0,JQ=(on|0)==15,JQ)break e;dr=on}for(gs=(se+(be*240|0)|0)+148|0,us=+s[gs>>2],hs=us,Kn=1-We,ds=hs*Kn,Wn=be+1|0,Zn=(se+(Wn*240|0)|0)+148|0,sn=+s[Zn>>2],jn=sn,an=jn*We,Xn=an+ds,eo=Xn,Is=eo,ms=Is*1e3,ps=t+8|0,An=E3+4|0,to=~~eo,h0=e[ps>>2]|0,wr=+(h0|0),$n=ms/wr,gu=0;Cs=e[E3>>2]|0,Bs=+(Cs|0),ln=Bs*$n,f7=~~ln,io=(E3+3e3|0)+(gu<<2)|0,e[io>>2]=f7,Qs=e[An>>2]|0,ys=+(Qs|0),ro=ys*$n,oo=~~ro,ws=(E3+3060|0)+(gu<<2)|0,e[ws>>2]=oo,I7=(E3+2940|0)+(gu<<2)|0,e[I7>>2]=to,cn=gu+1|0,WQ=(cn|0)==15,!WQ;)gu=cn;for(vs=(se+(be*240|0)|0)+208|0,so=+s[vs>>2],ks=so,Ss=ks*Kn,bs=(se+(Wn*240|0)|0)+208|0,ao=+s[bs>>2],_s=ao,xs=_s*We,Ls=xs+Ss,Ao=Ls,Ms=Ao,Rs=Ms*1e3,gn=Rs/wr,Bp=0;vr=e[E3>>2]|0,un=+(vr|0),Fs=un*gn,Ts=~~Fs,$o=(E3+3240|0)+(Bp<<2)|0,e[$o>>2]=Ts,hn=e[An>>2]|0,lo=+(hn|0),dn=lo*gn,Ns=~~dn,co=(E3+3300|0)+(Bp<<2)|0,e[co>>2]=Ns,go=Bp+1|0,VQ=(go|0)==15,!VQ;)Bp=go}while(!1);for(Gs=+l1[N4>>3],uo=N6+92|0,Us=e[uo>>2]|0,kr=N6+100|0,fo=e[kr>>2]|0,m7=N6+108|0,fn=e[m7>>2]|0,Sr=e[f0>>2]|0,nr=Sr+2852|0,br=e[nr>>2]|0,z7=~~Gs,Dr=Sr+28|0,S7=e[Dr>>2]|0,b7=(S7|0)>0,b7||(e[Dr>>2]=1),t7=(br|0)==0,t7?(D7=le(1,520)|0,e[nr>>2]=D7,Ma=D7):Ma=br,ce(Ma|0,25784,520)|0,e[Ma>>2]=0,_r=Sr+3460|0,or=e[_r>>2]|0,sr=(or|0)==0,sr||(xr=Ma+500|0,e[xr>>2]=1,p7=Us+(z7<<2)|0,Ps=e[p7>>2]|0,rl=Ma+504|0,e[rl>>2]=Ps,In=fo+(z7<<2)|0,mn=e[In>>2]|0,Gu=Ma+508|0,e[Gu>>2]=mn,nl=fn+(z7<<3)|0,Os=+l1[nl>>3],Uu=Ma+512|0,l1[Uu>>3]=Os),oA=+l1[N4>>3],ol=e[uo>>2]|0,Pu=e[kr>>2]|0,qu=e[m7>>2]|0,sA=e[f0>>2]|0,sl=sA+2856|0,al=e[sl>>2]|0,aA=~~oA,pn=sA+28|0,Al=e[pn>>2]|0,Hu=(Al|0)>1,Hu||(e[pn>>2]=2),qs=(al|0)==0,qs?(ar=le(1,520)|0,e[sl>>2]=ar,Ra=ar):Ra=al,ce(Ra|0,25784,520)|0,e[Ra>>2]=0,Vu=sA+3460|0,Ju=e[Vu>>2]|0,zu=(Ju|0)==0,zu||(Ku=Ra+500|0,e[Ku>>2]=1,Wu=ol+(aA<<2)|0,Zu=e[Wu>>2]|0,ju=Ra+504|0,e[ju>>2]=Zu,Xu=Pu+(aA<<2)|0,eh=e[Xu>>2]|0,$l=Ra+508|0,e[$l>>2]=eh,th=qu+(aA<<3)|0,ih=+l1[th>>3],ll=Ra+512|0,l1[ll>>3]=ih),Y8||(rh=+l1[N4>>3],AA=N6+96|0,Hs=e[AA>>2]|0,$A=N6+104|0,nh=e[$A>>2]|0,oh=e[m7>>2]|0,lA=e[f0>>2]|0,gl=lA+2860|0,ul=e[gl>>2]|0,cA=~~rh,hl=lA+28|0,Ys=e[hl>>2]|0,sh=(Ys|0)>2,sh||(e[hl>>2]=3),ah=(ul|0)==0,ah?(dl=le(1,520)|0,e[gl>>2]=dl,Fa=dl):Fa=ul,ce(Fa|0,25784,520)|0,e[Fa>>2]=1,Ah=lA+3460|0,$h=e[Ah>>2]|0,lh=($h|0)==0,lh||(ch=Fa+500|0,e[ch>>2]=1,Il=Hs+(cA<<2)|0,ml=e[Il>>2]|0,pl=Fa+504|0,e[pl>>2]=ml,El=nh+(cA<<2)|0,Cl=e[El>>2]|0,En=Fa+508|0,e[En>>2]=Cl,gh=oh+(cA<<3)|0,Bl=+l1[gh>>3],Ql=Fa+512|0,l1[Ql>>3]=Bl),yl=+l1[N4>>3],hh=e[AA>>2]|0,dh=e[$A>>2]|0,fh=e[m7>>2]|0,gA=e[f0>>2]|0,wl=gA+2864|0,vl=e[wl>>2]|0,mo=~~yl,kl=gA+28|0,Ih=e[kl>>2]|0,Sl=(Ih|0)>3,Sl||(e[kl>>2]=4),mh=(vl|0)==0,mh?(bl=le(1,520)|0,e[wl>>2]=bl,Ta=bl):Ta=vl,ce(Ta|0,25784,520)|0,e[Ta>>2]=1,ph=gA+3460|0,Eh=e[ph>>2]|0,Dl=(Eh|0)==0,Dl||(_l=Ta+500|0,e[_l>>2]=1,Ch=hh+(mo<<2)|0,Vs=e[Ch>>2]|0,hA=Ta+504|0,e[hA>>2]=Vs,xl=dh+(mo<<2)|0,Ll=e[xl>>2]|0,Qh=Ta+508|0,e[Qh>>2]=Ll,yh=fh+(mo<<3)|0,wh=+l1[yh>>3],vh=Ta+512|0,l1[vh>>3]=wh)),kh=(n0+3528|0)+(o<<5)|0,Sh=+l1[kh>>3],Js=N6+32|0,Fl=e[Js>>2]|0,zs=N6+36|0,bh=e[zs>>2]|0,Tl=N6+44|0,Dh=e[Tl>>2]|0,iE(t,Sh,0,Fl,bh,Dh),Nl=n0+3560|0,_h=+l1[Nl>>3],xh=e[Js>>2]|0,Gl=e[zs>>2]|0,dA=N6+52|0,Mh=e[dA>>2]|0,iE(t,_h,1,xh,Gl,Mh),Y8||(Ks=n0+3592|0,Rh=+l1[Ks>>3],Ws=e[Js>>2]|0,Fh=e[zs>>2]|0,fA=e[dA>>2]|0,iE(t,Rh,2,Ws,Fh,fA),Th=n0+3624|0,Nh=+l1[Th>>3],Gh=e[Js>>2]|0,Ul=e[zs>>2]|0,Ph=N6+48|0,Oh=e[Ph>>2]|0,iE(t,Nh,3,Gh,Ul,Oh)),qh=((n0+3528|0)+(o<<5)|0)+24|0,Pl=+l1[qh>>3],Ol=N6+80|0,Ar=e[Ol>>2]|0,ql=N6+84|0,Zs=e[ql>>2]|0,IA=~~Pl,mA=+(IA|0),Hl=Pl-mA,Bn=e[f0>>2]|0,Hh=Bn+2852|0,Yl=e[Hh>>2]|0,Yh=Zs+(IA<<3)|0,Vh=+l1[Yh>>3],Jh=1-Hl,zh=Vh*Jh,js=IA+1|0,pA=Zs+(js<<3)|0,Kh=+l1[pA>>3],Wh=Kh*Hl,Vl=Wh+zh,EA=~~Vl,Jl=+(EA|0),zl=Vl-Jl,Zh=zl==0,Kl=(EA|0)>0,MC=Kl&Zh,$=MC?1:zl,jh=MC<<31>>31,F=jh+EA|0,CA=1-$,ed=F+1|0,Au=0;z9=(Ar+(F*160|0)|0)+(Au<<2)|0,td=e[z9>>2]|0,Wl=+(td|0),id=Wl*CA,rd=(Ar+(ed*160|0)|0)+(Au<<2)|0,BA=e[rd>>2]|0,nd=+(BA|0),QA=nd*$,Zl=QA+id,sd=Zl,jl=(Yl+336|0)+(Au<<2)|0,s[jl>>2]=sd,Xl=Au+1|0,UQ=(Xl|0)==40,!UQ;)Au=Xl;for(ad=n0+3584|0,yA=+l1[ad>>3],wA=~~yA,ec=+(wA|0),tc=yA-ec,Ad=Bn+2856|0,ic=e[Ad>>2]|0,$d=Zs+(wA<<3)|0,rc=+l1[$d>>3],ld=1-tc,cd=rc*ld,gd=wA+1|0,ud=Zs+(gd<<3)|0,nc=+l1[ud>>3],oc=nc*tc,kA=oc+cd,Xs=~~kA,hd=+(Xs|0),ac=kA-hd,Ac=ac==0,dd=(Xs|0)>0,RC=dd&Ac,g=RC?1:ac,fd=RC<<31>>31,T=fd+Xs|0,Id=1-g,$c=T+1|0,$u=0;md=(Ar+(T*160|0)|0)+($u<<2)|0,pd=e[md>>2]|0,Ed=+(pd|0),Bd=Ed*Id,Qd=(Ar+($c*160|0)|0)+($u<<2)|0,lc=e[Qd>>2]|0,yd=+(lc|0),cc=yd*g,wd=cc+Bd,Qn=wd,vd=(ic+336|0)+($u<<2)|0,s[vd>>2]=Qn,gc=$u+1|0,PQ=(gc|0)==40,!PQ;)$u=gc;if(!Y8){for(kd=n0+3616|0,SA=+l1[kd>>3],Sd=N6+88|0,ea=e[Sd>>2]|0,bA=~~SA,bd=+(bA|0),DA=SA-bd,hc=Bn+2860|0,Dd=e[hc>>2]|0,_d=ea+(bA<<3)|0,xd=+l1[_d>>3],Md=1-DA,dc=xd*Md,Rd=bA+1|0,Fd=ea+(Rd<<3)|0,Td=+l1[Fd>>3],ta=Td*DA,Eo=ta+dc,_A=~~Eo,Nd=+(_A|0),xA=Eo-Nd,Ud=xA==0,Pd=(_A|0)>0,FC=Pd&Ud,d=FC?1:xA,fc=FC<<31>>31,N=fc+_A|0,Od=1-d,qd=N+1|0,lu=0;Hd=(Ar+(N*160|0)|0)+(lu<<2)|0,Yd=e[Hd>>2]|0,Vd=+(Yd|0),ia=Vd*Od,Jd=(Ar+(qd*160|0)|0)+(lu<<2)|0,Ic=e[Jd>>2]|0,Kd=+(Ic|0),Wd=Kd*d,Zd=Wd+ia,jd=Zd,E7=(Dd+336|0)+(lu<<2)|0,s[E7>>2]=jd,mc=lu+1|0,OQ=(mc|0)==40,!OQ;)lu=mc;for(C7=n0+3648|0,pc=+l1[C7>>3],LA=~~pc,i7=+(LA|0),Co=pc-i7,ef=Bn+2864|0,tf=e[ef>>2]|0,rf=ea+(LA<<3)|0,nf=+l1[rf>>3],of=1-Co,Ec=nf*of,sf=LA+1|0,af=ea+(sf<<3)|0,Af=+l1[af>>3],$f=Af*Co,Bo=$f+Ec,MA=~~Bo,lf=+(MA|0),Bc=Bo-lf,cf=Bc==0,gf=(MA|0)>0,TC=gf&cf,m=TC?1:Bc,ra=TC<<31>>31,G=ra+MA|0,uf=1-m,Qc=G+1|0,cu=0;yc=(Ar+(G*160|0)|0)+(cu<<2)|0,df=e[yc>>2]|0,ff=+(df|0),yn=ff*uf,If=(Ar+(Qc*160|0)|0)+(cu<<2)|0,mf=e[If>>2]|0,wn=+(mf|0),pf=wn*m,wc=pf+yn,Cf=wc,Qo=(tf+336|0)+(cu<<2)|0,s[Qo>>2]=Cf,vc=cu+1|0,qQ=(vc|0)==40,!qQ;)cu=vc}for(Bf=((n0+3528|0)+(o<<5)|0)+8|0,kc=+l1[Bf>>3],Qf=N6+40|0,$r=e[Qf>>2]|0,RA=~~kc,yf=+(RA|0),Sc=kc-yf,wf=$r+(RA<<2)|0,vf=e[wf>>2]|0,Dc=+(vf|0),kf=1-Sc,Sf=Dc*kf,bf=RA+1|0,_c=$r+(bf<<2)|0,Df=e[_c>>2]|0,yo=+(Df|0),_f=yo*Sc,xf=_f+Sf,Lf=xf,FA=Yl+32|0,s[FA>>2]=Lf,Mf=n0+3568|0,TA=+l1[Mf>>3],NA=~~TA,Rf=+(NA|0),xc=TA-Rf,Lc=$r+(NA<<2)|0,Ff=e[Lc>>2]|0,Fc=+(Ff|0),Tf=1-xc,Tc=Fc*Tf,Nc=NA+1|0,Nf=$r+(Nc<<2)|0,Gf=e[Nf>>2]|0,Gc=+(Gf|0),Uc=Gc*xc,Uf=Uc+Tc,Pc=Uf,Pf=ic+32|0,s[Pf>>2]=Pc,Y8||(Of=n0+3600|0,qc=+l1[Of>>3],GA=~~qc,Hc=+(GA|0),Yc=qc-Hc,Vc=Bn+2860|0,Jc=e[Vc>>2]|0,qf=$r+(GA<<2)|0,Hf=e[qf>>2]|0,Vf=+(Hf|0),Jf=1-Yc,zf=Vf*Jf,Kf=GA+1|0,Wf=$r+(Kf<<2)|0,zc=e[Wf>>2]|0,UA=+(zc|0),Zf=UA*Yc,jf=Zf+zf,Xf=jf,Wc=Jc+32|0,s[Wc>>2]=Xf,eI=n0+3632|0,Zc=+l1[eI>>3],PA=~~Zc,na=+(PA|0),jc=Zc-na,tI=Bn+2864|0,iI=e[tI>>2]|0,rI=$r+(PA<<2)|0,nI=e[rI>>2]|0,oa=+(nI|0),oI=1-jc,sI=oa*oI,aI=PA+1|0,AI=$r+(aI<<2)|0,$I=e[AI>>2]|0,lI=+($I|0),cI=lI*jc,gI=cI+sI,eg=gI,hI=iI+32|0,s[hI>>2]=eg),dI=((n0+3528|0)+(o<<5)|0)+16|0,fI=+l1[dI>>3],sa=N6+76|0,tg=e[sa>>2]|0,II=N6+60|0,mI=e[II>>2]|0,kn=N6+56|0,ig=e[kn>>2]|0,Ml?ng=0:(rg=n0+3408|0,pI=+l1[rg>>3],ng=pI),rE(t,fI,0,tg,mI,ig,ng),EI=n0+3576|0,og=+l1[EI>>3],sg=e[sa>>2]|0,CI=N6+64|0,BI=e[CI>>2]|0,QI=e[kn>>2]|0,rE(t,og,1,sg,BI,QI,0),Y8?(wo=e[f0>>2]|0,VI=wo+2852|0,mg=e[VI>>2]|0,JI=wo+3496|0,YA=+l1[JI>>3],pg=YA,zI=mg+4|0,s[zI>>2]=pg,WI=wo+3504|0,ZI=+l1[WI>>3],Eg=ZI,jI=mg+8|0,s[jI>>2]=Eg,XI=wo+2856|0,Cg=e[XI>>2]|0,ca=Cg+4|0,s[ca>>2]=pg,em=Cg+8|0,s[em>>2]=Eg,lr=wo):(yI=n0+3608|0,wI=+l1[yI>>3],qA=e[sa>>2]|0,vI=N6+68|0,kI=e[vI>>2]|0,SI=e[kn>>2]|0,rE(t,wI,2,qA,kI,SI,0),bI=n0+3640|0,ag=+l1[bI>>3],DI=e[sa>>2]|0,Ag=N6+72|0,_I=e[Ag>>2]|0,xI=e[kn>>2]|0,rE(t,ag,3,DI,_I,xI,0),Rr=e[f0>>2]|0,lg=Rr+2852|0,cg=e[lg>>2]|0,LI=Rr+3496|0,gg=+l1[LI>>3],Aa=gg,MI=cg+4|0,s[MI>>2]=Aa,RI=Rr+3504|0,FI=+l1[RI>>3],$a=FI,TI=cg+8|0,s[TI>>2]=$a,NI=Rr+2856|0,hg=e[NI>>2]|0,GI=hg+4|0,s[GI>>2]=Aa,UI=hg+8|0,s[UI>>2]=$a,HA=Rr+2860|0,la=e[HA>>2]|0,PI=la+4|0,s[PI>>2]=Aa,OI=la+8|0,s[OI>>2]=$a,qI=Rr+2864|0,Ig=e[qI>>2]|0,HI=Ig+4|0,s[HI>>2]=Aa,YI=Ig+8|0,s[YI>>2]=$a,lr=Rr),tm=+l1[N4>>3],im=N6+152|0,Bg=e[im>>2]|0,Qg=~~tm,rm=Bg+(Qg<<3)|0,yg=e[rm>>2]|0,wg=(Bg+(Qg<<3)|0)+4|0,_7=e[wg>>2]|0,vg=e[lr>>2]|0,nm=lr+4|0,om=e[nm>>2]|0,am=(vg|0)==(om|0),a=am?1:2,VA=lr+8|0,ga=lr+12|0,kg=t+8|0,Sg=t+4|0,Q7=0;;){if(Am=le(1,3208)|0,ua=(lr+544|0)+(Q7<<2)|0,e[ua>>2]=Am,ko=le(1,16)|0,$m=(lr+32|0)+(Q7<<2)|0,e[$m>>2]=ko,ha=26304+(Q7<<4)|0,e[ko>>2]=e[ha>>2]|0,e[ko+4>>2]=e[ha+4>>2]|0,e[ko+8>>2]=e[ha+8>>2]|0,e[ko+12>>2]=e[ha+12>>2]|0,lm=e[VA>>2]|0,zA=(Q7|0)<(lm|0),zA||(cm=Q7+1|0,e[VA>>2]=cm),gm=(lr+288|0)+(Q7<<2)|0,e[gm>>2]=0,bg=e[ua>>2]|0,da=yg+(Q7*3208|0)|0,ce(bg|0,da|0,3208)|0,Dg=e[ga>>2]|0,um=(Q7|0)<(Dg|0),um||(hm=Q7+1|0,e[ga>>2]=hm),dm=e[da>>2]|0,_g=(dm|0)>0,_g)for(gE=0;;){Im=((yg+(Q7*3208|0)|0)+1092|0)+(gE<<2)|0,ri=e[Im>>2]|0,De=e[f0>>2]|0,r7=M9(2840)|0,mm=(De+1568|0)+(ri<<2)|0,e[mm>>2]=r7,xg=(_7+(ri<<5)|0)+12|0,Lg=e[xg>>2]|0,ce(r7|0,Lg|0,2840)|0,KA=De+20|0,pm=e[KA>>2]|0,So=(pm|0)>(ri|0),So||(Em=ri+1|0,e[KA>>2]=Em),Cm=(_7+(ri<<5)|0)+8|0,Mg=e[Cm>>2]|0,WA=r7+8|0,e[WA>>2]=Mg,Bm=_7+(ri<<5)|0,Rg=e[Bm>>2]|0,Fg=(De+1312|0)+(ri<<2)|0,e[Fg>>2]=Rg,Tg=De+3420|0,ZA=e[Tg>>2]|0,Ng=(ZA|0)==0,bo=r7+12|0,XA=e[bo>>2]|0,Gg=(XA|0)>0;do if(Ng){if(Gg)for(Ug=(_7+(ri<<5)|0)+24|0,fa=e[Ug>>2]|0,wm=r7+24|0,La=0;;)if(ur=wm+(La<<2)|0,Dn=fa+(La<<4)|0,Mi=e[Dn>>2]|0,Ri=(Mi|0)==0,Ri||(Fi=e[ur>>2]|0,Ca=Fi|1,e[ur>>2]=Ca),Ba=(fa+(La<<4)|0)+4|0,Zg=e[Ba>>2]|0,jg=(Zg|0)==0,jg||(b2=e[ur>>2]|0,B5=b2|2,e[ur>>2]=B5),s5=(fa+(La<<4)|0)+8|0,R2=e[s5>>2]|0,M2=(R2|0)==0,M2||(y2=e[ur>>2]|0,Q5=y2|4,e[ur>>2]=Q5),m5=(fa+(La<<4)|0)+12|0,x5=e[m5>>2]|0,q5=(x5|0)==0,q5||(L5=e[ur>>2]|0,Y2=L5|8,e[ur>>2]=Y2),p5=La+1|0,$5=e[bo>>2]|0,u5=(p5|0)<($5|0),u5)La=p5;else{ka=$5;break}else ka=XA;Qa=(_7+(ri<<5)|0)+16|0,A$=e[Qa>>2]|0,Ti=De+24|0,Gr=e[Ti>>2]|0,$$=(Gr|0)>0,zm=A$;e:do if($$)for(Cp=0;;){if(l$=(De+1824|0)+(Cp<<2)|0,Km=e[l$>>2]|0,c$=(Km|0)==(A$|0),c$){L=Cp;break e}if(Xg=Cp+1|0,wa=(Xg|0)<(Gr|0),wa)Cp=Xg;else{Ae=116;break}}else Ae=116;while(!1);if((Ae|0)==116&&(Ae=0,Wm=Gr+1|0,e[Ti>>2]=Wm,L=Gr),Zm=r7+20|0,e[Zm>>2]=L,jm=(De+1824|0)+(L<<2)|0,e[jm>>2]=zm,_n=(ka|0)>0,!_n)break;for(tt=(_7+(ri<<5)|0)+24|0,Le=r7+280|0,qr=0,Q$=0;;){if(eu=e[tt>>2]|0,Xm=eu+(Q$<<4)|0,g$=e[Xm>>2]|0,tu=(g$|0)==0,ep=g$,tu)Lo=eu,lp=qr;else{Sa=e[Ti>>2]|0,ip=(Sa|0)>0;e:do if(ip)for(fp=0;;){if(rp=(De+1824|0)+(fp<<2)|0,np=e[rp>>2]|0,op=(np|0)==(g$|0),op){M=fp;break e}if(iu=fp+1|0,sp=(iu|0)<(Sa|0),sp)fp=iu;else{Ae=123;break}}else Ae=123;while(!1);(Ae|0)==123&&(Ae=0,ap=Sa+1|0,e[Ti>>2]=ap,M=Sa),Ap=qr+1|0,n7=Le+(qr<<2)|0,e[n7>>2]=M,xn=(De+1824|0)+(M<<2)|0,e[xn>>2]=ep,c0=e[tt>>2]|0,Lo=c0,lp=Ap}if(u$=(Lo+(Q$<<4)|0)+4|0,Mo=e[u$>>2]|0,ni=(Mo|0)==0,Ro=Mo,ni)C2=Lo,je=lp;else{z1=e[Ti>>2]|0,q1=(z1|0)>0;e:do if(q1)for(up=0;;){if(H1=(De+1824|0)+(up<<2)|0,V1=e[H1>>2]|0,X1=(V1|0)==(Mo|0),X1){D=up;break e}if(n2=up+1|0,j1=(n2|0)<(z1|0),j1)up=n2;else{Ae=147;break}}else Ae=147;while(!1);(Ae|0)==147&&(Ae=0,O1=z1+1|0,e[Ti>>2]=O1,D=z1),g2=lp+1|0,W1=Le+(lp<<2)|0,e[W1>>2]=D,d2=(De+1824|0)+(D<<2)|0,e[d2>>2]=Ro,$0=e[tt>>2]|0,C2=$0,je=g2}if(s2=(C2+(Q$<<4)|0)+8|0,K1=e[s2>>2]|0,h2=(K1|0)==0,l2=K1,h2)L2=C2,E$=je;else{i2=e[Ti>>2]|0,c2=(i2|0)>0;e:do if(c2)for(hp=0;;){if(r2=(De+1824|0)+(hp<<2)|0,A2=e[r2>>2]|0,e2=(A2|0)==(K1|0),e2){y=hp;break e}if(o2=hp+1|0,m2=(o2|0)<(i2|0),m2)hp=o2;else{Ae=153;break}}else Ae=153;while(!1);(Ae|0)==153&&(Ae=0,k2=i2+1|0,e[Ti>>2]=k2,y=i2),D2=je+1|0,S2=Le+(je<<2)|0,e[S2>>2]=y,Q2=(De+1824|0)+(y<<2)|0,e[Q2>>2]=l2,Z=e[tt>>2]|0,L2=Z,E$=D2}if(N2=(L2+(Q$<<4)|0)+12|0,U2=e[N2>>2]|0,p2=(U2|0)==0,W2=U2,p2)SC=E$;else{P2=e[Ti>>2]|0,G2=(P2|0)>0;e:do if(G2)for(dp=0;;){if(q2=(De+1824|0)+(dp<<2)|0,Z2=e[q2>>2]|0,A5=(Z2|0)==(U2|0),A5){x=dp;break e}if(H2=dp+1|0,N1=(H2|0)<(P2|0),N1)dp=H2;else{Ae=159;break}}else Ae=159;while(!1);(Ae|0)==159&&(Ae=0,t5=P2+1|0,e[Ti>>2]=t5,x=P2),F5=E$+1|0,i5=Le+(E$<<2)|0,e[i5>>2]=x,_5=(De+1824|0)+(x<<2)|0,e[_5>>2]=W2,SC=F5}if(b5=Q$+1|0,Y5=e[bo>>2]|0,g5=(b5|0)<(Y5|0),g5)qr=SC,Q$=b5;else break}}else{if(Gg)for(Qm=(_7+(ri<<5)|0)+28|0,Sn=e[Qm>>2]|0,ym=r7+24|0,xa=0;;)if(x7=ym+(xa<<2)|0,vm=Sn+(xa<<4)|0,km=e[vm>>2]|0,Sm=(km|0)==0,Sm||(bm=e[x7>>2]|0,Dm=bm|1,e[x7>>2]=Dm),_m=(Sn+(xa<<4)|0)+4|0,L7=e[_m>>2]|0,xm=(L7|0)==0,xm||($6=e[x7>>2]|0,n3=$6|2,e[x7>>2]=n3),l3=(Sn+(xa<<4)|0)+8|0,N3=e[l3>>2]|0,E6=(N3|0)==0,E6||(k3=e[x7>>2]|0,S3=k3|4,e[x7>>2]=S3),a6=(Sn+(xa<<4)|0)+12|0,i6=e[a6>>2]|0,V3=(i6|0)==0,V3||(Z5=e[x7>>2]|0,x3=Z5|8,e[x7>>2]=x3),h3=xa+1|0,J3=e[bo>>2]|0,h6=(h3|0)<(J3|0),h6)xa=h3;else{Kg=J3;break}else Kg=XA;Lm=(_7+(ri<<5)|0)+20|0,Og=e[Lm>>2]|0,B7=De+24|0,Ia=e[B7>>2]|0,e$=(Ia|0)>0,qg=Og;e:do if(e$)for(gp=0;;){if(Hg=(De+1824|0)+(gp<<2)|0,Rm=e[Hg>>2]|0,Yg=(Rm|0)==(Og|0),Yg){B=gp;break e}if(Vg=gp+1|0,Fm=(Vg|0)<(Ia|0),Fm)gp=Vg;else{Ae=100;break}}else Ae=100;while(!1);if((Ae|0)==100&&(Ae=0,zg=Ia+1|0,e[B7>>2]=zg,B=Ia),Nm=r7+20|0,e[Nm>>2]=B,Gm=(De+1824|0)+(B<<2)|0,e[Gm>>2]=qg,Um=(Kg|0)>0,!Um)break;for(Do=(_7+(ri<<5)|0)+28|0,ma=r7+280|0,Uo=0,C$=0;;){if(pa=e[Do>>2]|0,Pm=pa+(C$<<4)|0,t$=e[Pm>>2]|0,qm=(t$|0)==0,Wg=t$,qm)xo=pa,Rn=Uo;else{_o=e[B7>>2]|0,Hm=(_o|0)>0;e:do if(Hm)for(Ep=0;;){if(Ym=(De+1824|0)+(Ep<<2)|0,i$=e[Ym>>2]|0,r$=(i$|0)==(t$|0),r$){w=Ep;break e}if(Ea=Ep+1|0,n$=(Ea|0)<(_o|0),n$)Ep=Ea;else{Ae=107;break}}else Ae=107;while(!1);(Ae|0)==107&&(Ae=0,o$=_o+1|0,e[B7>>2]=o$,w=_o),Tr=Uo+1|0,Nr=ma+(Uo<<2)|0,e[Nr>>2]=w,s$=(De+1824|0)+(w<<2)|0,e[s$>>2]=Wg,J=e[Do>>2]|0,xo=J,Rn=Tr}if(a$=(xo+(C$<<4)|0)+4|0,gr=e[a$>>2]|0,bn=(gr|0)==0,Vm=gr,bn)M5=xo,Ln=Rn;else{y5=e[B7>>2]|0,T1=(y5|0)>0;e:do if(T1)for(Ip=0;;){if(h5=(De+1824|0)+(Ip<<2)|0,l5=e[h5>>2]|0,X2=(l5|0)==(gr|0),X2){S=Ip;break e}if(u2=Ip+1|0,w5=(u2|0)<(y5|0),w5)Ip=u2;else{Ae=171;break}}else Ae=171;while(!1);(Ae|0)==171&&(Ae=0,r5=y5+1|0,e[B7>>2]=r5,S=y5),a5=Rn+1|0,d5=ma+(Rn<<2)|0,e[d5>>2]=S,z2=(De+1824|0)+(S<<2)|0,e[z2>>2]=Vm,j=e[Do>>2]|0,M5=j,Ln=a5}if(f5=(M5+(C$<<4)|0)+8|0,e5=e[f5>>2]|0,c5=(e5|0)==0,F2=e5,c5)f3=M5,Mn=Ln;else{v5=e[B7>>2]|0,J5=(v5|0)>0;e:do if(J5)for(mp=0;;){if(i3=(De+1824|0)+(mp<<2)|0,E5=e[i3>>2]|0,I3=(E5|0)==(e5|0),I3){b=mp;break e}if(d3=mp+1|0,r3=(d3|0)<(v5|0),r3)mp=d3;else{Ae=177;break}}else Ae=177;while(!1);(Ae|0)==177&&(Ae=0,a3=v5+1|0,e[B7>>2]=a3,b=v5),B3=Ln+1|0,N5=ma+(Ln<<2)|0,e[N5>>2]=b,W5=(De+1824|0)+(b<<2)|0,e[W5>>2]=F2,u0=e[Do>>2]|0,f3=u0,Mn=B3}if(D3=(f3+(C$<<4)|0)+12|0,y3=e[D3>>2]|0,X3=(y3|0)==0,q3=y3,X3)O9=Mn;else{b3=e[B7>>2]|0,t3=(b3|0)>0;e:do if(t3)for(pp=0;;){if(s6=(De+1824|0)+(pp<<2)|0,T3=e[s6>>2]|0,H3=(T3|0)==(y3|0),H3){v=pp;break e}if(c3=pp+1|0,g3=(c3|0)<(b3|0),g3)pp=c3;else{Ae=183;break}}else Ae=183;while(!1);(Ae|0)==183&&(Ae=0,u3=b3+1|0,e[B7>>2]=u3,v=b3),Q3=Mn+1|0,z5=ma+(Mn<<2)|0,e[z5>>2]=v,V5=(De+1824|0)+(v<<2)|0,e[V5>>2]=q3,O9=Q3}if(S5=C$+1|0,Y3=e[bo>>2]|0,G5=(S5|0)<(Y3|0),G5)Uo=O9,C$=S5;else break}}while(!1);ru=De+3480|0,nu=+l1[ru>>3],Da=nu*1e3,Fo=(De+1056|0)+(Q7<<2)|0,No=e[Fo>>2]|0,$p=e[kg>>2]|0,Go=+($p|0),hr=Go*.5,ou=De+(Q7<<2)|0,Ur=e[ou>>2]|0,o7=Ur>>1,h$=Da>hr,DC=h$?hr:Da,d$=DC/hr,W7=+(o7|0),I$=W7*d$,m$=~~I$,Pr=No+1116|0,e[Pr>>2]=m$,g6=(_7+(ri<<5)|0)+4|0,_a=e[g6>>2]|0;do if((_a|0)==2)au=250;else if((_a|0)==1){if(Or=e[Tg>>2]|0,su=(Or|0)==0,L4=De+2996|0,p$=De+2968|0,XQ=su?p$:L4,jQ=e[XQ>>2]|0,ZQ=+(jQ|0),_C=ZQ*1e3,kt=_C>hr,!kt){au=_C;break}au=hr}else au=DC;while(!1);C0=e[Fg>>2]|0,S0=(C0|0)==2;do if(S0){if(Q0=De+12|0,b0=e[Q0>>2]|0,E0=(b0|0)>0,E0)for(cE=0;;){if(y0=(De+544|0)+(cE<<2)|0,w0=e[y0>>2]|0,B0=e[w0>>2]|0,_0=(B0|0)>0,_0)for(Qp=0;;){K0=(w0+1092|0)+(Qp<<2)|0,v0=e[K0>>2]|0,T0=(v0|0)==(ri|0);do if(T0){if(N0=e[Sg>>2]|0,U0=(N0|0)>0,U0)bC=0,hE=0;else{cp=0;break}for(;;)if(O0=(w0+4|0)+(hE<<2)|0,k0=e[O0>>2]|0,V0=(k0|0)==(Qp|0),F0=V0&1,V=F0+bC|0,L0=hE+1|0,GQ=(L0|0)==(N0|0),GQ){cp=V;break}else bC=V,hE=L0}else cp=0;while(!1);if(G0=Qp+1|0,J0=(G0|0)<(B0|0),q0=(cp|0)==0,Z0=J0&q0,Z0)Qp=G0;else{AE=cp;break}}else AE=0;if(P0=cE+1|0,H0=(P0|0)<(b0|0),s1=(AE|0)==0,Y0=H0&s1,Y0)cE=P0;else{aE=AE;break}}else aE=0;if(i1=au/hr,x0=+(aE|0),o1=x0*W7,u1=o1*i1,m1=e[WA>>2]|0,f1=+(m1|0),h1=u1/f1,A1=h1+.9,g1=~~A1,a1=o5(g1,m1)|0,$1=r7+4|0,e[$1>>2]=a1,j0=o5(aE,o7)|0,E1=(a1|0)>(j0|0),!E1){H=$1,Z1=a1,x1=m1;break}Q1=(j0|0)%(m1|0)&-1,p1=j0-Q1|0,e[$1>>2]=p1,H=$1,Z1=p1,x1=m1}else{if(B1=au/hr,w1=B1*W7,v1=e[WA>>2]|0,k1=+(v1|0),L1=w1/k1,M1=L1+.9,b1=~~M1,_1=o5(b1,v1)|0,F1=r7+4|0,e[F1>>2]=_1,U1=(_1|0)>(o7|0),!U1){H=F1,Z1=_1,x1=v1;break}D1=(o7|0)%(v1|0)&-1,P1=o7-D1|0,e[F1>>2]=P1,H=F1,Z1=P1,x1=v1}while(!1);if(G1=(Z1|0)==0,G1&&(e[H>>2]=x1),m3=gE+1|0,M6=e[da>>2]|0,R6=(m3|0)<(M6|0),R6)gE=m3;else break}if(S6=Q7+1|0,r6=(S6|0)<(a|0),r6)Q7=S6;else break}return d6=n0+3428|0,b6=e[d6>>2]|0,G6=(b6|0)>0,G6?(X6=t+16|0,e[X6>>2]=b6):(v6=e[f0>>2]|0,L3=v6+3396|0,o6=e[L3>>2]|0,C6=v6+3400|0,z3=+l1[C6>>3],M3=~~z3,K3=+(M3|0),e6=z3-K3,F6=o6+4|0,l6=e[F6>>2]|0,o3=(l6|0)==0,o3?Q=-1:(K6=e[Sg>>2]|0,B6=l6+(M3<<3)|0,R3=+l1[B6>>3],Y6=1-e6,A6=R3*Y6,D6=M3+1|0,U6=l6+(D6<<3)|0,t9=+l1[U6>>3],Q6=t9*e6,e9=Q6+A6,G3=+(K6|0),V6=e9*G3,ey=~~V6,Q=ey),s9=t+16|0,e[s9>>2]=Q),c9=n0+3424|0,P6=e[c9>>2]|0,J6=t+20|0,e[J6>>2]=P6,T6=n0+3440|0,i9=e[T6>>2]|0,_6=t+12|0,e[_6>>2]=i9,O6=(b6|0)==0,O6?g0=0:(U3=n0+3444|0,a9=e[U3>>2]|0,h9=+(a9|0),o9=+(b6|0),C9=h9/o9,B9=~~C9,g0=B9),Q9=t+24|0,e[Q9>>2]=g0,d9=n0+3420|0,f9=e[d9>>2]|0,H9=(f9|0)==0,H9?(E=0,E|0):(y6=e[d6>>2]|0,A9=n0+3360|0,e[A9>>2]=y6,Y9=e[c9>>2]|0,y9=n0+3364|0,e[y9>>2]=Y9,ye=e[T6>>2]|0,ge=n0+3368|0,e[ge>>2]=ye,pe=n0+3444|0,V9=e[pe>>2]|0,ie=n0+3372|0,e[ie>>2]=V9,R9=n0+3448|0,w9=+l1[R9>>3],$9=n0+3376|0,l1[$9>>3]=w9,we=n0+3432|0,Re=+l1[we>>3],ue=n0+3384|0,l1[ue>>3]=Re,E=0,E|0)}function Jb(t,o,a,$){t=t|0,o=o|0,a=a|0,$=+$;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0;if(V=C,I=(a|0)<1,I)d=-131;else if(E=t+28|0,y=e[E>>2]|0,x=$,M=x+1e-7,L=M,R=!(L>=1),m=R?L:.9998999834060669,F=y+3416|0,s[F>>2]=m,T=m,N=y+3400|0,Q=zb(o,a,T,0,N)|0,B=y+3396|0,e[B>>2]=Q,S=(Q|0)==0,S)d=-130;else return Kb(t,o,a),b=y+3420|0,e[b>>2]=0,v=y+3464|0,e[v>>2]=1,w=Vb(t)|0,D=(w|0)==0,D?(g=0,g|0):(mC(t),g=w,g|0);return mC(t),g=d,g|0}function iE(t,o,a,$,g,d){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0;for(w1=C,m=~~o,I=+(m|0),M=o-I,W=t+28|0,$0=e[W>>2]|0,Q0=($0+2852|0)+(a<<2)|0,N0=e[Q0>>2]|0,Z0=$+(m*20|0)|0,f1=e[Z0>>2]|0,I1=+(f1|0),E=1-M,Q=I1*E,B=m+1|0,S=$+(B*20|0)|0,b=e[S>>2]|0,v=+(b|0),w=v*M,D=w+Q,y=D,x=N0+12|0,s[x>>2]=y,L=($+(m*20|0)|0)+4|0,R=e[L>>2]|0,F=+(R|0),T=F*E,N=($+(B*20|0)|0)+4|0,G=e[N>>2]|0,V=+(G|0),e0=V*M,K=e0+T,a0=K,r0=N0+16|0,s[r0>>2]=a0,s0=($+(m*20|0)|0)+8|0,J=e[s0>>2]|0,o0=+(J|0),H=o0*E,h0=($+(B*20|0)|0)+8|0,i0=e[h0>>2]|0,j=+(i0|0),u0=j*M,c0=u0+H,l0=c0,Z=N0+20|0,s[Z>>2]=l0,I0=($+(m*20|0)|0)+12|0,g0=+s[I0>>2],f0=g0,n0=f0*E,d0=($+(B*20|0)|0)+12|0,p0=+s[d0>>2],C0=p0,S0=C0*M,b0=S0+n0,E0=b0,y0=N0+24|0,s[y0>>2]=E0,w0=($+(m*20|0)|0)+16|0,B0=+s[w0>>2],_0=B0,K0=_0*E,M0=($+(B*20|0)|0)+16|0,v0=+s[M0>>2],T0=v0,U0=T0*M,O0=U0+K0,k0=O0,V0=N0+28|0,s[V0>>2]=k0,F0=g+(m<<2)|0,L0=e[F0>>2]|0,G0=+(L0|0),z0=G0*E,J0=g+(B<<2)|0,q0=e[J0>>2]|0,P0=+(q0|0),H0=P0*M,s1=H0+z0,Y0=s1,i1=N0+496|0,s[i1>>2]=Y0,p1=0;x0=(d+(m*68|0)|0)+(p1<<2)|0,o1=e[x0>>2]|0,d1=+(o1|0),u1=d1*E,m1=(d+(B*68|0)|0)+(p1<<2)|0,h1=e[m1>>2]|0,A1=+(h1|0),g1=A1*M,a1=g1+u1,$1=a1,j0=(N0+36|0)+(p1<<2)|0,s[j0>>2]=$1,E1=p1+1|0,Q1=(E1|0)==17,!Q1;)p1=E1}function rE(t,o,a,$,g,d,m){t=t|0,o=+o,a=a|0,$=$|0,g=g|0,d=d|0,m=+m;var I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0;for(S2=C,v=~~o,w=+(v|0),h0=o-w,n0=t+28|0,_0=e[n0>>2]|0,L0=(_0+2852|0)+(a<<2)|0,x0=e[L0>>2]|0,j0=$+(v<<2)|0,b1=e[j0>>2]|0,q1=+(b1|0),D=1-h0,e0=q1*D,K=v+1|0,a0=$+(K<<2)|0,W=e[a0>>2]|0,r0=+(W|0),s0=r0*h0,J=s0+e0,o0=J,H=x0+108|0,s[H>>2]=o0,i0=d+(a*12|0)|0,j=e[i0>>2]|0,u0=x0+120|0,e[u0>>2]=j,c0=(d+(a*12|0)|0)+4|0,$0=e[c0>>2]|0,l0=x0+124|0,e[l0>>2]=$0,Z=(d+(a*12|0)|0)+8|0,I0=e[Z>>2]|0,g0=x0+128|0,e[g0>>2]=I0,i2=0;;)if(f0=(g+(v*204|0)|0)+(i2<<2)|0,d0=e[f0>>2]|0,p0=+(d0|0),C0=p0*D,S0=(g+(K*204|0)|0)+(i2<<2)|0,Q0=e[S0>>2]|0,b0=+(Q0|0),E0=b0*h0,y0=E0+C0,w0=y0,B0=(x0+132|0)+(i2<<2)|0,s[B0>>2]=w0,K0=i2+1|0,K1=(K0|0)==17,K1){c2=0;break}else i2=K0;for(;;)if(M1=((g+(v*204|0)|0)+68|0)+(c2<<2)|0,_1=e[M1>>2]|0,R1=+(_1|0),F1=R1*D,U1=((g+(K*204|0)|0)+68|0)+(c2<<2)|0,D1=e[U1>>2]|0,P1=+(D1|0),Z1=P1*h0,G1=Z1+F1,x1=G1,z1=(x0+200|0)+(c2<<2)|0,s[z1>>2]=x1,H1=c2+1|0,h2=(H1|0)==17,h2){r2=0;break}else c2=H1;for(;Y1=((g+(v*204|0)|0)+136|0)+(r2<<2)|0,V1=e[Y1>>2]|0,X1=+(V1|0),n2=X1*D,j1=((g+(K*204|0)|0)+136|0)+(r2<<2)|0,O1=e[j1>>2]|0,g2=+(O1|0),W1=g2*h0,d2=W1+n2,y=d2,x=(x0+268|0)+(r2<<2)|0,s[x>>2]=y,M=r2+1|0,l2=(M|0)==17,!l2;)r2=M;for(L=x0+132|0,R=+s[L>>2],k0=R+6,F=x0+132|0,T=R,N=T+m,G=N,V=G>2]=k2,M0=1;I=(x0+132|0)+(M0<<2)|0,B=+s[I>>2],v0=(x0+132|0)+(M0<<2)|0,T0=B,N0=T0+m,U0=N0,O0=U0>2]=A2,V0=M0+1|0,s2=(V0|0)==17,!s2;)M0=V0;for(F0=x0+200|0,G0=+s[F0>>2],z0=G0+6,J0=x0+200|0,q0=G0,Z0=q0+m,P0=Z0,H0=P0>2]=o2,s1=1;E=(x0+200|0)+(s1<<2)|0,S=+s[E>>2],Y0=(x0+200|0)+(s1<<2)|0,i1=S,o1=i1+m,d1=o1,u1=d1>2]=e2,m1=s1+1|0,C2=(m1|0)==17,!C2;)s1=m1;for(f1=x0+268|0,h1=+s[f1>>2],A1=h1+6,g1=x0+268|0,a1=h1,$1=a1+m,E1=$1,I1=E1>2]=t2,Q1=1;Q=(x0+268|0)+(Q1<<2)|0,b=+s[Q>>2],p1=(x0+268|0)+(Q1<<2)|0,B1=b,w1=B1+m,v1=w1,k1=v1>2]=m2,L1=Q1+1|0,a2=(L1|0)==17,!a2;)Q1=L1}function zb(t,o,a,$,g){t=t|0,o=o|0,a=+a,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0;k1=C,v=($|0)==0;e:do if(v){for(J=26336,j0=0;;){if(s0=e[J>>2]|0,o0=s0+12|0,H=e[o0>>2]|0,h0=(H|0)==-1,j=(H|0)==(t|0),p1=h0|j,p1&&(u0=s0+16|0,c0=e[u0>>2]|0,$0=(c0|0)>(o|0),!$0&&(l0=s0+20|0,Z=e[l0>>2]|0,I0=(Z|0)<(o|0),!I0&&(g0=e[s0>>2]|0,f0=s0+8|0,n0=e[f0>>2]|0,p0=+l1[n0>>3],C0=p0>a,!C0&&(b0=n0+(g0<<3)|0,E0=+l1[b0>>3],y0=E0>2]|0,K0=i0+12|0,G0=e[K0>>2]|0,o1=(G0|0)==-1,A1=(G0|0)==(t|0),B1=o1|A1,B1&&(g1=i0+16|0,D=e[g1>>2]|0,y=(D|0)>(o|0),!y&&(x=i0+20|0,M=e[x>>2]|0,L=(M|0)<(o|0),!L&&(R=e[i0>>2]|0,F=i0+4|0,T=e[F>>2]|0,N=+l1[T>>3],G=V>3],a0=V>K,!a0))))){m=V,I=R,E=d0,Q=T,h1=N;break e}if($1=E1+1|0,W=26336+($1<<2)|0,r0=($1|0)==17,r0){d=0;break}else d0=W,E1=$1}return d|0}while(!1);w0=(I|0)>0;e:do if(w0)for(_0=h1,Q1=0;;){if(B0=!(m>=_0),b=Q1+1|0,!B0&&(M0=Q+(b<<3)|0,v0=+l1[M0>>3],T0=m>3],_0=S,Q1=b}else I1=0;while(!1);return U0=(I1|0)==(I|0),U0?(O0=+(I|0),k0=O0+-.001,w1=k0):(V0=Q+(I1<<3)|0,F0=+l1[V0>>3],L0=F0,z0=I1+1|0,J0=Q+(z0<<3)|0,q0=+l1[J0>>3],Z0=q0,P0=L0,H0=m-P0,s1=Z0-L0,Y0=s1,i1=H0/Y0,x0=i1,d1=+(I1|0),u1=x0+d1,m1=u1,w1=m1),l1[g>>3]=w1,f1=e[E>>2]|0,d=f1,d|0}function Kb(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0;x0=C,I=t+28|0,E=e[I>>2]|0,L=E+3396|0,r0=e[L>>2]|0,e[t>>2]=0,l0=t+4|0,e[l0>>2]=o,b0=t+8|0,e[b0>>2]=a,U0=E+3456|0,e[U0>>2]=1,P0=E+3460|0,e[P0>>2]=1,s1=E+3400|0,Y0=+l1[s1>>3],Q=~~Y0,B=+(Q|0),S=Y0-B,b=E+3472|0,l1[b>>3]=Y0,v=E+3488|0,w=e[v>>2]|0,D=(w|0)==0,D?(y=r0+120|0,x=e[y>>2]|0,M=x+(Q<<3)|0,R=+l1[M>>3],F=1-S,T=R*F,N=Q+1|0,G=x+(N<<3)|0,V=+l1[G>>3],e0=V*S,K=e0+T,a0=E+3480|0,l1[a0>>3]=K,g=N,d=F):($=1-S,m=Q+1|0,g=m,d=$),W=r0+112|0,s0=e[W>>2]|0,J=s0+(Q<<2)|0,o0=e[J>>2]|0,H=+(o0|0),h0=H*d,i0=s0+(g<<2)|0,j=e[i0>>2]|0,u0=+(j|0),c0=u0*S,$0=c0+h0,Z=E+3496|0,l1[Z>>3]=$0,I0=r0+116|0,g0=e[I0>>2]|0,f0=g0+(Q<<2)|0,n0=e[f0>>2]|0,d0=+(n0|0),p0=d0*d,C0=g0+(g<<2)|0,S0=e[C0>>2]|0,Q0=+(S0|0),E0=Q0*S,y0=E0+p0,w0=E+3504|0,l1[w0>>3]=y0,B0=E+3512|0,l1[B0>>3]=-6,_0=E+3520|0,l1[_0>>3]=Y0,K0=E+3528|0,l1[K0>>3]=Y0,M0=E+3536|0,l1[M0>>3]=Y0,v0=E+3544|0,l1[v0>>3]=Y0,T0=E+3552|0,l1[T0>>3]=Y0,N0=E+3560|0,l1[N0>>3]=Y0,O0=E+3568|0,l1[O0>>3]=Y0,k0=E+3576|0,l1[k0>>3]=Y0,V0=E+3584|0,l1[V0>>3]=Y0,F0=E+3592|0,l1[F0>>3]=Y0,L0=E+3600|0,l1[L0>>3]=Y0,G0=E+3608|0,l1[G0>>3]=Y0,z0=E+3616|0,l1[z0>>3]=Y0,J0=E+3624|0,l1[J0>>3]=Y0,q0=E+3632|0,l1[q0>>3]=Y0,Z0=E+3640|0,l1[Z0>>3]=Y0,H0=E+3648|0,l1[H0>>3]=Y0}function Wb(t,o,a,$,g,d){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0;var m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0;if(q0=C,I=(g|0)!=0,E=I?$:0,L=I?d:0,r0=o+(E<<2)|0,l0=e[r0>>2]|0,b0=520336+(l0<<2)|0,_0=e[b0>>2]|0,K0=o+(L<<2)|0,M0=e[K0>>2]|0,v0=520336+(M0<<2)|0,Q=e[v0>>2]|0,B=a+(g<<2)|0,S=e[B>>2]|0,b=a+(E<<2)|0,v=e[b>>2]|0,w=a+(L<<2)|0,D=e[w>>2]|0,y=(S|0)/4&-1,x=(v|0)/4&-1,M=y-x|0,R=(v|0)/2&-1,F=M+R|0,T=(S|0)/2&-1,N=T+y|0,m=(D|0)/-4&-1,G=N+m|0,V=(D|0)/2&-1,e0=G+V|0,K=(M|0)>0,K?(a0=y-x|0,W=a0<<2,g4(t|0,0,W|0)|0,N0=M):N0=0,s0=(N0|0)<(F|0),s0)for(J=y+R|0,o0=J-N0|0,H=o0-x|0,U0=N0,V0=0;u0=_0+(V0<<2)|0,c0=+s[u0>>2],$0=t+(U0<<2)|0,Z=+s[$0>>2],I0=Z*c0,s[$0>>2]=I0,g0=U0+1|0,f0=V0+1|0,T0=(f0|0)==(H|0),!T0;)U0=g0,V0=f0;if(h0=(D|0)>1,h0){for(i0=G+1|0,j=(e0|0)>(i0|0),k0=G,L0=V;F0=L0+-1|0,C0=Q+(F0<<2)|0,S0=+s[C0>>2],Q0=t+(k0<<2)|0,E0=+s[Q0>>2],y0=E0*S0,s[Q0>>2]=y0,w0=k0+1|0,B0=(w0|0)<(e0|0),B0;)k0=w0,L0=F0;z0=j?e0:i0,O0=z0}else O0=G;n0=(S|0)>(O0|0),n0&&(G0=t+(O0<<2)|0,d0=S-O0|0,p0=d0<<2,g4(G0|0,0,p0|0)|0)}function Zb(t,o,a){t=t|0,o=+o,a=+a;var $=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,C=C+64|0,$0=Z+32|0,c0=Z,$=M9(688)|0,g=$+408|0,lb(g),D=~~o,Jb(g,t,D,a)|0,e0=$+440|0,ab(e0),Ab(e0,553008,553016),o0=$+456|0,GS(o0,g)|0,H=$+568|0,TS(o0,H)|0,h0=eQ(0)|0,nD(h0),i0=oD()|0,SS($,i0)|0,j=$+680|0,e[j>>2]=0,u0=$+684|0,e[u0>>2]=0,d=$+360|0,cb(o0,e0,d,$0,c0)|0,eE($,d)|0,eE($,$0)|0,eE($,c0)|0,m=$+392|0,I=iQ($,m)|0,E=(I|0)==0,E)return C=Z,$|0;for(Q=$+396|0,B=$+404|0,S=$+400|0;b=e[u0>>2]|0,v=e[Q>>2]|0,w=v+b|0,y=e[B>>2]|0,x=w+y|0,M=(x|0)==0,M||(F=e[j>>2]|0,T=J7(F,x)|0,e[j>>2]=T,N=e[u0>>2]|0,G=T+N|0,V=e[m>>2]|0,K=e[Q>>2]|0,ce(G|0,V|0,K|0)|0,a0=K+N|0,e[u0>>2]=a0,W=T+a0|0,r0=e[S>>2]|0,s0=e[B>>2]|0,ce(W|0,r0|0,s0|0)|0,J=s0+a0|0,e[u0>>2]=J),L=iQ($,m)|0,R=(L|0)==0,!R;);return C=Z,$|0}function jb(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0;E=C,bS(t)|0,o=t+568|0,NS(o)|0,a=t+456|0,sQ(a),$=t+440|0,$b($),g=t+408|0,mC(g),d=t+680|0,m=e[d>>2]|0,E2(m),E2(t)}function Xb(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0;return d=C,a=t+456|0,$=aQ(a,o)|0,$|0}function eD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0;if(Z=C,a=t+456|0,US(a,o)|0,$=t+568|0,w=AQ(a,$)|0,V=(w|0)==1,!!V)for(h0=t+360|0,i0=t+392|0,j=t+684|0,u0=t+396|0,c0=t+404|0,$0=t+680|0,g=t+392|0,d=t+400|0;;){if(LS($,0)|0,FS($)|0,E=oQ(a,h0)|0,Q=(E|0)==0,!Q)for(;;){if(eE(t,h0)|0,b=rQ(t,i0)|0,v=(b|0)==0,!v)for(;D=e[j>>2]|0,y=e[u0>>2]|0,x=y+D|0,M=e[c0>>2]|0,L=x+M|0,R=(L|0)==0,R||(N=e[$0>>2]|0,G=J7(N,L)|0,e[$0>>2]=G,e0=e[j>>2]|0,K=G+e0|0,a0=e[g>>2]|0,W=e[u0>>2]|0,ce(K|0,a0|0,W|0)|0,r0=W+e0|0,e[j>>2]=r0,s0=G+r0|0,J=e[d>>2]|0,o0=e[c0>>2]|0,ce(s0|0,J|0,o0|0)|0,H=o0+r0|0,e[j>>2]=H),F=rQ(t,i0)|0,T=(F|0)==0,!T;);if(B=oQ(a,h0)|0,S=(B|0)==0,S)break}if(m=AQ(a,$)|0,I=(m|0)==1,!I)break}}function tD(t){t=t|0;var o=0,a=0,$=0,g=0;return g=C,o=t+684|0,a=e[o>>2]|0,a|0}function iD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0;return d=C,o=t+684|0,e[o>>2]=0,a=t+680|0,$=e[a>>2]|0,$|0}function nE(t,o){t=+t,o=o|0;var a=0,$=0,g=0;return g=C,a=+rD(t,o),+a}function Nu(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0;if(N3=C,C=C+688|0,n3=N3+424|0,K5=N3+192|0,t3=N3,o0=o5(a,o)|0,H=(o0|0)==0,H){C=N3;return}for(W=o0-a|0,Y1=t3+4|0,e[Y1>>2]=a,e[t3>>2]=a,t2=a,I5=a,D3=2;a2=t2+a|0,G2=a2+I5|0,T5=t3+(D3<<2)|0,e[T5>>2]=G2,D5=G2>>>0>>0,n5=D3+1|0,D5;)k2=I5,I5=G2,D3=n5,t2=k2;if(h0=0-a|0,n0=t+W|0,_0=(W|0)>0,_0)for(L0=(a|0)==0,x0=n0,b1=1,Z2=0,N5=t,H5=1;;){j0=b1&3,z1=(j0|0)==3;do if(z1){e[K5>>2]=N5,q1=(H5|0)>1;e:do if(q1){for(B=H5,y=N5,O1=N5,X5=1;;){if(H1=y+h0|0,V1=B+-2|0,X1=t3+(V1<<2)|0,n2=e[X1>>2]|0,G5=n2+a|0,r0=0-G5|0,j1=y+r0|0,g2=mi[$&15](O1,j1)|0,W1=(g2|0)>-1,W1&&(d2=mi[$&15](O1,H1)|0,s2=(d2|0)>-1,s2)){f3=X5;break}if(C2=mi[$&15](j1,H1)|0,K1=(C2|0)>-1,h2=X5+1|0,l2=K5+(X5<<2)|0,K1?(e[l2>>2]=j1,i2=B+-1|0,d=j1,E=i2):(e[l2>>2]=H1,d=H1,E=V1),c2=(E|0)>1,!c2){f3=h2;break}V=e[K5>>2]|0,B=E,y=d,O1=V,X5=h2}if(r2=(f3|0)<2,!r2&&(A2=K5+(f3<<2)|0,e[A2>>2]=n3,!L0))for(w=a,P2=n3;;){for(p2=w>>>0>256,o2=p2?256:w,W2=e[K5>>2]|0,ce(P2|0,W2|0,o2|0)|0,L2=W2,X3=0;D2=K5+(X3<<2)|0,S2=X3+1|0,Q2=K5+(S2<<2)|0,N2=e[Q2>>2]|0,ce(L2|0,N2|0,o2|0)|0,U2=L2+o2|0,e[D2>>2]=U2,r3=(S2|0)==(f3|0),!r3;)L2=N2,X3=S2;if(e2=(w|0)==(o2|0),e2)break e;m2=w-o2|0,K=e[A2>>2]|0,w=m2,P2=K}}while(!1);V2=b1>>>2,q2=Z2<<30,A5=V2|q2,H2=Z2>>>2,N1=H5+2|0,l0=A5,x1=H2,V5=N1}else{if(t5=H5+-1|0,F5=t3+(t5<<2)|0,i5=e[F5>>2]|0,_5=N5,j2=x0-_5|0,b5=i5>>>0>>0,b5){e[K5>>2]=N5,Y5=(H5|0)>1;e:do if(Y5){for(S=H5,x=N5,M2=N5,b3=1;;){if(g5=x+h0|0,b2=S+-2|0,B5=t3+(b2<<2)|0,s5=e[B5>>2]|0,$6=s5+a|0,s0=0-$6|0,R2=x+s0|0,y2=mi[$&15](M2,R2)|0,Q5=(y2|0)>-1,Q5&&(m5=mi[$&15](M2,g5)|0,x5=(m5|0)>-1,x5)){y3=b3;break}if(q5=mi[$&15](R2,g5)|0,L5=(q5|0)>-1,Y2=b3+1|0,p5=K5+(b3<<2)|0,L5?(e[p5>>2]=R2,$5=S+-1|0,m=R2,Q=$5):(e[p5>>2]=g5,m=g5,Q=b2),u5=(Q|0)>1,!u5){y3=Y2;break}e0=e[K5>>2]|0,S=Q,x=m,M2=e0,b3=Y2}if(y5=(y3|0)<2,!y5&&(T1=K5+(y3<<2)|0,e[T1>>2]=n3,!L0))for(D=a,e5=n3;;){for(f5=D>>>0>256,l5=f5?256:D,M5=e[K5>>2]|0,ce(e5|0,M5|0,l5|0)|0,d5=M5,q3=0;u2=K5+(q3<<2)|0,w5=q3+1|0,r5=K5+(w5<<2)|0,a5=e[r5>>2]|0,ce(d5|0,a5|0,l5|0)|0,z2=d5+l5|0,e[u2>>2]=z2,a3=(w5|0)==(y3|0),!a3;)d5=a5,q3=w5;if(h5=(D|0)==(l5|0),h5)break e;X2=D-l5|0,a0=e[T1>>2]|0,D=X2,e5=a0}}while(!1)}else oE(N5,a,$,b1,Z2,H5,0,t3);if(c5=(H5|0)==1,c5){F2=Z2<<1,v5=b1>>>31,J5=v5|F2,i3=b1<<1,l0=i3,x1=J5,V5=0;break}else{E5=t5>>>0>31,I3=H5+-33|0,g=E5?0:b1,M=E5?b1:Z2,L=E5?I3:t5,d3=M<>>i0,u0=j|d3,c0=g<>>0>>0,I0)b1=$0,Z2=x1,N5=Z,H5=V5;else{T=x1,N=$0,B3=Z,z5=V5;break}}else T=0,N=1,B3=t,z5=1;if(oE(B3,a,$,N,T,z5,0,t3),g0=(z5|0)==1,f0=(N|0)==1,Q3=f0&g0,d0=(T|0)==0,u3=d0&Q3,u3){C=N3;return}else S0=N,v0=T,W5=B3,S5=z5;for(;;){if(p0=(S5|0)<2,!p0){H0=v0<<2,s1=S0>>>30,Y0=s1|H0,i1=S5+-2|0,o1=S0<<1,d1=o1&2147483646,u1=s1<<31,m1=d1|u1,f1=m1^3,h1=Y0>>>1,A1=t3+(i1<<2)|0,g1=e[A1>>2]|0,Y3=g1+a|0,J=0-Y3|0,a1=W5+J|0,$1=S5+-1|0,oE(a1,a,$,f1,h1,$1,1,t3),E1=h1<<1,I1=s1&1,Q1=E1|I1,p1=f1<<1,B1=p1|1,w1=W5+h0|0,oE(w1,a,$,B1,Q1,i1,1,t3),S0=B1,v0=Q1,W5=w1,S5=i1;continue}C0=S0+-1|0,Q0=(C0|0)==0;do if(Q0)P0=32,l3=56;else{if(b0=C0&1,E0=(b0|0)==0,E0){for(b=C0,s6=0;;)if(y0=s6+1|0,w0=b>>>1,B0=w0&1,K0=(B0|0)==0,K0)b=w0,s6=y0;else{R=y0;break}M0=(R|0)==0,M0?l3=51:J0=R}else l3=51;if((l3|0)==51){if(l3=0,T0=(v0|0)==0,T0){P0=64,l3=56;break}if(N0=v0&1,U0=(N0|0)==0,U0)v=v0,T3=0;else{I=0,k1=S0,_1=v0,D1=0;break}for(;;)if(O0=T3+1|0,k0=v>>>1,V0=k0&1,F0=(V0|0)==0,F0)v=k0,T3=O0;else{F=O0,H3=T3;break}if(G0=H3+33|0,z0=(F|0)==0,z0){I=0,k1=S0,_1=v0,D1=0;break}else J0=G0}q0=J0>>>0>31,q0?(P0=J0,l3=56):(I=J0,k1=S0,_1=v0,D1=J0)}while(!1);if((l3|0)==56&&(l3=0,Z0=P0+-32|0,I=Z0,k1=v0,_1=0,D1=P0),v1=k1>>>I,L1=32-I|0,M1=_1<>>I,U1=D1+S5|0,G=W5+h0|0,P1=(U1|0)==1,Z1=(R1|0)==1,c3=Z1&P1,G1=(F1|0)==0,g3=G1&c3,g3)break;S0=R1,v0=F1,W5=G,S5=U1}C=N3}function oE(t,o,a,$,g,d,m,I){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0;var E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0;y2=C,C=C+720|0,R2=y2+456|0,q2=y2+228|0,G2=y2,e[G2>>2]=t,H=0-o|0,h0=($|0)!=1,v0=(g|0)!=0,J0=v0|h0;e:do if(J0)if(u1=I+(d<<2)|0,Q1=e[u1>>2]|0,F1=0-Q1|0,V1=t+F1|0,K1=mi[a&15](V1,t)|0,k2=(K1|0)<1,k2)B=t,M=d,G=m,H2=1,M2=18;else for(v=t,T=d,V=m,B0=V1,H0=g,_5=1,b2=$;;){if(i0=(V|0)==0,d0=(T|0)>1,g5=i0&d0,g5){if(b0=v+H|0,E0=T+-2|0,y0=I+(E0<<2)|0,w0=e[y0>>2]|0,_0=mi[a&15](b0,B0)|0,K0=(_0|0)>-1,K0){S=v,L=T,t5=_5;break e}if(B5=w0+o|0,J=0-B5|0,M0=v+J|0,T0=mi[a&15](M0,B0)|0,N0=(T0|0)>-1,N0){S=v,L=T,t5=_5;break e}}U0=_5+1|0,O0=G2+(_5<<2)|0,e[O0>>2]=B0,k0=b2+-1|0,V0=(k0|0)==0;do if(V0)$1=32,M2=15;else{if(F0=k0&1,L0=(F0|0)==0,L0){for(y=k0,I5=0;;)if(G0=I5+1|0,z0=y>>>1,q0=z0&1,Z0=(q0|0)==0,Z0)y=z0,I5=G0;else{e0=G0;break}P0=(e0|0)==0,P0?M2=10:A1=e0}else M2=10;if((M2|0)==10){if(M2=0,s1=(H0|0)==0,s1){$1=64,M2=15;break}if(Y0=H0&1,i1=(Y0|0)==0,i1)x=H0,b5=0;else{Q=0,E1=b2,B1=H0,L1=0;break}for(;;)if(x0=b5+1|0,o1=x>>>1,d1=o1&1,m1=(d1|0)==0,m1)x=o1,b5=x0;else{K=x0,Y5=b5;break}if(f1=Y5+33|0,h1=(K|0)==0,h1){Q=0,E1=b2,B1=H0,L1=0;break}else A1=f1}g1=A1>>>0>31,g1?($1=A1,M2=15):(Q=A1,E1=b2,B1=H0,L1=A1)}while(!1);if((M2|0)==15&&(M2=0,a1=$1+-32|0,Q=a1,E1=H0,B1=0,L1=$1),j0=E1>>>Q,I1=32-Q|0,p1=B1<>>Q,k1=L1+T|0,M1=(w1|0)!=1,b1=(v1|0)!=0,_1=b1|M1,!_1){S=B0,L=k1,t5=U0;break e}if(a0=e[G2>>2]|0,R1=I+(k1<<2)|0,U1=e[R1>>2]|0,D1=0-U1|0,P1=B0+D1|0,Z1=mi[a&15](P1,a0)|0,G1=(Z1|0)<1,G1){B=B0,M=k1,G=0,H2=U0,M2=18;break}else w=B0,T=k1,V=0,B0=P1,H0=v1,_5=U0,b2=w1,v=w}else B=t,M=d,G=m,H2=1,M2=18;while(!1);if((M2|0)==18)if(x1=(G|0)==0,x1)S=B,L=M,t5=H2;else{C=y2;return}z1=(t5|0)<2;e:do if(!z1&&(q1=G2+(t5<<2)|0,e[q1>>2]=R2,H1=(o|0)==0,!H1))for(F=o,h2=R2;;){for(C2=F>>>0>256,X1=C2?256:F,a2=e[G2>>2]|0,ce(h2|0,a2|0,X1|0)|0,d2=a2,i5=0;j1=G2+(i5<<2)|0,O1=i5+1|0,g2=G2+(O1<<2)|0,W1=e[g2>>2]|0,ce(d2|0,W1|0,X1|0)|0,s2=d2+X1|0,e[j1>>2]=s2,A5=(O1|0)==(t5|0),!A5;)d2=W1,i5=O1;if(Y1=(F|0)==(X1|0),Y1)break e;n2=F-X1|0,s0=e[q1>>2]|0,F=n2,h2=s0}while(!1);e[q2>>2]=S,l2=(L|0)>1;e:do if(l2){for(D=L,N=S,o2=S,j2=1;;){if(i2=N+H|0,c2=D+-2|0,r2=I+(c2<<2)|0,A2=e[r2>>2]|0,s5=A2+o|0,o0=0-s5|0,e2=N+o0|0,m2=mi[a&15](o2,e2)|0,t2=(m2|0)>-1,t2&&(D2=mi[a&15](o2,i2)|0,S2=(D2|0)>-1,S2)){N1=j2;break}if(Q2=mi[a&15](e2,i2)|0,N2=(Q2|0)>-1,L2=j2+1|0,U2=q2+(j2<<2)|0,N2?(e[U2>>2]=e2,p2=D+-1|0,E=e2,b=p2):(e[U2>>2]=i2,E=i2,b=c2),W2=(b|0)>1,!W2){N1=L2;break}W=e[q2>>2]|0,D=b,N=E,o2=W,j2=L2}if(P2=(N1|0)<2,P2)Q0=R2;else if(V2=q2+(N1<<2)|0,e[V2>>2]=R2,j=(o|0)==0,j)Q0=R2;else for(R=o,S0=R2;;){for(p0=R>>>0>256,c0=p0?256:R,C0=e[q2>>2]|0,ce(S0|0,C0|0,c0|0)|0,f0=C0,F5=0;l0=q2+(F5<<2)|0,Z=F5+1|0,I0=q2+(Z<<2)|0,g0=e[I0>>2]|0,ce(f0|0,g0|0,c0|0)|0,n0=f0+c0|0,e[l0>>2]=n0,Z2=(Z|0)==(N1|0),!Z2;)f0=g0,F5=Z;if(u0=(R|0)==(c0|0),u0){Q0=R2;break e}$0=R-c0|0,r0=e[V2>>2]|0,R=$0,S0=r0}}else Q0=R2;while(!1);C=y2}function V7(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0;return L=C,l1[w2>>3]=t,a=e[w2>>2]|0,$=e[w2+4>>2]|0,Q=$&2146435072,B=Q>>>0>1126170624,S=!1,b=(Q|0)==1126170624,v=b&S,w=B|v,w?(o=t,+o):(D=($|0)<0,y=t+-4503599627370496,g=y+4503599627370496,d=t+4503599627370496,m=d+-4503599627370496,x=D?g:m,I=x==0,I?(E=D?-0:0,o=E,+o):(o=x,+o))}function bQ(t){t=+t;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,a=(s[w2>>2]=t,e[w2>>2]|0),$=a&2130706432,g=$>>>0>1249902592,g?(o=t,+o):(d=(a|0)<0,m=t+-8388608,I=m+8388608,E=t+8388608,Q=E+-8388608,b=d?I:Q,B=b==0,B?(S=d?-0:0,o=S,+o):(o=b,+o))}function rD(t,o){t=+t,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0;return e0=C,d=(o|0)>1023,d?(m=t*898846567431158e293,y=o+-1023|0,x=(y|0)>1023,x?(M=m*898846567431158e293,L=o+-2046|0,R=(L|0)>1023,a=R?1023:L,$=a,G=M):($=y,G=m)):(F=(o|0)<-1022,F?(T=t*22250738585072014e-324,N=o+1022|0,I=(N|0)<-1022,I?(E=T*22250738585072014e-324,Q=o+2044|0,B=(Q|0)<-1022,g=B?-1022:Q,$=g,G=E):($=N,G=T)):($=o,G=t)),S=$+1023|0,b=xQ(S|0,0,52)|0,v=j6,e[w2>>2]=b,e[w2+4>>2]=v,w=+l1[w2>>3],D=G*w,+D}function nD(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0;I=C,o=t+-1|0,a=553040,$=a,e[$>>2]=o,g=a+4|0,d=g,e[d>>2]=0}function oD(){var t=0,o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,t=553040,o=t,E=e[o>>2]|0,Q=t+4|0,B=Q,S=e[B>>2]|0,b=$D(E|0,S|0,1284865837,1481765933)|0,v=j6,w=rs(b|0,v|0,1,0)|0,D=j6,a=553040,$=a,e[$>>2]=w,g=a+4|0,d=g,e[d>>2]=D,m=ns(w|0,D|0,33)|0,I=j6,m|0}function M9(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0,f8=0,D8=0,e8=0,I8=0,m8=0,Ut=0,Pt=0,Ot=0,qt=0,t8=0,i8=0,_8=0,Ht=0,Yt=0,Vt=0,_t=0,xt=0,pt=0,Jt=0,zt=0,r8=0,n8=0,Et=0,z4=0,G4=0,at=0,Lt=0,x9=0,p8=0,b4=0,E8=0,x8=0,o8=0,L8=0,A4=0,s8=0,Kt=0,Mt=0,At=0,Ke=0,U4=0,$t=0,Ct=0,Rt=0,m4=0,oe=0,lt=0,Bt=0,ct=0,Qt=0,p4=0,D4=0,K4=0,W4=0,se=0,P4=0,E4=0,gt=0,_4=0,be=0,yt=0,a8=0,We=0,E3=0,Z4=0,wt=0,$4=0,Z9=0,l4=0,F9=0,j4=0,Wt=0,C8=0,A8=0,$8=0,Zt=0,l8=0,jt=0,ut=0,ht=0,Ft=0,Ze=0,c8=0,Tt=0,X4=0,b9=0,g8=0,et=0,q8=0,K8=0,M8=0,u8=0,R8=0,c4=0,H8=0,W8=0,dt=0,Nt=0,F8=0,Xt=0,O4=0,C4=0,ae=0,T8=0,Ai=0,Oi=0,qi=0,Hi=0,pi=0,Z8=0,Ei=0,j8=0,Ci=0,X8=0,Bi=0,$i=0,c7=0,Yi=0,Qi=0,yi=0,g7=0,wi=0,li=0,u7=0,Vi=0,Ji=0,zi=0,Ki=0,ci=0,vi=0,Wi=0,ei=0,gi=0,Y8=0,ti=0,h7=0,Zi=0,d7=0,ki=0,ji=0,Si=0,bi=0,Xi=0,Di=0,ii=0,_i=0,e7=0,ui=0,V8=0,xi=0,x4=0,Li=0,N8=0,hi=0,l9=0,B8=0,vt=0,Q8=0,G8=0,nn=0,yr=0,as=0,Vn=0,As=0,Jn=0,$s=0,ls=0,zn=0,cs=0,on=0,gs=0,us=0,hs=0,Kn=0,ds=0,Wn=0,Zn=0,fs=0,sn=0,jn=0,an=0,Xn=0,eo=0,Is=0,ms=0,ps=0,An=0,to=0,Es=0,wr=0,$n=0,Cs=0,Bs=0,ln=0,f7=0,io=0,Qs=0,ys=0,ro=0,no=0,oo=0,ws=0,I7=0,cn=0,vs=0,so=0,ks=0,Ss=0,bs=0,ao=0,Ds=0,_s=0,xs=0,Ls=0,Ao=0,Ms=0,Rs=0,gn=0,vr=0,un=0,Fs=0,rr=0,Ts=0,$o=0,hn=0,lo=0,dn=0,Ns=0,co=0,go=0,Gs=0,uo=0,ho=0,Us=0,kr=0,fo=0,m7=0,fn=0,Sr=0,nr=0,br=0,z7=0,Dr=0,Io=0,K7=0,S7=0,b7=0,t7=0,D7=0,_r=0,or=0,sr=0,xr=0,p7=0,Ps=0,di=0,rl=0,In=0,mn=0,Gu=0,nl=0,Os=0,Uu=0,oA=0,ol=0,Pu=0,Ou=0,qu=0,sA=0,sl=0,al=0,aA=0,pn=0,Al=0,Hu=0,qs=0,ar=0,Yu=0,Vu=0,Ju=0,zu=0,Ku=0,Wu=0,Zu=0,ju=0,Xu=0,eh=0,$l=0,Lr=0,th=0,ih=0,ll=0,rh=0,AA=0,Hs=0,$A=0,nh=0,oh=0,lA=0,cl=0,gl=0,ul=0,cA=0,hl=0,Ys=0,sh=0,ah=0,dl=0,Ah=0,$h=0,fl=0,lh=0,ch=0,Il=0,ml=0,pl=0,El=0,Cl=0,En=0,gh=0,Bl=0,uh=0,Ql=0,yl=0,hh=0,dh=0,fh=0,gA=0,wl=0,vl=0,mo=0,kl=0,uA=0,Ih=0,Sl=0,mh=0,bl=0,ph=0,Eh=0,Dl=0,_l=0,Ch=0,Vs=0,Bh=0,hA=0,xl=0,Ll=0,Qh=0,yh=0,wh=0,vh=0,kh=0,Sh=0,Js=0,Ml=0,Rl=0,Fl=0,zs=0,bh=0,Tl=0,Dh=0,Nl=0,_h=0,xh=0,Gl=0,dA=0,Lh=0,Mh=0,Ks=0,Rh=0,Ws=0,Fh=0,fA=0,Th=0,Nh=0,Gh=0,Ul=0,Uh=0,Ph=0,Oh=0,qh=0,Pl=0,Ol=0,Ar=0,ql=0,Zs=0,IA=0,mA=0,Cn=0,Hl=0,Bn=0,Hh=0,Yl=0,Yh=0,Vh=0,Jh=0,zh=0,js=0,pA=0,Mr=0,Kh=0,Wh=0,Vl=0,EA=0,Jl=0,zl=0,Zh=0,Kl=0,jh=0,CA=0,Xh=0,ed=0,z9=0,td=0,Wl=0,id=0,rd=0,BA=0,nd=0,QA=0,Zl=0,od=0,sd=0,jl=0,Xl=0,ad=0,yA=0,wA=0,ec=0,tc=0,Ad=0,ic=0,vA=0,$d=0,rc=0,ld=0,cd=0,gd=0,ud=0,nc=0,oc=0,kA=0,Xs=0,sc=0,hd=0,ac=0,Ac=0,dd=0,fd=0,Id=0,$c=0,md=0,pd=0,Ed=0,Cd=0,Bd=0,Qd=0,lc=0,yd=0,cc=0,wd=0,Qn=0,vd=0,gc=0,kd=0,po=0,uc=0,SA=0,Sd=0,ea=0,bA=0,bd=0,DA=0,hc=0,Dd=0,_d=0,xd=0,Ld=0,Md=0,dc=0,Rd=0,Fd=0,Td=0,ta=0,Eo=0,_A=0,Nd=0,xA=0,Gd=0,Ud=0,Pd=0,fc=0,Od=0,qd=0,Hd=0,Yd=0,Vd=0,ia=0,Jd=0,zd=0,Ic=0,Kd=0,Wd=0,Zd=0,jd=0,E7=0,mc=0,C7=0,pc=0,LA=0,Xd=0,i7=0,Co=0,ef=0,tf=0,rf=0,nf=0,of=0,Ec=0,sf=0,af=0,Cc=0,Af=0,$f=0,Bo=0,MA=0,lf=0,Bc=0,cf=0,gf=0,ra=0,uf=0,hf=0,Qc=0,yc=0,df=0,ff=0,yn=0,If=0,mf=0,wn=0,pf=0,wc=0,Ef=0,Cf=0,Qo=0,vc=0,Bf=0,kc=0,Qf=0,$r=0,RA=0,yf=0,Sc=0,bc=0,wf=0,vf=0,Dc=0,kf=0,Sf=0,bf=0,_c=0,Df=0,yo=0,_f=0,vn=0,xf=0,Lf=0,FA=0,Mf=0,TA=0,NA=0,Rf=0,xc=0,Lc=0,Ff=0,Mc=0,Rc=0,Fc=0,Tf=0,Tc=0,Nc=0,Nf=0,Gf=0,Gc=0,Uc=0,Uf=0,Pc=0,Oc=0,Pf=0,Of=0,qc=0,GA=0,Hc=0,Yc=0,Vc=0,Jc=0,qf=0,Hf=0,Yf=0,Vf=0,Jf=0,zf=0,Kf=0,Wf=0,zc=0,UA=0,Zf=0,jf=0,Xf=0,Kc=0,Wc=0,eI=0,Zc=0,PA=0,na=0,jc=0,tI=0,iI=0,rI=0,nI=0,Xc=0,oa=0,oI=0,sI=0,aI=0,AI=0,$I=0,lI=0,cI=0,gI=0,eg=0,uI=0,hI=0,dI=0,fI=0,sa=0,tg=0,II=0,mI=0,kn=0,ig=0,rg=0,OA=0,pI=0,ng=0,EI=0,og=0,sg=0,CI=0,BI=0,QI=0,yI=0,wI=0,aa=0,qA=0,vI=0,kI=0,SI=0,bI=0,ag=0,DI=0,Ag=0,_I=0,xI=0,$g=0,Rr=0,lg=0,cg=0,LI=0,gg=0,Aa=0,MI=0,RI=0,FI=0,$a=0,ug=0,TI=0,NI=0,hg=0,GI=0,UI=0,HA=0,la=0,PI=0,OI=0,qI=0,dg=0,fg=0,Ig=0,HI=0,YI=0,wo=0,VI=0,mg=0,JI=0,YA=0,pg=0,zI=0,KI=0,WI=0,ZI=0,Eg=0,jI=0,XI=0,Cg=0,ca=0,em=0,tm=0,im=0,vo=0,Bg=0,Qg=0,rm=0,yg=0,wg=0,_7=0,vg=0,lr=0,nm=0,om=0,sm=0,am=0,VA=0,ga=0,kg=0,Sg=0,Am=0,ua=0,ko=0,$m=0,ha=0,JA=0,lm=0,zA=0,cm=0,gm=0,bg=0,da=0,Dg=0,um=0,hm=0,dm=0,fm=0,_g=0,Im=0,ri=0,De=0,r7=0,mm=0,xg=0,Lg=0,KA=0,pm=0,Fr=0,So=0,Em=0,Cm=0,Mg=0,WA=0,Bm=0,Rg=0,Fg=0,Tg=0,ZA=0,jA=0,Ng=0,bo=0,XA=0,Gg=0,Qm=0,Sn=0,ym=0,Ug=0,fa=0,wm=0,Pg=0,x7=0,vm=0,km=0,Sm=0,bm=0,Dm=0,_m=0,L7=0,xm=0,Lm=0,Mm=0,Og=0,B7=0,Ia=0,e$=0,qg=0,Hg=0,Rm=0,Yg=0,Vg=0,Fm=0,Tm=0,Jg=0,zg=0,Nm=0,Gm=0,Kg=0,Um=0,Do=0,ma=0,pa=0,Pm=0,t$=0,Om=0,qm=0,Wg=0,_o=0,Hm=0,Ym=0,i$=0,r$=0,Ea=0,n$=0,o$=0,cr=0,Tr=0,Nr=0,s$=0,a$=0,xo=0,gr=0,bn=0,Vm=0,ur=0,Dn=0,Jm=0,Mi=0,Ri=0,Fi=0,Ca=0,Ba=0,Zg=0,jg=0,Qa=0,A$=0,Ti=0,ya=0,Gr=0,$$=0,zm=0,l$=0,Km=0,c$=0,Xg=0,wa=0,Wm=0,Zm=0,va=0,jm=0,ka=0,_n=0,tt=0,Le=0,eu=0,Xm=0,g$=0,tu=0,ep=0,tp=0,Sa=0,ip=0,rp=0,np=0,op=0,iu=0,sp=0,ap=0,Ap=0,n7=0,ba=0,xn=0,u$=0,Lo=0,Mo=0,ni=0,Ro=0,ru=0,nu=0,Da=0,Fo=0,To=0,No=0,$p=0,Go=0,hr=0,ou=0,Ur=0,o7=0,h$=0,d$=0,W7=0,f$=0,I$=0,m$=0,Pr=0,g6=0,_a=0,Or=0,su=0,L4=0,p$=0,kt=0,Uo=0,Ln=0,Mn=0,O9=0,Rn=0,qr=0,je=0,E$=0;E$=C,K1=t>>>0<245;do if(K1){if(h2=t>>>0<11,pe=t+11|0,Ke=pe&-8,x4=h2?16:Ke,Os=x4>>>3,fA=e[138262]|0,ta=fA>>>Os,Yc=ta&3,Cg=(Yc|0)==0,!Cg){l2=ta&1,f3=l2^1,g3=f3+Os|0,l3=g3<<1,h3=553088+(l3<<2)|0,S0=l3+2|0,G6=553088+(S0<<2)|0,F6=e[G6>>2]|0,U6=F6+8|0,T6=e[U6>>2]|0,Q9=(h3|0)==(T6|0);do if(Q9)V9=1<>>0>>0,d4&&v2(),Se=T6+12|0,S9=e[Se>>2]|0,Pt=(S9|0)==(F6|0),Pt){e[Se>>2]=h3,e[G6>>2]=T6;break}else v2();while(!1);return pt=g3<<3,p8=pt|3,U4=F6+4|0,e[U4>>2]=p8,w0=pt|4,D4=F6+w0|0,We=e[D4>>2]|0,A8=We|1,e[D4>>2]=A8,tt=U6,tt|0}if(X4=e[138264]|0,W8=x4>>>0>X4>>>0,W8){if(qi=(ta|0)==0,!qi){Yi=ta<>>12,gn=ks&16,co=io>>>gn,nr=co>>>5,or=nr&8,Uu=or|gn,Al=co>>>or,ju=Al>>>2,$A=ju&4,ah=Uu|$A,Cl=Al>>>$A,wl=Cl>>>1,Dl=wl&2,vh=ah|Dl,Nl=Cl>>>Dl,Th=Nl>>>1,ql=Th&1,Jh=vh|ql,Zh=Nl>>>ql,BA=Jh+Zh|0,ec=BA<<1,nc=553088+(ec<<2)|0,P1=ec+2|0,$c=553088+(P1<<2)|0,Qn=e[$c>>2]|0,DA=Qn+8|0,Eo=e[DA>>2]|0,Yd=(nc|0)==(Eo|0);do if(Yd)mc=1<>>0>>0,$r&&v2(),_c=Eo+12|0,Rf=e[_c>>2]|0,Gf=(Rf|0)==(Qn|0),Gf){e[_c>>2]=nc,e[$c>>2]=Eo,w=e[138264]|0,la=w;break}else v2();while(!1);return Vc=BA<<3,UA=Vc-x4|0,tI=x4|3,lI=Qn+4|0,e[lI>>2]=tI,mI=Qn+x4|0,BI=UA|1,X1=x4|4,DI=Qn+X1|0,e[DI>>2]=BI,MI=Qn+Vc|0,e[MI>>2]=UA,mg=(la|0)==0,mg||(ca=e[138267]|0,vg=la>>>3,ua=vg<<1,Dg=553088+(ua<<2)|0,xg=e[138262]|0,Rg=1<>2]|0,Q2=e[138266]|0,A5=i2>>>0>>0,A5?v2():(G=Do,Ea=i2)),e[G>>2]=ca,g5=Ea+12|0,e[g5>>2]=ca,q5=ca+8|0,e[q5>>2]=Ea,X2=ca+12|0,e[X2>>2]=Dg),e[138264]=UA,e[138267]=mI,tt=DA,tt|0}if(c5=e[138263]|0,B3=(c5|0)==0,B3)Le=x4;else{for(W5=0-c5|0,D3=c5&W5,y3=D3+-1|0,X3=y3>>>12,q3=X3&16,X5=y3>>>q3,b3=X5>>>5,t3=b3&8,s6=t3|q3,T3=X5>>>t3,H3=T3>>>2,c3=H3&4,u3=s6|c3,Q3=T3>>>c3,z5=Q3>>>1,H5=z5&2,V5=u3|H5,S5=Q3>>>H5,Y3=S5>>>1,G5=Y3&1,$6=V5|G5,n3=S5>>>G5,N3=$6+n3|0,E6=553352+(N3<<2)|0,k3=e[E6>>2]|0,_3=k3+4|0,S3=e[_3>>2]|0,a6=S3&-8,i6=a6-x4|0,ba=i6,d$=k3,p$=k3;;){if(V3=d$+16|0,Z5=e[V3>>2]|0,x3=(Z5|0)==0,x3)if(J3=d$+20|0,h6=e[J3>>2]|0,m3=(h6|0)==0,m3){xn=ba,kt=p$;break}else M6=h6;else M6=Z5;L6=M6+4|0,R6=e[L6>>2]|0,S6=R6&-8,r6=S6-x4|0,d6=r6>>>0>>0,J=d6?r6:ba,a2=d6?M6:p$,ba=J,d$=M6,p$=a2}b6=e[138266]|0,X6=kt>>>0>>0,X6&&v2(),v6=kt+x4|0,L3=kt>>>0>>0,L3||v2(),n6=kt+24|0,o6=e[n6>>2]|0,C6=kt+12|0,z3=e[C6>>2]|0,M3=(z3|0)==(kt|0);do if(M3){if(Y6=kt+20|0,A6=e[Y6>>2]|0,D6=(A6|0)==0,D6)if(t9=kt+16|0,Q6=e[t9>>2]|0,e9=(Q6|0)==0,e9){Mi=0;break}else gr=Q6,Ca=t9;else gr=A6,Ca=Y6;for(;;){if(G3=gr+20|0,n9=e[G3>>2]|0,V6=(n9|0)==0,!V6){gr=n9,Ca=G3;continue}if(s9=gr+16|0,c9=e[s9>>2]|0,P6=(c9|0)==0,P6){ur=gr,jg=Ca;break}else gr=c9,Ca=s9}if(J6=jg>>>0>>0,J6)v2();else{e[jg>>2]=0,Mi=ur;break}}else if(K3=kt+8|0,e6=e[K3>>2]|0,l6=e6>>>0>>0,l6&&v2(),o3=e6+12|0,K6=e[o3>>2]|0,A3=(K6|0)==(kt|0),A3||v2(),c6=z3+8|0,B6=e[c6>>2]|0,R3=(B6|0)==(kt|0),R3){e[o3>>2]=z3,e[c6>>2]=e6,Mi=z3;break}else v2();while(!1);i9=(o6|0)==0;do if(!i9){if(_6=kt+28|0,O6=e[_6>>2]|0,U3=553352+(O6<<2)|0,q6=e[U3>>2]|0,a9=(kt|0)==(q6|0),a9){if(e[U3>>2]=Mi,Wm=(Mi|0)==0,Wm){h9=1<>>0>>0,f9&&v2(),H9=o6+16|0,y6=e[H9>>2]|0,H6=(y6|0)==(kt|0),H6?e[H9>>2]=Mi:(A9=o6+20|0,e[A9>>2]=Mi),Y9=(Mi|0)==0,Y9)break;y9=e[138266]|0,ye=Mi>>>0>>0,ye&&v2(),ge=Mi+24|0,e[ge>>2]=o6,ie=kt+16|0,R9=e[ie>>2]|0,w9=(R9|0)==0;do if(!w9)if(W6=R9>>>0>>0,W6)v2();else{$9=Mi+16|0,e[$9>>2]=R9,we=R9+24|0,e[we>>2]=Mi;break}while(!1);if(Re=kt+20|0,ue=e[Re>>2]|0,D9=(ue|0)==0,!D9)if(Fe=e[138266]|0,Ge=ue>>>0>>0,Ge)v2();else{qe=Mi+20|0,e[qe>>2]=ue,n4=ue+24|0,e[n4>>2]=Mi;break}}while(!1);return ve=xn>>>0<16,ve?(He=xn+x4|0,J9=He|3,Ye=kt+4|0,e[Ye>>2]=J9,Z1=He+4|0,he=kt+Z1|0,Ue=e[he>>2]|0,Ee=Ue|1,e[he>>2]=Ee):(W9=x4|3,v9=kt+4|0,e[v9>>2]=W9,k4=xn|1,I0=x4|4,Y4=kt+I0|0,e[Y4>>2]=k4,f0=xn+x4|0,nt=kt+f0|0,e[nt>>2]=xn,Ve=e[138264]|0,V4=(Ve|0)==0,V4||(Je=e[138267]|0,o4=Ve>>>3,R4=o4<<1,re=553088+(R4<<2)|0,u4=e[138262]|0,Ce=1<>2]|0,h4=e[138266]|0,ne=Ne>>>0

>>0,ne?v2():(T=de,r$=Ne)),e[T>>2]=Je,f4=r$+12|0,e[f4>>2]=Je,ke=Je+8|0,e[ke>>2]=r$,s4=Je+12|0,e[s4>>2]=re),e[138264]=xn,e[138267]=v6),Pe=kt+8|0,tt=Pe,tt|0}}else Le=x4}else if(I4=t>>>0>4294967231,I4)Le=-1;else if(k9=t+11|0,f6=k9&-8,J4=e[138263]|0,fe=(J4|0)==0,fe)Le=f6;else{S4=0-f6|0,Ie=k9>>>8,z6=(Ie|0)==0,z6?_n=0:(F4=f6>>>0>16777215,F4?_n=31:(T4=Ie+1048320|0,st=T4>>>16,me=st&8,xe=Ie<>>16,_9=W3&4,Oe=_9|me,a4=xe<<_9,d8=a4+245760|0,N4=d8>>>16,f8=N4&2,D8=Oe|f8,e8=14-D8|0,I8=a4<>>15,Ut=e8+m8|0,Ot=Ut<<1,qt=Ut+7|0,t8=f6>>>qt,i8=t8&1,_8=i8|Ot,_n=_8)),Ht=553352+(_n<<2)|0,Yt=e[Ht>>2]|0,Vt=(Yt|0)==0;e:do if(Vt)Mo=S4,f$=0,Mn=0,je=86;else for(_t=(_n|0)==31,xt=_n>>>1,Jt=25-xt|0,zt=_t?0:Jt,r8=f6<>2]|0,z4=Et&-8,G4=z4-f6|0,at=G4>>>0>>0,at)if(Lt=(z4|0)==(f6|0),Lt){Ro=G4,Pr=W7,qr=W7,je=90;break e}else Lo=G4,Ln=W7;else Lo=u$,Ln=Uo;if(x9=W7+20|0,b4=e[x9>>2]|0,E8=Da>>>31,x8=(W7+16|0)+(E8<<2)|0,o8=e[x8>>2]|0,L8=(b4|0)==0,A4=(b4|0)==(o8|0),ip=L8|A4,nu=ip?ru:b4,s8=(o8|0)==0,Kt=Da<<1,s8){Mo=Lo,f$=nu,Mn=Ln,je=86;break}else u$=Lo,ru=nu,Da=Kt,W7=o8,Uo=Ln}while(!1);if((je|0)==86){if(Mt=(f$|0)==0,At=(Mn|0)==0,ep=Mt&At,ep){if($t=2<<_n,Ct=0-$t|0,Rt=$t|Ct,m4=J4&Rt,oe=(m4|0)==0,oe){Le=f6;break}lt=0-m4|0,Bt=m4<,ct=Bt+-1|0,Qt=ct>>>12,p4=Qt&16,K4=ct>>>p4,W4=K4>>>5,se=W4&8,P4=se|p4,E4=K4>>>se,gt=E4>>>2,_4=gt&4,be=P4|_4,yt=E4>>>_4,a8=yt>>>1,E3=a8&2,Z4=be|E3,wt=yt>>>E3,$4=wt>>>1,Z9=$4&1,l4=Z4|Z9,F9=wt>>>Z9,j4=l4+F9|0,Wt=553352+(j4<<2)|0,C8=e[Wt>>2]|0,I$=C8,Rn=0}else I$=f$,Rn=Mn;$8=(I$|0)==0,$8?(ni=Mo,O9=Rn):(Ro=Mo,Pr=I$,qr=Rn,je=90)}if((je|0)==90)for(;;){if(je=0,Zt=Pr+4|0,l8=e[Zt>>2]|0,jt=l8&-8,ut=jt-f6|0,ht=ut>>>0>>0,o0=ht?ut:Ro,m$=ht?Pr:qr,Ft=Pr+16|0,Ze=e[Ft>>2]|0,c8=(Ze|0)==0,!c8){Ro=o0,Pr=Ze,qr=m$,je=90;continue}if(Tt=Pr+20|0,b9=e[Tt>>2]|0,g8=(b9|0)==0,g8){ni=o0,O9=m$;break}else Ro=o0,Pr=b9,qr=m$,je=90}if(et=(O9|0)==0,et)Le=f6;else if(q8=e[138264]|0,K8=q8-f6|0,M8=ni>>>0>>0,M8){u8=e[138266]|0,R8=O9>>>0>>0,R8&&v2(),c4=O9+f6|0,H8=O9>>>0>>0,H8||v2(),dt=O9+24|0,Nt=e[dt>>2]|0,F8=O9+12|0,Xt=e[F8>>2]|0,O4=(Xt|0)==(O9|0);do if(O4){if(j8=O9+20|0,Ci=e[j8>>2]|0,X8=(Ci|0)==0,X8)if(Bi=O9+16|0,$i=e[Bi>>2]|0,c7=($i|0)==0,c7){Fi=0;break}else Dn=$i,Qa=Bi;else Dn=Ci,Qa=j8;for(;;){if(Qi=Dn+20|0,yi=e[Qi>>2]|0,g7=(yi|0)==0,!g7){Dn=yi,Qa=Qi;continue}if(wi=Dn+16|0,li=e[wi>>2]|0,u7=(li|0)==0,u7){Jm=Dn,A$=Qa;break}else Dn=li,Qa=wi}if(Vi=A$>>>0>>0,Vi)v2();else{e[A$>>2]=0,Fi=Jm;break}}else if(C4=O9+8|0,ae=e[C4>>2]|0,T8=ae>>>0>>0,T8&&v2(),Ai=ae+12|0,Oi=e[Ai>>2]|0,Hi=(Oi|0)==(O9|0),Hi||v2(),pi=Xt+8|0,Z8=e[pi>>2]|0,Ei=(Z8|0)==(O9|0),Ei){e[Ai>>2]=Xt,e[pi>>2]=ae,Fi=Xt;break}else v2();while(!1);Ji=(Nt|0)==0;do if(!Ji){if(zi=O9+28|0,Ki=e[zi>>2]|0,vi=553352+(Ki<<2)|0,Wi=e[vi>>2]|0,ei=(O9|0)==(Wi|0),ei){if(e[vi>>2]=Fi,va=(Fi|0)==0,va){gi=1<>>0>>0,d7&&v2(),ki=Nt+16|0,Si=e[ki>>2]|0,bi=(Si|0)==(O9|0),bi?e[ki>>2]=Fi:(Xi=Nt+20|0,e[Xi>>2]=Fi),Di=(Fi|0)==0,Di)break;ii=e[138266]|0,_i=Fi>>>0>>0,_i&&v2(),e7=Fi+24|0,e[e7>>2]=Nt,ui=O9+16|0,V8=e[ui>>2]|0,xi=(V8|0)==0;do if(!xi)if(N8=V8>>>0>>0,N8)v2();else{hi=Fi+16|0,e[hi>>2]=V8,l9=V8+24|0,e[l9>>2]=Fi;break}while(!1);if(B8=O9+20|0,vt=e[B8>>2]|0,Q8=(vt|0)==0,!Q8)if(G8=e[138266]|0,nn=vt>>>0>>0,nn)v2();else{yr=Fi+20|0,e[yr>>2]=vt,as=vt+24|0,e[as>>2]=Fi;break}}while(!1);As=ni>>>0<16;e:do if(As)Jn=ni+f6|0,$s=Jn|3,ls=O9+4|0,e[ls>>2]=$s,d1=Jn+4|0,zn=O9+d1|0,cs=e[zn>>2]|0,on=cs|1,e[zn>>2]=on;else{if(gs=f6|3,us=O9+4|0,e[us>>2]=gs,hs=ni|1,l0=f6|4,ds=O9+l0|0,e[ds>>2]=hs,C0=ni+f6|0,Wn=O9+C0|0,e[Wn>>2]=ni,Zn=ni>>>3,fs=ni>>>0<256,fs){sn=Zn<<1,jn=553088+(sn<<2)|0,an=e[138262]|0,Xn=1<>2]|0,Es=e[138266]|0,wr=to>>>0>>0,wr?v2():(F=An,o$=to)),e[F>>2]=c4,$n=o$+12|0,e[$n>>2]=c4,H0=f6+8|0,Cs=O9+H0|0,e[Cs>>2]=o$,Y0=f6+12|0,Bs=O9+Y0|0,e[Bs>>2]=jn;break}if(ln=ni>>>8,f7=(ln|0)==0,f7?Tr=0:(Qs=ni>>>0>16777215,Qs?Tr=31:(ys=ln+1048320|0,ro=ys>>>16,no=ro&8,oo=ln<>>16,cn=I7&4,vs=cn|no,so=oo<>>16,ao=bs&2,Ds=vs|ao,_s=14-Ds|0,xs=so<>>15,Ao=_s+Ls|0,Ms=Ao<<1,Rs=Ao+7|0,vr=ni>>>Rs,un=vr&1,Fs=un|Ms,Tr=Fs)),rr=553352+(Tr<<2)|0,f1=f6+28|0,Ts=O9+f1|0,e[Ts>>2]=Tr,M1=f6+16|0,$o=O9+M1|0,x1=f6+20|0,hn=O9+x1|0,e[hn>>2]=0,e[$o>>2]=0,lo=e[138263]|0,dn=1<>2]=c4,Y1=f6+24|0,uo=O9+Y1|0,e[uo>>2]=rr,n2=f6+12|0,ho=O9+n2|0,e[ho>>2]=c4,O1=f6+8|0,Us=O9+O1|0,e[Us>>2]=c4;break}kr=e[rr>>2]|0,fo=kr+4|0,m7=e[fo>>2]|0,fn=m7&-8,Sr=(fn|0)==(ni|0);t:do if(Sr)Ti=kr;else{for(br=(Tr|0)==31,z7=Tr>>>1,Dr=25-z7|0,Io=br?0:Dr,K7=ni<>>31,p7=($$+16|0)+(xr<<2)|0,t7=e[p7>>2]|0,Ps=(t7|0)==0,Ps){v=p7,zm=$$;break}if(S7=s$<<1,b7=t7+4|0,D7=e[b7>>2]|0,_r=D7&-8,sr=(_r|0)==(ni|0),sr){Ti=t7;break t}else s$=S7,$$=t7}if(di=e[138266]|0,rl=v>>>0>>0,rl)v2();else{e[v>>2]=c4,E0=f6+24|0,In=O9+E0|0,e[In>>2]=zm,O0=f6+12|0,mn=O9+O0|0,e[mn>>2]=c4,q0=f6+8|0,Gu=O9+q0|0,e[Gu>>2]=c4;break e}}while(!1);if(nl=Ti+8|0,oA=e[nl>>2]|0,ol=e[138266]|0,Pu=oA>>>0>=ol>>>0,eu=Ti>>>0>=ol>>>0,Ou=Pu&eu,Ou){qu=oA+12|0,e[qu>>2]=c4,e[nl>>2]=c4,g2=f6+8|0,sA=O9+g2|0,e[sA>>2]=oA,d2=f6+12|0,sl=O9+d2|0,e[sl>>2]=Ti,Q0=f6+24|0,al=O9+Q0|0,e[al>>2]=0;break}else v2()}while(!1);return aA=O9+8|0,tt=aA,tt|0}else Le=f6}while(!1);if(pn=e[138264]|0,Hu=pn>>>0>>0,!Hu)return qs=pn-Le|0,ar=e[138267]|0,Yu=qs>>>0>15,Yu?(Vu=ar+Le|0,e[138267]=Vu,e[138264]=qs,Ju=qs|1,m1=Le+4|0,zu=ar+m1|0,e[zu>>2]=Ju,Ku=ar+pn|0,e[Ku>>2]=qs,Wu=Le|3,Zu=ar+4|0,e[Zu>>2]=Wu):(e[138264]=0,e[138267]=0,Xu=pn|3,eh=ar+4|0,e[eh>>2]=Xu,g0=pn+4|0,$l=ar+g0|0,Lr=e[$l>>2]|0,th=Lr|1,e[$l>>2]=th),ih=ar+8|0,tt=ih,tt|0;if(ll=e[138265]|0,rh=ll>>>0>Le>>>0,rh)return AA=ll-Le|0,e[138265]=AA,Hs=e[138268]|0,nh=Hs+Le|0,e[138268]=nh,oh=AA|1,H=Le+4|0,lA=Hs+H|0,e[lA>>2]=oh,cl=Le|3,gl=Hs+4|0,e[gl>>2]=cl,ul=Hs+8|0,tt=ul,tt|0;cA=e[138380]|0,hl=(cA|0)==0;do if(hl)if(Ys=mS(30)|0,sh=Ys+-1|0,dl=sh&Ys,Ah=(dl|0)==0,Ah){e[138382]=Ys,e[138381]=Ys,e[138383]=-1,e[138384]=-1,e[138385]=0,e[138373]=0,$h=eQ(0)|0,fl=$h&-16,lh=fl^1431655768,e[138380]=lh;break}else v2();while(!1);if(ch=Le+48|0,Il=e[138382]|0,ml=Le+47|0,pl=Il+ml|0,El=0-Il|0,En=pl&El,gh=En>>>0>Le>>>0,!gh||(Bl=e[138372]|0,uh=(Bl|0)==0,!uh&&(Ql=e[138370]|0,yl=Ql+En|0,hh=yl>>>0<=Ql>>>0,dh=yl>>>0>Bl>>>0,Sa=hh|dh,Sa)))return tt=0,tt|0;fh=e[138373]|0,gA=fh&4,vl=(gA|0)==0;e:do if(vl){mo=e[138268]|0,kl=(mo|0)==0;t:do if(kl)je=174;else{for(Fo=553496;;){if(uA=e[Fo>>2]|0,Ih=uA>>>0>mo>>>0,!Ih&&(Sl=Fo+4|0,mh=e[Sl>>2]|0,bl=uA+mh|0,ph=bl>>>0>mo>>>0,ph)){S=Fo,b=Sl;break}if(Eh=Fo+8|0,_l=e[Eh>>2]|0,Ch=(_l|0)==0,Ch){je=174;break t}else Fo=_l}if(Lh=e[138265]|0,Mh=pl-Lh|0,Ks=Mh&El,Rh=Ks>>>0<2147483647,Rh)if(Ws=Pi(Ks|0)|0,Fh=e[S>>2]|0,Nh=e[b>>2]|0,Gh=Fh+Nh|0,Ul=(Ws|0)==(Gh|0),o=Ul?Ks:0,Ul)if(Uh=(Ws|0)==-1,Uh)Or=o;else{g6=Ws,L4=o,je=194;break e}else wa=Ws,o7=Ks,_a=o,je=184;else Or=0}while(!1);do if((je|0)==174)if(Vs=Pi(0)|0,Bh=(Vs|0)==-1,Bh)Or=0;else if(hA=Vs,xl=e[138381]|0,Ll=xl+-1|0,Qh=Ll&hA,yh=(Qh|0)==0,yh?Ur=En:(wh=Ll+hA|0,kh=0-xl|0,Sh=wh&kh,Js=En-hA|0,Ml=Js+Sh|0,Ur=Ml),Rl=e[138370]|0,Fl=Rl+Ur|0,zs=Ur>>>0>Le>>>0,bh=Ur>>>0<2147483647,tp=zs&bh,tp){if(Tl=e[138372]|0,Dh=(Tl|0)==0,!Dh&&(_h=Fl>>>0<=Rl>>>0,xh=Fl>>>0>Tl>>>0,rp=_h|xh,rp)){Or=0;break}if(Gl=Pi(Ur|0)|0,dA=(Gl|0)==(Vs|0),ou=dA?Ur:0,dA){g6=Vs,L4=ou,je=194;break e}else wa=Gl,o7=Ur,_a=ou,je=184}else Or=0;while(!1);t:do if((je|0)==184){Ph=0-o7|0,Oh=(wa|0)!=-1,qh=o7>>>0<2147483647,op=qh&Oh,Pl=ch>>>0>o7>>>0,sp=Pl&op;do if(sp)if(Ol=e[138382]|0,Ar=ml-o7|0,Zs=Ar+Ol|0,IA=0-Ol|0,mA=Zs&IA,Cn=mA>>>0<2147483647,Cn)if(Hl=Pi(mA|0)|0,Bn=(Hl|0)==-1,Bn){Pi(Ph|0)|0,Or=_a;break t}else{Hh=mA+o7|0,h$=Hh;break}else h$=o7;else h$=o7;while(!1);if(Yl=(wa|0)==-1,Yl)Or=_a;else{g6=wa,L4=h$,je=194;break e}}while(!1);Yh=e[138373]|0,Vh=Yh|4,e[138373]=Vh,su=Or,je=191}else su=0,je=191;while(!1);if((je|0)==191&&(zh=En>>>0<2147483647,zh&&(js=Pi(En|0)|0,pA=Pi(0)|0,Mr=(js|0)!=-1,Kh=(pA|0)!=-1,np=Mr&Kh,Wh=js>>>0>>0,ap=Wh&np,ap&&(Vl=pA,EA=js,Jl=Vl-EA|0,zl=Le+40|0,Kl=Jl>>>0>zl>>>0,C2=Kl?Jl:su,Kl&&(g6=js,L4=C2,je=194)))),(je|0)==194){jh=e[138370]|0,CA=jh+L4|0,e[138370]=CA,Xh=e[138371]|0,ed=CA>>>0>Xh>>>0,ed&&(e[138371]=CA),z9=e[138268]|0,td=(z9|0)==0;e:do if(td){for(Wl=e[138266]|0,id=(Wl|0)==0,rd=g6>>>0>>0,Ap=id|rd,Ap&&(e[138266]=g6),e[138374]=g6,e[138375]=L4,e[138377]=0,nd=e[138380]|0,e[138271]=nd,e[138270]=-1,ka=0;QA=ka<<1,Zl=553088+(QA<<2)|0,h0=QA+3|0,od=553088+(h0<<2)|0,e[od>>2]=Zl,n0=QA+2|0,sd=553088+(n0<<2)|0,e[sd>>2]=Zl,jl=ka+1|0,jm=(jl|0)==32,!jm;)ka=jl;Xl=L4+-40|0,ad=g6+8|0,yA=ad,wA=yA&7,tc=(wA|0)==0,Ad=0-yA|0,ic=Ad&7,vA=tc?0:ic,$d=g6+vA|0,rc=Xl-vA|0,e[138268]=$d,e[138265]=rc,ld=rc|1,j=vA+4|0,cd=g6+j|0,e[cd>>2]=ld,h1=L4+-36|0,gd=g6+h1|0,e[gd>>2]=40,ud=e[138384]|0,e[138269]=ud}else{for(No=553496;;){if(oc=e[No>>2]|0,kA=No+4|0,Xs=e[kA>>2]|0,sc=oc+Xs|0,hd=(g6|0)==(sc|0),hd){E=oc,Q=kA,B=Xs,$p=No,je=204;break}if(ac=No+8|0,Ac=e[ac>>2]|0,dd=(Ac|0)==0,dd)break;No=Ac}if((je|0)==204&&(fd=$p+12|0,Id=e[fd>>2]|0,md=Id&8,pd=(md|0)==0,pd&&(Ed=z9>>>0>=E>>>0,Cd=z9>>>0>>0,iu=Cd&Ed,iu))){Bd=B+L4|0,e[Q>>2]=Bd,Qd=e[138265]|0,lc=Qd+L4|0,yd=z9+8|0,cc=yd,wd=cc&7,vd=(wd|0)==0,gc=0-cc|0,kd=gc&7,po=vd?0:kd,uc=z9+po|0,SA=lc-po|0,e[138268]=uc,e[138265]=SA,Sd=SA|1,c0=po+4|0,ea=z9+c0|0,e[ea>>2]=Sd,a1=lc+4|0,bA=z9+a1|0,e[bA>>2]=40,bd=e[138384]|0,e[138269]=bd;break}for(hc=e[138266]|0,Dd=g6>>>0>>0,Dd?(e[138266]=g6,Qo=g6):Qo=hc,_d=g6+L4|0,Go=553496;;){if(xd=e[Go>>2]|0,Ld=(xd|0)==(_d|0),Ld){I=Go,hr=Go,je=212;break}if(Md=Go+8|0,dc=e[Md>>2]|0,Rd=(dc|0)==0,Rd){To=553496;break}else Go=dc}if((je|0)==212)if(Fd=hr+12|0,Td=e[Fd>>2]|0,_A=Td&8,Nd=(_A|0)==0,Nd){e[I>>2]=g6,xA=hr+4|0,Gd=e[xA>>2]|0,Ud=Gd+L4|0,e[xA>>2]=Ud,Pd=g6+8|0,fc=Pd,Od=fc&7,qd=(Od|0)==0,Hd=0-fc|0,Vd=Hd&7,ia=qd?0:Vd,Jd=g6+ia|0,B0=L4+8|0,zd=g6+B0|0,Ic=zd,Kd=Ic&7,Wd=(Kd|0)==0,Zd=0-Ic|0,jd=Zd&7,E7=Wd?0:jd,_0=E7+L4|0,C7=g6+_0|0,pc=C7,LA=Jd,Xd=pc-LA|0,$0=ia+Le|0,i7=g6+$0|0,Co=Xd-Le|0,ef=Le|3,p0=ia+4|0,tf=g6+p0|0,e[tf>>2]=ef,rf=(C7|0)==(z9|0);t:do if(rf)nf=e[138265]|0,Ec=nf+Co|0,e[138265]=Ec,e[138268]=i7,sf=Ec|1,H1=$0+4|0,af=g6+H1|0,e[af>>2]=sf;else{if(Cc=e[138267]|0,Af=(C7|0)==(Cc|0),Af){$f=e[138264]|0,Bo=$f+Co|0,e[138264]=Bo,e[138267]=i7,MA=Bo|1,z1=$0+4|0,lf=g6+z1|0,e[lf>>2]=MA,q1=Bo+$0|0,Bc=g6+q1|0,e[Bc>>2]=Bo;break}if($1=L4+4|0,K0=$1+E7|0,gf=g6+K0|0,ra=e[gf>>2]|0,uf=ra&3,hf=(uf|0)==1,hf){Qc=ra&-8,yc=ra>>>3,df=ra>>>0<256;i:do if(df){U1=E7|8,z0=U1+L4|0,ff=g6+z0|0,yn=e[ff>>2]|0,D1=L4+12|0,J0=D1+E7|0,If=g6+J0|0,wn=e[If>>2]|0,pf=yc<<1,wc=553088+(pf<<2)|0,Ef=(yn|0)==(wc|0);do if(!Ef){if(Cf=yn>>>0>>0,Cf&&v2(),vc=yn+12|0,Bf=e[vc>>2]|0,kc=(Bf|0)==(C7|0),kc)break;v2()}while(!1);if(Qf=(wn|0)==(yn|0),Qf){RA=1<>>0>>0,vf&&v2(),Dc=wn+8|0,kf=e[Dc>>2]|0,Sf=(kf|0)==(C7|0),Sf){N=Dc;break}v2()}while(!1);bf=yn+12|0,e[bf>>2]=wn,e[N>>2]=yn}else{R1=E7|24,M0=R1+L4|0,Df=g6+M0|0,yo=e[Df>>2]|0,V1=L4+12|0,v0=V1+E7|0,_f=g6+v0|0,vn=e[_f>>2]|0,xf=(vn|0)==(C7|0);do if(xf){if(j1=E7|16,L0=$1+j1|0,Rc=g6+L0|0,Fc=e[Rc>>2]|0,Tf=(Fc|0)==0,Tf)if(G0=j1+L4|0,Tc=g6+G0|0,Nc=e[Tc>>2]|0,Nf=(Nc|0)==0,Nf){Ri=0;break}else bn=Nc,Ba=Tc;else bn=Fc,Ba=Rc;for(;;){if(Gc=bn+20|0,Uc=e[Gc>>2]|0,Uf=(Uc|0)==0,!Uf){bn=Uc,Ba=Gc;continue}if(Pc=bn+16|0,Oc=e[Pc>>2]|0,Pf=(Oc|0)==0,Pf){Vm=bn,Zg=Ba;break}else bn=Oc,Ba=Pc}if(Of=Zg>>>0>>0,Of)v2();else{e[Zg>>2]=0,Ri=Vm;break}}else if(F1=E7|8,T0=F1+L4|0,Lf=g6+T0|0,FA=e[Lf>>2]|0,Mf=FA>>>0>>0,Mf&&v2(),TA=FA+12|0,NA=e[TA>>2]|0,xc=(NA|0)==(C7|0),xc||v2(),Lc=vn+8|0,Ff=e[Lc>>2]|0,Mc=(Ff|0)==(C7|0),Mc){e[TA>>2]=vn,e[Lc>>2]=FA,Ri=vn;break}else v2();while(!1);if(qc=(yo|0)==0,qc)break;b1=L4+28|0,N0=b1+E7|0,GA=g6+N0|0,Hc=e[GA>>2]|0,Jc=553352+(Hc<<2)|0,qf=e[Jc>>2]|0,Hf=(C7|0)==(qf|0);do if(Hf){if(e[Jc>>2]=Ri,Zm=(Ri|0)==0,!Zm)break;Yf=1<>>0>>0,Wf&&v2(),zc=yo+16|0,Zf=e[zc>>2]|0,jf=(Zf|0)==(C7|0),jf?e[zc>>2]=Ri:(Xf=yo+20|0,e[Xf>>2]=Ri),Kc=(Ri|0)==0,Kc)break i;while(!1);Wc=e[138266]|0,eI=Ri>>>0>>0,eI&&v2(),Zc=Ri+24|0,e[Zc>>2]=yo,_1=E7|16,U0=_1+L4|0,PA=g6+U0|0,na=e[PA>>2]|0,jc=(na|0)==0;do if(!jc)if(iI=na>>>0>>0,iI)v2();else{rI=Ri+16|0,e[rI>>2]=na,nI=na+24|0,e[nI>>2]=Ri;break}while(!1);if(V0=$1+_1|0,Xc=g6+V0|0,oa=e[Xc>>2]|0,oI=(oa|0)==0,oI)break;if(sI=e[138266]|0,aI=oa>>>0>>0,aI)v2();else{AI=Ri+20|0,e[AI>>2]=oa,$I=oa+24|0,e[$I>>2]=Ri;break}}while(!1);s2=Qc|E7,F0=s2+L4|0,cI=g6+F0|0,gI=Qc+Co|0,tu=cI,n7=gI}else tu=C7,n7=Co;if(eg=tu+4|0,uI=e[eg>>2]|0,hI=uI&-2,e[eg>>2]=hI,dI=n7|1,b0=$0+4|0,fI=g6+b0|0,e[fI>>2]=dI,y0=n7+$0|0,sa=g6+y0|0,e[sa>>2]=n7,tg=n7>>>3,II=n7>>>0<256,II){kn=tg<<1,ig=553088+(kn<<2)|0,rg=e[138262]|0,OA=1<>2]|0,CI=e[138266]|0,QI=sg>>>0>>0,!QI){R=og,n$=sg;break}v2()}while(!1);e[R>>2]=i7,yI=n$+12|0,e[yI>>2]=i7,w1=$0+8|0,wI=g6+w1|0,e[wI>>2]=n$,v1=$0+12|0,aa=g6+v1|0,e[aa>>2]=ig;break}qA=n7>>>8,vI=(qA|0)==0;do if(vI)Nr=0;else{if(kI=n7>>>0>16777215,kI){Nr=31;break}SI=qA+1048320|0,bI=SI>>>16,ag=bI&8,Ag=qA<>>16,$g=xI&4,Rr=$g|ag,lg=Ag<<$g,cg=lg+245760|0,LI=cg>>>16,gg=LI&2,Aa=Rr|gg,RI=14-Aa|0,FI=lg<>>15,ug=RI+$a|0,TI=ug<<1,NI=ug+7|0,hg=n7>>>NI,GI=hg&1,UI=GI|TI,Nr=UI}while(!1);if(HA=553352+(Nr<<2)|0,k0=$0+28|0,PI=g6+k0|0,e[PI>>2]=Nr,Z0=$0+16|0,OI=g6+Z0|0,P0=$0+20|0,qI=g6+P0|0,e[qI>>2]=0,e[OI>>2]=0,dg=e[138263]|0,fg=1<>2]=i7,s1=$0+24|0,wo=g6+s1|0,e[wo>>2]=HA,i1=$0+12|0,VI=g6+i1|0,e[VI>>2]=i7,o1=$0+8|0,JI=g6+o1|0,e[JI>>2]=i7;break}YA=e[HA>>2]|0,pg=YA+4|0,zI=e[pg>>2]|0,KI=zI&-8,WI=(KI|0)==(n7|0);i:do if(WI)Gr=YA;else{for(ZI=(Nr|0)==31,Eg=Nr>>>1,jI=25-Eg|0,XI=ZI?0:jI,em=n7<>>31,wg=(l$+16|0)+(yg<<2)|0,vo=e[wg>>2]|0,_7=(vo|0)==0,_7){a=wg,Km=l$;break}if(tm=xo<<1,im=vo+4|0,Bg=e[im>>2]|0,Qg=Bg&-8,rm=(Qg|0)==(n7|0),rm){Gr=vo;break i}else xo=tm,l$=vo}if(lr=e[138266]|0,nm=a>>>0>>0,nm)v2();else{e[a>>2]=i7,Q1=$0+24|0,om=g6+Q1|0,e[om>>2]=Km,p1=$0+12|0,sm=g6+p1|0,e[sm>>2]=i7,B1=$0+8|0,am=g6+B1|0,e[am>>2]=i7;break t}}while(!1);if(VA=Gr+8|0,ga=e[VA>>2]|0,kg=e[138266]|0,Sg=ga>>>0>=kg>>>0,g$=Gr>>>0>=kg>>>0,Am=Sg&g$,Am){ko=ga+12|0,e[ko>>2]=i7,e[VA>>2]=i7,j0=$0+8|0,$m=g6+j0|0,e[$m>>2]=ga,E1=$0+12|0,ha=g6+E1|0,e[ha>>2]=Gr,I1=$0+24|0,JA=g6+I1|0,e[JA>>2]=0;break}else v2()}while(!1);return u1=ia|8,lm=g6+u1|0,tt=lm,tt|0}else To=553496;for(;;){if(zA=e[To>>2]|0,cm=zA>>>0>z9>>>0,!cm&&(gm=To+4|0,bg=e[gm>>2]|0,da=zA+bg|0,um=da>>>0>z9>>>0,um)){g=zA,d=bg,m=da;break}hm=To+8|0,dm=e[hm>>2]|0,To=dm}if(u0=d+-47|0,d0=d+-39|0,fm=g+d0|0,_g=fm,Im=_g&7,ri=(Im|0)==0,De=0-_g|0,r7=De&7,mm=ri?0:r7,g1=u0+mm|0,Lg=g+g1|0,KA=z9+16|0,pm=Lg>>>0>>0,Fr=pm?z9:Lg,So=Fr+8|0,Em=L4+-40|0,Cm=g6+8|0,Mg=Cm,WA=Mg&7,Bm=(WA|0)==0,Fg=0-Mg|0,Tg=Fg&7,ZA=Bm?0:Tg,jA=g6+ZA|0,Ng=Em-ZA|0,e[138268]=jA,e[138265]=Ng,bo=Ng|1,i0=ZA+4|0,XA=g6+i0|0,e[XA>>2]=bo,A1=L4+-36|0,Gg=g6+A1|0,e[Gg>>2]=40,Qm=e[138384]|0,e[138269]=Qm,Sn=Fr+4|0,e[Sn>>2]=27,e[So>>2]=e[138374]|0,e[So+4>>2]=e[138375]|0,e[So+8>>2]=e[138376]|0,e[So+12>>2]=e[138377]|0,e[138374]=g6,e[138375]=L4,e[138377]=0,e[138376]=So,Ug=Fr+28|0,e[Ug>>2]=7,fa=Fr+32|0,wm=fa>>>0>>0,wm)for(x7=Ug;Pg=x7+4|0,e[Pg>>2]=7,vm=x7+8|0,km=vm>>>0>>0,km;)x7=Pg;if(Sm=(Fr|0)==(z9|0),!Sm){if(bm=Fr,Dm=z9,L7=bm-Dm|0,xm=e[Sn>>2]|0,Lm=xm&-2,e[Sn>>2]=Lm,Mm=L7|1,Og=z9+4|0,e[Og>>2]=Mm,e[Fr>>2]=L7,B7=L7>>>3,Ia=L7>>>0<256,Ia){e$=B7<<1,qg=553088+(e$<<2)|0,Hg=e[138262]|0,Yg=1<>2]|0,Nm=e[138266]|0,Gm=zg>>>0>>0,Gm?v2():(L=Jg,i$=zg)),e[L>>2]=z9,Kg=i$+12|0,e[Kg>>2]=z9,Um=z9+8|0,e[Um>>2]=i$,ma=z9+12|0,e[ma>>2]=qg;break}if(pa=L7>>>8,Pm=(pa|0)==0,Pm?cr=0:(t$=L7>>>0>16777215,t$?cr=31:(Om=pa+1048320|0,qm=Om>>>16,Wg=qm&8,_o=pa<>>16,c2=Ym&4,r2=c2|Wg,A2=_o<>>16,m2=o2&2,t2=r2|m2,k2=14-t2|0,D2=A2<>>15,N2=k2+S2|0,L2=N2<<1,U2=N2+7|0,p2=L7>>>U2,W2=p2&1,P2=W2|L2,cr=P2)),V2=553352+(cr<<2)|0,G2=z9+28|0,e[G2>>2]=cr,q2=z9+20|0,e[q2>>2]=0,e[KA>>2]=0,Z2=e[138263]|0,H2=1<>2]=z9,i5=z9+24|0,e[i5>>2]=V2,_5=z9+12|0,e[_5>>2]=z9,j2=z9+8|0,e[j2>>2]=z9;break}I5=e[V2>>2]|0,b5=I5+4|0,Y5=e[b5>>2]|0,b2=Y5&-8,B5=(b2|0)==(L7|0);t:do if(B5)ya=I5;else{for(s5=(cr|0)==31,R2=cr>>>1,M2=25-R2|0,y2=s5?0:M2,Q5=L7<>>31,u5=(c$+16|0)+($5<<2)|0,x5=e[u5>>2]|0,y5=(x5|0)==0,y5){$=u5,Xg=c$;break}if(T5=a$<<1,m5=x5+4|0,L5=e[m5>>2]|0,Y2=L5&-8,p5=(Y2|0)==(L7|0),p5){ya=x5;break t}else a$=T5,c$=x5}if(T1=e[138266]|0,D5=$>>>0>>0,D5)v2();else{e[$>>2]=z9,h5=z9+24|0,e[h5>>2]=Xg,l5=z9+12|0,e[l5>>2]=z9,u2=z9+8|0,e[u2>>2]=z9;break e}}while(!1);if(w5=ya+8|0,r5=e[w5>>2]|0,a5=e[138266]|0,d5=r5>>>0>=a5>>>0,Xm=ya>>>0>=a5>>>0,z2=d5&Xm,z2){f5=r5+12|0,e[f5>>2]=z9,e[w5>>2]=z9,n5=z9+8|0,e[n5>>2]=r5,M5=z9+12|0,e[M5>>2]=ya,e5=z9+24|0,e[e5>>2]=0;break}else v2()}}while(!1);if(F2=e[138265]|0,v5=F2>>>0>Le>>>0,v5)return J5=F2-Le|0,e[138265]=J5,i3=e[138268]|0,E5=i3+Le|0,e[138268]=E5,I3=J5|1,Z=Le+4|0,d3=i3+Z|0,e[d3>>2]=I3,K5=Le|3,r3=i3+4|0,e[r3>>2]=K5,a3=i3+8|0,tt=a3,tt|0}return N5=XB()|0,e[N5>>2]=12,tt=0,tt|0}function E2(t){t=t|0;var o=0,a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0,Ie=0,z6=0,F4=0,T4=0,st=0,me=0,xe=0,mt=0,W3=0,_9=0,S9=0,Oe=0,a4=0,d8=0,N4=0;if(N4=C,o0=(t|0)==0,!o0){H=t+-8|0,W2=e[138266]|0,v6=H>>>0>>0,v6&&v2(),_6=t+-4|0,f9=e[_6>>2]|0,ie=f9&3,Ge=(ie|0)==1,Ge&&v2(),W9=f9&-8,Q=W9+-8|0,re=t+Q|0,h0=f9&1,n0=(h0|0)==0;do if(n0){if(_0=e[H>>2]|0,L0=(ie|0)==0,L0)return;if(y=-8-_0|0,x0=t+y|0,j0=_0+W9|0,b1=x0>>>0>>0,b1&&v2(),q1=e[138267]|0,s2=(x0|0)==(q1|0),s2){if(e0=W9+-4|0,c0=t+e0|0,$0=e[c0>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){W3=x0,_9=j0;break}e[138264]=j0,I0=$0&-2,e[c0>>2]=I0,g0=j0|1,x=y+4|0,f0=t+x|0,e[f0>>2]=g0,e[re>>2]=j0;return}if(o2=_0>>>3,P2=_0>>>0<256,P2){if(K=y+8|0,_5=t+K|0,y2=e[_5>>2]|0,a0=y+12|0,y5=t+a0|0,z2=e[y5>>2]|0,I3=o2<<1,X3=553088+(I3<<2)|0,Q3=(y2|0)==(X3|0),Q3||(E6=y2>>>0>>0,E6&&v2(),h6=y2+12|0,L3=e[h6>>2]|0,K6=(L3|0)==(x0|0),K6||v2()),e9=(z2|0)==(y2|0),e9){V6=1<>>0>>0,T6&&v2(),i9=z2+8|0,O6=e[i9>>2]|0,U3=(O6|0)==(x0|0),U3?g=i9:v2()),q6=y2+12|0,e[q6>>2]=z2,e[g>>2]=y2,W3=x0,_9=j0;break}M=y+24|0,a9=t+M|0,h9=e[a9>>2]|0,L=y+12|0,o9=t+L|0,C9=e[o9>>2]|0,B9=(C9|0)==(x0|0);do if(B9){if(F=y+20|0,ge=t+F|0,pe=e[ge>>2]|0,V9=(pe|0)==0,V9)if(R=y+16|0,R9=t+R|0,w9=e[R9>>2]|0,W6=(w9|0)==0,W6){k9=0;break}else Pe=w9,S4=R9;else Pe=pe,S4=ge;for(;;){if($9=Pe+20|0,we=e[$9>>2]|0,Re=(we|0)==0,!Re){Pe=we,S4=$9;continue}if(ue=Pe+16|0,D9=e[ue>>2]|0,Fe=(D9|0)==0,Fe){I4=Pe,Se=S4;break}else Pe=D9,S4=ue}if(Te=Se>>>0>>0,Te)v2();else{e[Se>>2]=0,k9=I4;break}}else if(V=y+8|0,Q9=t+V|0,d9=e[Q9>>2]|0,H9=d9>>>0>>0,H9&&v2(),y6=d9+12|0,H6=e[y6>>2]|0,A9=(H6|0)==(x0|0),A9||v2(),Y9=C9+8|0,y9=e[Y9>>2]|0,ye=(y9|0)==(x0|0),ye){e[y6>>2]=C9,e[Y9>>2]=d9,k9=C9;break}else v2();while(!1);if(qe=(h9|0)==0,qe)W3=x0,_9=j0;else{if(T=y+28|0,n4=t+T|0,ve=e[n4>>2]|0,He=553352+(ve<<2)|0,J9=e[He>>2]|0,Ye=(x0|0)==(J9|0),Ye){if(e[He>>2]=k9,me=(k9|0)==0,me){he=1<>>0>>0,k4&&v2(),Y4=h9+16|0,nt=e[Y4>>2]|0,Ve=(nt|0)==(x0|0),Ve?e[Y4>>2]=k9:(V4=h9+20|0,e[V4>>2]=k9),Je=(k9|0)==0,Je){W3=x0,_9=j0;break}o4=e[138266]|0,R4=k9>>>0>>0,R4&&v2(),ot=k9+24|0,e[ot>>2]=h9,N=y+16|0,u4=t+N|0,Ce=e[u4>>2]|0,N6=(Ce|0)==0;do if(!N6)if(ze=Ce>>>0>>0,ze)v2();else{P9=k9+16|0,e[P9>>2]=Ce,de=Ce+24|0,e[de>>2]=k9;break}while(!1);if(G=y+20|0,Ne=t+G|0,h4=e[Ne>>2]|0,ne=(h4|0)==0,ne)W3=x0,_9=j0;else if(d4=e[138266]|0,i0=h4>>>0>>0,i0)v2();else{j=k9+20|0,e[j>>2]=h4,u0=h4+24|0,e[u0>>2]=k9,W3=x0,_9=j0;break}}}else W3=H,_9=W9;while(!1);if(d0=W3>>>0>>0,d0||v2(),D=W9+-4|0,p0=t+D|0,C0=e[p0>>2]|0,S0=C0&1,Q0=(S0|0)==0,Q0&&v2(),b0=C0&2,E0=(b0|0)==0,E0){if(y0=e[138268]|0,w0=(re|0)==(y0|0),w0){if(B0=e[138265]|0,K0=B0+_9|0,e[138265]=K0,e[138268]=W3,M0=K0|1,v0=W3+4|0,e[v0>>2]=M0,T0=e[138267]|0,N0=(W3|0)==(T0|0),!N0)return;e[138267]=0,e[138264]=0;return}if(U0=e[138267]|0,O0=(re|0)==(U0|0),O0){k0=e[138264]|0,V0=k0+_9|0,e[138264]=V0,e[138267]=W3,F0=V0|1,G0=W3+4|0,e[G0>>2]=F0,z0=W3+V0|0,e[z0>>2]=V0;return}J0=C0&-8,q0=J0+_9|0,Z0=C0>>>3,P0=C0>>>0<256;do if(P0){if(H0=t+W9|0,s1=e[H0>>2]|0,w=W9|4,Y0=t+w|0,i1=e[Y0>>2]|0,o1=Z0<<1,d1=553088+(o1<<2)|0,u1=(s1|0)==(d1|0),u1||(m1=e[138266]|0,f1=s1>>>0>>0,f1&&v2(),h1=s1+12|0,A1=e[h1>>2]|0,g1=(A1|0)==(re|0),g1||v2()),a1=(i1|0)==(s1|0),a1){$1=1<>>0>>0,w1&&v2(),v1=i1+8|0,k1=e[v1>>2]|0,L1=(k1|0)==(re|0),L1?$=v1:v2()),M1=s1+12|0,e[M1>>2]=i1,e[$>>2]=s1}else{W=W9+16|0,_1=t+W|0,R1=e[_1>>2]|0,r0=W9|4,F1=t+r0|0,U1=e[F1>>2]|0,D1=(U1|0)==(re|0);do if(D1){if(J=W9+12|0,j1=t+J|0,O1=e[j1>>2]|0,g2=(O1|0)==0,g2)if(s0=W9+8|0,W1=t+s0|0,d2=e[W1>>2]|0,C2=(d2|0)==0,C2){fe=0;break}else f6=d2,Ie=W1;else f6=O1,Ie=j1;for(;;){if(a2=f6+20|0,K1=e[a2>>2]|0,h2=(K1|0)==0,!h2){f6=K1,Ie=a2;continue}if(l2=f6+16|0,i2=e[l2>>2]|0,c2=(i2|0)==0,c2){J4=f6,z6=Ie;break}else f6=i2,Ie=l2}if(r2=e[138266]|0,A2=z6>>>0>>0,A2)v2();else{e[z6>>2]=0,fe=J4;break}}else if(P1=t+W9|0,Z1=e[P1>>2]|0,G1=e[138266]|0,x1=Z1>>>0>>0,x1&&v2(),z1=Z1+12|0,H1=e[z1>>2]|0,Y1=(H1|0)==(re|0),Y1||v2(),V1=U1+8|0,X1=e[V1>>2]|0,n2=(X1|0)==(re|0),n2){e[z1>>2]=U1,e[V1>>2]=Z1,fe=U1;break}else v2();while(!1);if(e2=(R1|0)==0,!e2){if(S=W9+20|0,m2=t+S|0,t2=e[m2>>2]|0,k2=553352+(t2<<2)|0,D2=e[k2>>2]|0,S2=(re|0)==(D2|0),S2){if(e[k2>>2]=fe,xe=(fe|0)==0,xe){Q2=1<>>0>>0,V2&&v2(),G2=R1+16|0,q2=e[G2>>2]|0,Z2=(q2|0)==(re|0),Z2?e[G2>>2]=fe:(A5=R1+20|0,e[A5>>2]=fe),H2=(fe|0)==0,H2)break;N1=e[138266]|0,t5=fe>>>0>>0,t5&&v2(),F5=fe+24|0,e[F5>>2]=R1,b=W9+8|0,i5=t+b|0,j2=e[i5>>2]|0,I5=(j2|0)==0;do if(!I5)if(b5=j2>>>0>>0,b5)v2();else{Y5=fe+16|0,e[Y5>>2]=j2,g5=j2+24|0,e[g5>>2]=fe;break}while(!1);if(v=W9+12|0,b2=t+v|0,B5=e[b2>>2]|0,s5=(B5|0)==0,!s5)if(R2=e[138266]|0,M2=B5>>>0>>0,M2)v2();else{Q5=fe+20|0,e[Q5>>2]=B5,T5=B5+24|0,e[T5>>2]=fe;break}}}while(!1);if(m5=q0|1,x5=W3+4|0,e[x5>>2]=m5,q5=W3+q0|0,e[q5>>2]=q0,L5=e[138267]|0,Y2=(W3|0)==(L5|0),Y2){e[138264]=q0;return}else S9=q0}else p5=C0&-2,e[p0>>2]=p5,$5=_9|1,u5=W3+4|0,e[u5>>2]=$5,T1=W3+_9|0,e[T1>>2]=_9,S9=_9;if(D5=S9>>>3,h5=S9>>>0<256,h5){l5=D5<<1,X2=553088+(l5<<2)|0,u2=e[138262]|0,w5=1<>2]|0,M5=e[138266]|0,e5=n5>>>0>>0,e5?v2():(d=f5,f4=n5)),e[d>>2]=W3,c5=f4+12|0,e[c5>>2]=W3,F2=W3+8|0,e[F2>>2]=f4,v5=W3+12|0,e[v5>>2]=X2;return}J5=S9>>>8,i3=(J5|0)==0,i3?ke=0:(E5=S9>>>0>16777215,E5?ke=31:(d3=J5+1048320|0,K5=d3>>>16,r3=K5&8,a3=J5<>>16,W5=N5&4,D3=W5|r3,f3=a3<>>16,X5=q3&2,b3=D3|X5,t3=14-b3|0,s6=f3<>>15,H3=t3+T3|0,c3=H3<<1,g3=H3+7|0,u3=S9>>>g3,z5=u3&1,H5=z5|c3,ke=H5)),V5=553352+(ke<<2)|0,S5=W3+28|0,e[S5>>2]=ke,Y3=W3+16|0,G5=W3+20|0,e[G5>>2]=0,e[Y3>>2]=0,$6=e[138263]|0,n3=1<>2]=W3,_3=W3+24|0,e[_3>>2]=V5,S3=W3+12|0,e[S3>>2]=W3,a6=W3+8|0,e[a6>>2]=W3;else{i6=e[V5>>2]|0,V3=i6+4|0,Z5=e[V3>>2]|0,x3=Z5&-8,h3=(x3|0)==(S9|0);t:do if(h3)F4=i6;else{for(J3=(ke|0)==31,m3=ke>>>1,L6=25-m3|0,M6=J3?0:L6,R6=S9<>>31,o6=(T4+16|0)+(n6<<2)|0,d6=e[o6>>2]|0,C6=(d6|0)==0,C6){o=o6,st=T4;break}if(S6=s4<<1,r6=d6+4|0,b6=e[r6>>2]|0,G6=b6&-8,X6=(G6|0)==(S9|0),X6){F4=d6;break t}else s4=S6,T4=d6}if(z3=e[138266]|0,M3=o>>>0>>0,M3)v2();else{e[o>>2]=W3,K3=W3+24|0,e[K3>>2]=st,e6=W3+12|0,e[e6>>2]=W3,F6=W3+8|0,e[F6>>2]=W3;break e}}while(!1);if(l6=F4+8|0,o3=e[l6>>2]|0,A3=e[138266]|0,c6=o3>>>0>=A3>>>0,mt=F4>>>0>=A3>>>0,B6=c6&mt,B6){R3=o3+12|0,e[R3>>2]=W3,e[l6>>2]=W3,Y6=W3+8|0,e[Y6>>2]=o3,A6=W3+12|0,e[A6>>2]=F4,D6=W3+24|0,e[D6>>2]=0;break}else v2()}while(!1);if(U6=e[138270]|0,t9=U6+-1|0,e[138270]=t9,Q6=(t9|0)==0,Q6)a4=553504;else return;for(;Oe=e[a4>>2]|0,G3=(Oe|0)==0,n9=Oe+8|0,!G3;)a4=n9;e[138270]=-1}}function le(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0;return x=C,$=(t|0)==0,$?D=0:(g=o5(o,t)|0,I=o|t,E=I>>>0>65535,E?(Q=(g>>>0)/(t>>>0)&-1,B=(Q|0)==(o|0),a=B?g:-1,D=a):D=g),S=M9(D)|0,b=(S|0)==0,b||(v=S+-4|0,w=e[v>>2]|0,d=w&3,m=(d|0)==0,m)||g4(S|0,0,D|0)|0,S|0}function J7(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0;return K=C,a=(t|0)==0,a?($=M9(o)|0,V=$,V|0):(w=o>>>0>4294967231,w?(M=XB()|0,e[M>>2]=12,V=0,V|0):(L=o>>>0<11,R=o+11|0,F=R&-8,T=L?16:F,N=t+-8|0,G=sD(N,T)|0,g=(G|0)==0,g?(m=M9(o)|0,I=(m|0)==0,I?(V=0,V|0):(E=t+-4|0,Q=e[E>>2]|0,B=Q&-8,S=Q&3,b=(S|0)==0,v=b?8:4,D=B-v|0,y=D>>>0>>0,x=y?D:o,ce(m|0,t|0,x|0)|0,E2(t),V=m,V|0)):(d=G+8|0,V=d,V|0)))}function sD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0;if(W5=C,N=t+4|0,G=e[N>>2]|0,D1=G&-8,n2=t+D1|0,l2=e[138266]|0,S2=G&3,I3=t>>>0>=l2>>>0,d3=(S2|0)!=1,K5=d3&I3,Z2=t>>>0>>0,r3=K5&Z2,r3||v2(),x=D1|4,Y5=t+x|0,x5=e[Y5>>2]|0,l5=x5&1,V=(l5|0)==0,V&&v2(),i0=(S2|0)==0,i0)return d0=o>>>0<256,d0?(E5=0,E5|0):(K0=o+4|0,G0=D1>>>0>>0,!G0&&(o1=D1-o|0,E1=e[138382]|0,_1=E1<<1,F1=o1>>>0>_1>>>0,!F1)?(E5=t,E5|0):(E5=0,E5|0));if(U1=D1>>>0>>0,!U1)return P1=D1-o|0,Z1=P1>>>0>15,Z1?(G1=t+o|0,x1=G&1,z1=x1|o,q1=z1|2,e[N>>2]=q1,y=o+4|0,H1=t+y|0,Y1=P1|3,e[H1>>2]=Y1,V1=e[Y5>>2]|0,X1=V1|1,e[Y5>>2]=X1,DQ(G1,P1),E5=t,E5|0):(E5=t,E5|0);if(j1=e[138268]|0,O1=(n2|0)==(j1|0),O1)return g2=e[138265]|0,W1=g2+D1|0,d2=W1>>>0>o>>>0,d2?(s2=W1-o|0,C2=t+o|0,a2=G&1,K1=a2|o,h2=K1|2,e[N>>2]=h2,D=o+4|0,i2=t+D|0,c2=s2|1,e[i2>>2]=c2,e[138268]=C2,e[138265]=s2,E5=t,E5|0):(E5=0,E5|0);if(r2=e[138267]|0,A2=(n2|0)==(r2|0),A2)return e2=e[138264]|0,o2=e2+D1|0,m2=o2>>>0>>0,m2?(E5=0,E5|0):(t2=o2-o|0,k2=t2>>>0>15,k2?(D2=t+o|0,Q2=t+o2|0,N2=G&1,L2=N2|o,U2=L2|2,e[N>>2]=U2,b=o+4|0,p2=t+b|0,W2=t2|1,e[p2>>2]=W2,e[Q2>>2]=t2,w=o2+4|0,P2=t+w|0,V2=e[P2>>2]|0,G2=V2&-2,e[P2>>2]=G2,a3=D2,B3=t2):(q2=G&1,A5=q2|o2,H2=A5|2,e[N>>2]=H2,S=o2+4|0,N1=t+S|0,t5=e[N1>>2]|0,F5=t5|1,e[N1>>2]=F5,a3=0,B3=0),e[138264]=B3,e[138267]=a3,E5=t,E5|0);if(i5=x5&2,_5=(i5|0)==0,!_5||(j2=x5&-8,I5=j2+D1|0,b5=I5>>>0>>0,b5))return E5=0,E5|0;g5=I5-o|0,b2=x5>>>3,B5=x5>>>0<256;do if(B5){if(Q=D1+8|0,s5=t+Q|0,R2=e[s5>>2]|0,B=D1+12|0,M2=t+B|0,y2=e[M2>>2]|0,Q5=b2<<1,T5=553088+(Q5<<2)|0,m5=(R2|0)==(T5|0),m5||(q5=R2>>>0>>0,q5&&v2(),L5=R2+12|0,Y2=e[L5>>2]|0,p5=(Y2|0)==(n2|0),p5||v2()),$5=(y2|0)==(R2|0),$5){u5=1<>>0>>0,X2&&v2(),u2=y2+8|0,w5=e[u2>>2]|0,r5=(w5|0)==(n2|0),r5?$=u2:v2()),a5=R2+12|0,e[a5>>2]=y2,e[$>>2]=R2}else{g=D1+24|0,d5=t+g|0,z2=e[d5>>2]|0,v=D1+12|0,f5=t+v|0,n5=e[f5>>2]|0,M5=(n5|0)==(n2|0);do if(M5){if(L=D1+20|0,h0=t+L|0,j=e[h0>>2]|0,u0=(j|0)==0,u0)if(M=D1+16|0,c0=t+M|0,$0=e[c0>>2]|0,l0=($0|0)==0,l0){F2=0;break}else e5=$0,v5=c0;else e5=j,v5=h0;for(;;){if(Z=e5+20|0,I0=e[Z>>2]|0,g0=(I0|0)==0,!g0){e5=I0,v5=Z;continue}if(f0=e5+16|0,n0=e[f0>>2]|0,p0=(n0|0)==0,p0){c5=e5,J5=v5;break}else e5=n0,v5=f0}if(C0=J5>>>0>>0,C0)v2();else{e[J5>>2]=0,F2=c5;break}}else if(E=D1+8|0,e0=t+E|0,K=e[e0>>2]|0,a0=K>>>0>>0,a0&&v2(),W=K+12|0,r0=e[W>>2]|0,s0=(r0|0)==(n2|0),s0||v2(),J=n5+8|0,o0=e[J>>2]|0,H=(o0|0)==(n2|0),H){e[W>>2]=n5,e[J>>2]=K,F2=n5;break}else v2();while(!1);if(S0=(z2|0)==0,!S0){if(d=D1+28|0,Q0=t+d|0,b0=e[Q0>>2]|0,E0=553352+(b0<<2)|0,y0=e[E0>>2]|0,w0=(n2|0)==(y0|0),w0){if(e[E0>>2]=F2,i3=(F2|0)==0,i3){B0=1<>>0>>0,N0&&v2(),U0=z2+16|0,O0=e[U0>>2]|0,k0=(O0|0)==(n2|0),k0?e[U0>>2]=F2:(V0=z2+20|0,e[V0>>2]=F2),F0=(F2|0)==0,F0)break;L0=e[138266]|0,z0=F2>>>0>>0,z0&&v2(),J0=F2+24|0,e[J0>>2]=z2,m=D1+16|0,q0=t+m|0,Z0=e[q0>>2]|0,P0=(Z0|0)==0;do if(!P0)if(H0=Z0>>>0>>0,H0)v2();else{s1=F2+16|0,e[s1>>2]=Z0,Y0=Z0+24|0,e[Y0>>2]=F2;break}while(!1);if(I=D1+20|0,i1=t+I|0,x0=e[i1>>2]|0,d1=(x0|0)==0,!d1)if(u1=e[138266]|0,m1=x0>>>0>>0,m1)v2();else{f1=F2+20|0,e[f1>>2]=x0,h1=x0+24|0,e[h1>>2]=F2;break}}}while(!1);return A1=g5>>>0<16,A1?(g1=G&1,a1=I5|g1,$1=a1|2,e[N>>2]=$1,T=I5|4,j0=t+T|0,I1=e[j0>>2]|0,Q1=I1|1,e[j0>>2]=Q1,E5=t,E5|0):(p1=t+o|0,B1=G&1,w1=B1|o,v1=w1|2,e[N>>2]=v1,R=o+4|0,k1=t+R|0,L1=g5|3,e[k1>>2]=L1,F=I5|4,M1=t+F|0,b1=e[M1>>2]|0,R1=b1|1,e[M1>>2]=R1,DQ(p1,g5),E5=t,E5|0)}function DQ(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0,G0=0,z0=0,J0=0,q0=0,Z0=0,P0=0,H0=0,s1=0,Y0=0,i1=0,x0=0,o1=0,d1=0,u1=0,m1=0,f1=0,h1=0,A1=0,g1=0,a1=0,$1=0,j0=0,E1=0,I1=0,Q1=0,p1=0,B1=0,w1=0,v1=0,k1=0,L1=0,M1=0,b1=0,_1=0,R1=0,F1=0,U1=0,D1=0,P1=0,Z1=0,G1=0,x1=0,z1=0,q1=0,H1=0,Y1=0,V1=0,X1=0,n2=0,j1=0,O1=0,g2=0,W1=0,d2=0,s2=0,C2=0,a2=0,K1=0,h2=0,l2=0,i2=0,c2=0,r2=0,A2=0,e2=0,o2=0,m2=0,t2=0,k2=0,D2=0,S2=0,Q2=0,N2=0,L2=0,U2=0,p2=0,W2=0,P2=0,V2=0,G2=0,q2=0,Z2=0,A5=0,H2=0,N1=0,t5=0,F5=0,i5=0,_5=0,j2=0,I5=0,b5=0,Y5=0,g5=0,b2=0,B5=0,s5=0,R2=0,M2=0,y2=0,Q5=0,T5=0,m5=0,x5=0,q5=0,L5=0,Y2=0,p5=0,$5=0,u5=0,y5=0,T1=0,D5=0,h5=0,l5=0,X2=0,u2=0,w5=0,r5=0,a5=0,d5=0,z2=0,f5=0,n5=0,M5=0,e5=0,c5=0,F2=0,v5=0,J5=0,i3=0,E5=0,I3=0,d3=0,K5=0,r3=0,a3=0,B3=0,N5=0,W5=0,D3=0,f3=0,y3=0,X3=0,q3=0,X5=0,b3=0,t3=0,s6=0,T3=0,H3=0,c3=0,g3=0,u3=0,Q3=0,z5=0,H5=0,V5=0,S5=0,Y3=0,G5=0,$6=0,n3=0,l3=0,N3=0,E6=0,k3=0,_3=0,S3=0,a6=0,i6=0,V3=0,Z5=0,x3=0,h3=0,J3=0,h6=0,m3=0,L6=0,M6=0,R6=0,S6=0,r6=0,d6=0,b6=0,G6=0,X6=0,v6=0,L3=0,n6=0,o6=0,C6=0,z3=0,M3=0,K3=0,e6=0,F6=0,l6=0,o3=0,K6=0,A3=0,c6=0,B6=0,R3=0,Y6=0,A6=0,D6=0,U6=0,t9=0,Q6=0,e9=0,G3=0,n9=0,V6=0,s9=0,c9=0,P6=0,J6=0,T6=0,i9=0,_6=0,O6=0,U3=0,q6=0,a9=0,h9=0,o9=0,C9=0,B9=0,Q9=0,d9=0,f9=0,H9=0,y6=0,H6=0,A9=0,Y9=0,y9=0,ye=0,ge=0,pe=0,V9=0,ie=0,R9=0,w9=0,W6=0,$9=0,we=0,Re=0,ue=0,D9=0,Fe=0,Te=0,Ge=0,qe=0,n4=0,ve=0,He=0,J9=0,Ye=0,he=0,Ue=0,Ee=0,v4=0,W9=0,v9=0,k4=0,Y4=0,nt=0,Ve=0,V4=0,Je=0,o4=0,R4=0,ot=0,re=0,u4=0,Ce=0,N6=0,ze=0,P9=0,de=0,Ne=0,h4=0,ne=0,d4=0,f4=0,ke=0,s4=0,Pe=0,I4=0,k9=0,f6=0,J4=0,fe=0,S4=0,Se=0;Se=C,j=t+o|0,u0=t+4|0,q2=e[u0>>2]|0,C6=q2&1,e9=(C6|0)==0;do if(e9){if(O6=e[t>>2]|0,H9=q2&3,R9=(H9|0)==0,R9)return;if(qe=0-O6|0,v9=t+qe|0,c0=O6+o|0,S0=e[138266]|0,T0=v9>>>0>>0,T0&&v2(),q0=e[138267]|0,m1=(v9|0)==(q0|0),m1){if(v=o+4|0,re=t+v|0,$0=e[re>>2]|0,l0=$0&3,Z=(l0|0)==3,!Z){a=v9,$=c0;break}e[138264]=c0,I0=$0&-2,e[re>>2]=I0,g0=c0|1,L=4-O6|0,f0=t+L|0,e[f0>>2]=g0,e[j>>2]=c0;return}if(p1=O6>>>3,U1=O6>>>0<256,U1){if(W=8-O6|0,X1=t+W|0,h2=e[X1>>2]|0,r0=12-O6|0,D2=t+r0|0,Z2=e[D2>>2]|0,Y5=p1<<1,x5=553088+(Y5<<2)|0,l5=(h2|0)==(x5|0),l5||(e5=h2>>>0>>0,e5&&v2(),a3=h2+12|0,t3=e[a3>>2]|0,S5=(t3|0)==(v9|0),S5||v2()),a6=(Z2|0)==(h2|0),a6){R6=1<>>0>>0,Y6&&v2(),A6=Z2+8|0,D6=e[A6>>2]|0,U6=(D6|0)==(v9|0),U6?E=A6:v2()),t9=h2+12|0,e[t9>>2]=Z2,e[E>>2]=h2,a=v9,$=c0;break}R=24-O6|0,Q6=t+R|0,G3=e[Q6>>2]|0,F=12-O6|0,n9=t+F|0,V6=e[n9>>2]|0,s9=(V6|0)==(v9|0);do if(s9){if(T=16-O6|0,N=T+4|0,h9=t+N|0,o9=e[h9>>2]|0,C9=(o9|0)==0,C9)if(B9=t+T|0,Q9=e[B9>>2]|0,d9=(Q9|0)==0,d9){de=0;break}else ze=Q9,d4=B9;else ze=o9,d4=h9;for(;;){if(f9=ze+20|0,y6=e[f9>>2]|0,H6=(y6|0)==0,!H6){ze=y6,d4=f9;continue}if(A9=ze+16|0,Y9=e[A9>>2]|0,y9=(Y9|0)==0,y9){P9=ze,f4=d4;break}else ze=Y9,d4=A9}if(ye=f4>>>0>>0,ye)v2();else{e[f4>>2]=0,de=P9;break}}else if(a0=8-O6|0,c9=t+a0|0,P6=e[c9>>2]|0,J6=P6>>>0>>0,J6&&v2(),T6=P6+12|0,i9=e[T6>>2]|0,_6=(i9|0)==(v9|0),_6||v2(),U3=V6+8|0,q6=e[U3>>2]|0,a9=(q6|0)==(v9|0),a9){e[T6>>2]=V6,e[U3>>2]=P6,de=V6;break}else v2();while(!1);if(ge=(G3|0)==0,ge)a=v9,$=c0;else{if(V=28-O6|0,pe=t+V|0,V9=e[pe>>2]|0,ie=553352+(V9<<2)|0,w9=e[ie>>2]|0,W6=(v9|0)==(w9|0),W6){if(e[ie>>2]=de,f6=(de|0)==0,f6){$9=1<>>0>>0,Fe&&v2(),Te=G3+16|0,Ge=e[Te>>2]|0,n4=(Ge|0)==(v9|0),n4?e[Te>>2]=de:(ve=G3+20|0,e[ve>>2]=de),He=(de|0)==0,He){a=v9,$=c0;break}J9=e[138266]|0,Ye=de>>>0>>0,Ye&&v2(),he=de+24|0,e[he>>2]=G3,e0=16-O6|0,Ue=t+e0|0,Ee=e[Ue>>2]|0,v4=(Ee|0)==0;do if(!v4)if(W9=Ee>>>0>>0,W9)v2();else{k4=de+16|0,e[k4>>2]=Ee,Y4=Ee+24|0,e[Y4>>2]=de;break}while(!1);if(K=e0+4|0,nt=t+K|0,Ve=e[nt>>2]|0,V4=(Ve|0)==0,V4)a=v9,$=c0;else if(Je=e[138266]|0,o4=Ve>>>0>>0,o4)v2();else{R4=de+20|0,e[R4>>2]=Ve,ot=Ve+24|0,e[ot>>2]=de,a=v9,$=c0;break}}}else a=t,$=o;while(!1);if(n0=e[138266]|0,d0=j>>>0>>0,d0&&v2(),w=o+4|0,p0=t+w|0,C0=e[p0>>2]|0,Q0=C0&2,b0=(Q0|0)==0,b0){if(E0=e[138268]|0,y0=(j|0)==(E0|0),y0){if(w0=e[138265]|0,B0=w0+$|0,e[138265]=B0,e[138268]=a,_0=B0|1,K0=a+4|0,e[K0>>2]=_0,M0=e[138267]|0,v0=(a|0)==(M0|0),!v0)return;e[138267]=0,e[138264]=0;return}if(N0=e[138267]|0,U0=(j|0)==(N0|0),U0){O0=e[138264]|0,k0=O0+$|0,e[138264]=k0,e[138267]=a,V0=k0|1,F0=a+4|0,e[F0>>2]=V0,L0=a+k0|0,e[L0>>2]=k0;return}G0=C0&-8,z0=G0+$|0,J0=C0>>>3,Z0=C0>>>0<256;do if(Z0){if(x=o+8|0,P0=t+x|0,H0=e[P0>>2]|0,M=o+12|0,s1=t+M|0,Y0=e[s1>>2]|0,i1=J0<<1,x0=553088+(i1<<2)|0,o1=(H0|0)==(x0|0),o1||(d1=H0>>>0>>0,d1&&v2(),u1=H0+12|0,f1=e[u1>>2]|0,h1=(f1|0)==(j|0),h1||v2()),A1=(Y0|0)==(H0|0),A1){g1=1<>>0>>0,I1&&v2(),Q1=Y0+8|0,B1=e[Q1>>2]|0,w1=(B1|0)==(j|0),w1?I=Q1:v2()),v1=H0+12|0,e[v1>>2]=Y0,e[I>>2]=H0}else{G=o+24|0,k1=t+G|0,L1=e[k1>>2]|0,s0=o+12|0,M1=t+s0|0,b1=e[M1>>2]|0,_1=(b1|0)==(j|0);do if(_1){if(o0=o+20|0,H1=t+o0|0,Y1=e[H1>>2]|0,V1=(Y1|0)==0,V1)if(J=o+16|0,n2=t+J|0,j1=e[n2>>2]|0,O1=(j1|0)==0,O1){ne=0;break}else Ne=j1,ke=n2;else Ne=Y1,ke=H1;for(;;){if(g2=Ne+20|0,W1=e[g2>>2]|0,d2=(W1|0)==0,!d2){Ne=W1,ke=g2;continue}if(s2=Ne+16|0,C2=e[s2>>2]|0,a2=(C2|0)==0,a2){h4=Ne,s4=ke;break}else Ne=C2,ke=s2}if(K1=s4>>>0>>0,K1)v2();else{e[s4>>2]=0,ne=h4;break}}else if(y=o+8|0,R1=t+y|0,F1=e[R1>>2]|0,D1=F1>>>0>>0,D1&&v2(),P1=F1+12|0,Z1=e[P1>>2]|0,G1=(Z1|0)==(j|0),G1||v2(),x1=b1+8|0,z1=e[x1>>2]|0,q1=(z1|0)==(j|0),q1){e[P1>>2]=b1,e[x1>>2]=F1,ne=b1;break}else v2();while(!1);if(l2=(L1|0)==0,!l2){if(h0=o+28|0,i2=t+h0|0,c2=e[i2>>2]|0,r2=553352+(c2<<2)|0,A2=e[r2>>2]|0,e2=(j|0)==(A2|0),e2){if(e[r2>>2]=ne,J4=(ne|0)==0,J4){o2=1<>>0>>0,Q2&&v2(),N2=L1+16|0,L2=e[N2>>2]|0,U2=(L2|0)==(j|0),U2?e[N2>>2]=ne:(p2=L1+20|0,e[p2>>2]=ne),W2=(ne|0)==0,W2)break;P2=e[138266]|0,V2=ne>>>0>>0,V2&&v2(),G2=ne+24|0,e[G2>>2]=L1,i0=o+16|0,A5=t+i0|0,H2=e[A5>>2]|0,N1=(H2|0)==0;do if(!N1)if(t5=H2>>>0>>0,t5)v2();else{F5=ne+16|0,e[F5>>2]=H2,i5=H2+24|0,e[i5>>2]=ne;break}while(!1);if(D=o+20|0,_5=t+D|0,j2=e[_5>>2]|0,I5=(j2|0)==0,!I5)if(b5=e[138266]|0,g5=j2>>>0>>0,g5)v2();else{b2=ne+20|0,e[b2>>2]=j2,B5=j2+24|0,e[B5>>2]=ne;break}}}while(!1);if(s5=z0|1,R2=a+4|0,e[R2>>2]=s5,M2=a+z0|0,e[M2>>2]=z0,y2=e[138267]|0,Q5=(a|0)==(y2|0),Q5){e[138264]=z0;return}else g=z0}else T5=C0&-2,e[p0>>2]=T5,m5=$|1,q5=a+4|0,e[q5>>2]=m5,L5=a+$|0,e[L5>>2]=$,g=$;if(Y2=g>>>3,p5=g>>>0<256,p5){$5=Y2<<1,u5=553088+($5<<2)|0,y5=e[138262]|0,T1=1<>2]|0,r5=e[138266]|0,a5=w5>>>0>>0,a5?v2():(Q=u2,u4=w5)),e[Q>>2]=a,d5=u4+12|0,e[d5>>2]=a,z2=a+8|0,e[z2>>2]=u4,f5=a+12|0,e[f5>>2]=u5;return}if(n5=g>>>8,M5=(n5|0)==0,M5?Ce=0:(c5=g>>>0>16777215,c5?Ce=31:(F2=n5+1048320|0,v5=F2>>>16,J5=v5&8,i3=n5<>>16,d3=I3&4,K5=d3|J5,r3=i3<>>16,W5=N5&2,D3=K5|W5,f3=14-D3|0,y3=r3<>>15,q3=f3+X3|0,X5=q3<<1,b3=q3+7|0,s6=g>>>b3,T3=s6&1,H3=T3|X5,Ce=H3)),c3=553352+(Ce<<2)|0,g3=a+28|0,e[g3>>2]=Ce,u3=a+16|0,Q3=a+20|0,e[Q3>>2]=0,e[u3>>2]=0,z5=e[138263]|0,H5=1<>2]=a,$6=a+24|0,e[$6>>2]=c3,n3=a+12|0,e[n3>>2]=a,l3=a+8|0,e[l3>>2]=a;return}N3=e[c3>>2]|0,E6=N3+4|0,k3=e[E6>>2]|0,_3=k3&-8,S3=(_3|0)==(g|0);e:do if(S3)Pe=N3;else{for(i6=(Ce|0)==31,V3=Ce>>>1,Z5=25-V3|0,x3=i6?0:Z5,h3=g<>>31,d6=(I4+16|0)+(r6<<2)|0,m3=e[d6>>2]|0,b6=(m3|0)==0,b6){d=d6,k9=I4;break}if(J3=N6<<1,h6=m3+4|0,L6=e[h6>>2]|0,M6=L6&-8,S6=(M6|0)==(g|0),S6){Pe=m3;break e}else N6=J3,I4=m3}G6=e[138266]|0,X6=d>>>0>>0,X6&&v2(),e[d>>2]=a,v6=a+24|0,e[v6>>2]=k9,L3=a+12|0,e[L3>>2]=a,n6=a+8|0,e[n6>>2]=a;return}while(!1);o6=Pe+8|0,M3=e[o6>>2]|0,K3=e[138266]|0,e6=M3>>>0>=K3>>>0,fe=Pe>>>0>=K3>>>0,F6=e6&fe,F6||v2(),l6=M3+12|0,e[l6>>2]=a,e[o6>>2]=a,o3=a+8|0,e[o3>>2]=M3,K6=a+12|0,e[K6>>2]=Pe,A3=a+24|0,e[A3>>2]=0}function aD(){e[6410]=K9}function g4(t,o,a){t=t|0,o=o|0,a=a|0;var $=0,g=0,d=0,m=0;if($=t+a|0,(a|0)>=20){if(o=o&255,m=t&3,g=o|o<<8|o<<16|o<<24,d=$&-4,m)for(m=t+4-m|0;(t|0)<(m|0);)f[t>>0]=o,t=t+1|0;for(;(t|0)<(d|0);)e[t>>2]=g,t=t+4|0}for(;(t|0)<($|0);)f[t>>0]=o,t=t+1|0;return t-a|0}function tl(t){t=t|0;var o=0;for(o=t;f[o>>0]|0;)o=o+1|0;return o-t|0}function _Q(t,o){t=t|0,o=o|0;var a=0,$=0;$=t+(tl(t)|0)|0;do f[$+a>>0]=f[o+a>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function xQ(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>32-a,t<>>0,d=o+$+(g>>>0>>0|0)>>>0,j6=d,g|0|0}function ns(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>>a,t>>>a|(o&$)<<32-a):(j6=0,o>>>a-32|0)}function ce(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((a|0)>=4096)return IS(t|0,o|0,a|0)|0;if($=t|0,(t&3)==(o&3)){for(;t&3;){if(!(a|0))return $|0;f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0}for(;(a|0)>=4;)e[t>>2]=e[o>>2]|0,t=t+4|0,o=o+4|0,a=a-4|0}for(;(a|0)>0;)f[t>>0]=f[o>>0]|0,t=t+1|0,o=o+1|0,a=a-1|0;return $|0}function nA(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;if((o|0)<(t|0)&(t|0)<(o+a|0)){for($=t,o=o+a|0,t=t+a|0;(a|0)>0;)t=t-1|0,o=o-1|0,a=a-1|0,f[t>>0]=f[o>>0]|0;t=$}else ce(t,o,a)|0;return t|0}function BC(t,o){t=t|0,o=o|0;var a=0;do f[(t+a|0)>>0]=f[(o+a|0)>>0],a=a+1|0;while(f[o+(a-1)>>0]|0);return t|0}function os(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return g=t-a>>>0,d=o-$>>>0,d=o-$-(a>>>0>t>>>0|0)>>>0,j6=d,g|0|0}function x_(t,o,a){t=t|0,o=o|0,a=a|0;var $=0;return(a|0)<32?($=(1<>a,t>>>a|(o&$)<<32-a):(j6=(o|0)<0?-1:0,o>>a-32|0)}function LQ(t){t=t|0;var o=0;return o=f[G9+(t&255)>>0]|0,(o|0)<8?o|0:(o=f[G9+(t>>8&255)>>0]|0,(o|0)<8?o+8|0:(o=f[G9+(t>>16&255)>>0]|0,(o|0)<8?o+16|0:(f[G9+(t>>>24)>>0]|0)+24|0))}function AD(t,o){t=t|0,o=o|0;var a=0,$=0,g=0,d=0,m=0,I=0,E=0;return a=t&65535,$=o&65535,g=o5($,a)|0,d=t>>>16,m=(g>>>16)+(o5($,d)|0)|0,I=o>>>16,E=o5(I,a)|0,j6=((m>>>16)+(o5(I,d)|0)|0)+(((m&65535)+E|0)>>>16)|0,0|(m+E<<16|g&65535)|0}function L_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return g=o>>31|((o|0)<0?-1:0)<<1,d=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,m=$>>31|(($|0)<0?-1:0)<<1,I=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,E=os(g^t,d^o,g,d)|0,Q=j6,B=os(m^a,I^$,m,I)|0,S=m^g,b=I^d,v=sE(E,Q,B,j6,0)|0,w=os(v^S,j6^b,S,b)|0,w|0}function M_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0;return w=C,C=C+8|0,g=w|0,d=o>>31|((o|0)<0?-1:0)<<1,m=((o|0)<0?-1:0)>>31|((o|0)<0?-1:0)<<1,I=$>>31|(($|0)<0?-1:0)<<1,E=(($|0)<0?-1:0)>>31|(($|0)<0?-1:0)<<1,Q=os(d^t,m^o,d,m)|0,B=j6,S=os(I^a,E^$,I,E)|0,sE(Q,B,S,j6,g)|0,b=os(e[g>>2]^d,e[g+4>>2]^m,d,m)|0,v=j6,C=w,j6=v,b|0}function $D(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0,m=0,I=0,E=0;return g=t,d=a,m=AD(g,d)|0,I=j6,E=o5(o,d)|0,j6=((o5($,g)|0)+E|0)+I|I&0,0|m&-1|0}function R_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0;return g=sE(t,o,a,$,0)|0,g|0}function F_(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0;var g=0,d=0;return d=C,C=C+8|0,g=d|0,sE(t,o,a,$,g)|0,C=d,j6=e[g+4>>2]|0,e[g>>2]|0|0}function sE(t,o,a,$,g){t=t|0,o=o|0,a=a|0,$=$|0,g=g|0;var d=0,m=0,I=0,E=0,Q=0,B=0,S=0,b=0,v=0,w=0,D=0,y=0,x=0,M=0,L=0,R=0,F=0,T=0,N=0,G=0,V=0,e0=0,K=0,a0=0,W=0,r0=0,s0=0,J=0,o0=0,H=0,h0=0,i0=0,j=0,u0=0,c0=0,$0=0,l0=0,Z=0,I0=0,g0=0,f0=0,n0=0,d0=0,p0=0,C0=0,S0=0,Q0=0,b0=0,E0=0,y0=0,w0=0,B0=0,_0=0,K0=0,M0=0,v0=0,T0=0,N0=0,U0=0,O0=0,k0=0,V0=0,F0=0,L0=0;if(d=t,m=o,I=m,E=a,Q=$,B=Q,!(I|0))return S=(g|0)!=0,B|0?S?(e[g>>2]=t&-1,e[g+4>>2]=o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0):(S&&(e[g>>2]=(d>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(d>>>0)/(E>>>0)>>>0,j6=L0,F0|0);b=(B|0)==0;do if(E|0){if(!b){if(K=is(B|0)|0,a0=K-(is(I|0)|0)|0,a0>>>0<=31){W=a0+1|0,r0=31-a0|0,s0=a0-31>>31,i0=W,h0=d>>>(W>>>0)&s0|I<>>(W>>>0)&s0,o0=0,J=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}if(M=E-1|0,M&E|0){R=(is(E|0)|0)+33|0,F=R-(is(I|0)|0)|0,T=64-F|0,N=32-F|0,G=N>>31,V=F-32|0,e0=V>>31,i0=F,h0=N-1>>31&I>>>(V>>>0)|(I<>>(F>>>0))&e0,H=e0&I>>>(F>>>0),o0=d<>>(V>>>0))&G|d<>31;break}return g|0&&(e[g>>2]=M&d,e[g+4>>2]=0),(E|0)==1?(L0=m|o&0,F0=0|t&-1,j6=L0,F0|0):(L=LQ(E|0)|0,L0=0|I>>>(L>>>0),F0=I<<32-L|d>>>(L>>>0)|0,j6=L0,F0|0)}else{if(b)return g|0&&(e[g>>2]=(I>>>0)%(E>>>0),e[g+4>>2]=0),L0=0,F0=(I>>>0)/(E>>>0)>>>0,j6=L0,F0|0;if(!(d|0))return g|0&&(e[g>>2]=0,e[g+4>>2]=(I>>>0)%(B>>>0)),L0=0,F0=(I>>>0)/(B>>>0)>>>0,j6=L0,F0|0;if(v=B-1|0,!(v&B|0))return g|0&&(e[g>>2]=0|t&-1,e[g+4>>2]=v&I|o&0),L0=0,F0=I>>>((LQ(B|0)|0)>>>0),j6=L0,F0|0;if(w=is(B|0)|0,D=w-(is(I|0)|0)|0,D>>>0<=30){y=D+1|0,x=31-D|0,i0=y,h0=I<>>(y>>>0),H=I>>>(y>>>0),o0=0,J=d<>2]=0|t&-1,e[g+4>>2]=m|o&0,L0=0,F0=0,j6=L0,F0|0):(L0=0,F0=0,j6=L0,F0|0)}while(!1);if(!(i0|0))U0=J,N0=o0,T0=H,v0=h0,M0=0,K0=0;else{for(j=0|a&-1,u0=Q|$&0,c0=rs(j|0,u0|0,-1,-1)|0,$0=j6,n0=J,f0=o0,g0=H,I0=h0,Z=i0,l0=0;d0=f0>>>31|n0<<1,p0=l0|f0<<1,C0=0|(I0<<1|n0>>>31),S0=I0>>>31|g0<<1|0,os(c0,$0,C0,S0)|0,Q0=j6,b0=Q0>>31|((Q0|0)<0?-1:0)<<1,E0=b0&1,y0=os(C0,S0,b0&j,(((Q0|0)<0?-1:0)>>31|((Q0|0)<0?-1:0)<<1)&u0)|0,w0=y0,B0=j6,_0=Z-1|0,_0|0;)n0=d0,f0=p0,g0=B0,I0=w0,Z=_0,l0=E0;U0=d0,N0=p0,T0=B0,v0=w0,M0=0,K0=E0}return O0=N0,k0=0,V0=U0|k0,g|0&&(e[g>>2]=0|v0,e[g+4>>2]=T0|0),L0=(0|O0)>>>31|V0<<1|(k0<<1|O0>>>31)&0|M0,F0=(O0<<1|0)&-2|K0,j6=L0,F0|0}function lD(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,wC[t&3](o|0,a|0,$|0,g|0)|0}function cD(t,o){t=t|0,o=o|0,ss[t&7](o|0)}function gD(t,o,a){t=t|0,o=o|0,a=a|0,vC[t&3](o|0,a|0)}function uD(t,o){return t=t|0,o=o|0,FQ[t&1](o|0)|0}function hD(t,o,a,$){t=t|0,o=o|0,a=a|0,$=$|0,TQ[t&1](o|0,a|0,$|0)}function dD(t,o,a,$,g,d,m,I,E){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,E=E|0,NQ[t&3](o|0,a|0,$|0,g|0,d|0,m|0,I|0,E|0)|0}function fD(t,o,a){return t=t|0,o=o|0,a=a|0,mi[t&15](o|0,a|0)|0}function ID(t,o,a,$,g,d){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,kC[t&7](o|0,a|0,$|0,g|0,d|0)|0}function mD(t,o,a,$){return t=t|0,o=o|0,a=a|0,$=$|0,rn(0),0}function QC(t){t=t|0,rn(1)}function MQ(t,o){t=t|0,o=o|0,rn(2)}function pD(t){return t=t|0,rn(3),0}function ED(t,o,a){t=t|0,o=o|0,a=a|0,rn(4)}function RQ(t,o,a,$,g,d,m,I){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,d=d|0,m=m|0,I=I|0,rn(5),0}function il(t,o){return t=t|0,o=o|0,rn(6),0}function yC(t,o,a,$,g){return t=t|0,o=o|0,a=a|0,$=$|0,g=g|0,rn(7),0}var wC=[mD,ob,qS,HS],ss=[QC,ib,rb,db,Sb,bb,QC,QC],vC=[MQ,XS,Db,MQ],FQ=[pD,fb],TQ=[ED,ub],NQ=[RQ,Mb,Nb,RQ],mi=[il,eb,tb,nb,hb,Ib,_b,xb,sb,kb,Hb,il,il,il,il,il],kC=[yC,Lb,Rb,Fb,Tb,Gb,yC,yC];return{_memmove:nA,_strlen:tl,_strcat:_Q,_free:E2,_i64Add:rs,_encoder_clear:jb,_encoder_transfer_data:iD,_encoder_data_len:tD,_memset:g4,_malloc:M9,_memcpy:ce,_encoder_init:Zb,_encoder_process:eD,_bitshift64Lshr:ns,_bitshift64Shl:xQ,_strcpy:BC,_encoder_analysis_buffer:Xb,runPostSets:aD,stackAlloc:ES,stackSave:CS,stackRestore:BS,establishStackSpace:QS,setThrew:yS,setTempRet0:wS,getTempRet0:vS,dynCall_iiiii:lD,dynCall_vi:cD,dynCall_vii:gD,dynCall_ii:uD,dynCall_viii:hD,dynCall_iiiiiiiii:dD,dynCall_iii:fD,dynCall_iiiiii:ID}}(n.asmGlobalArg,n.asmLibraryArg,U7),a_=n.runPostSets=ee.runPostSets,tS=n._strlen=ee._strlen,iS=n._strcat=ee._strcat,lC=n._free=ee._free,A_=n._encoder_init=ee._encoder_init,rS=n._i64Add=ee._i64Add,nS=n._memmove=ee._memmove,$_=n._encoder_transfer_data=ee._encoder_transfer_data,l_=n._encoder_process=ee._encoder_process,c_=n._encoder_data_len=ee._encoder_data_len,oS=n._memset=ee._memset,xu=n._malloc=ee._malloc,sS=n._memcpy=ee._memcpy,g_=n._encoder_clear=ee._encoder_clear,aS=n._bitshift64Lshr=ee._bitshift64Lshr,u_=n._encoder_analysis_buffer=ee._encoder_analysis_buffer,AS=n._strcpy=ee._strcpy,$S=n._bitshift64Shl=ee._bitshift64Shl,h_=n.dynCall_iiiii=ee.dynCall_iiiii,d_=n.dynCall_vi=ee.dynCall_vi,f_=n.dynCall_vii=ee.dynCall_vii,I_=n.dynCall_ii=ee.dynCall_ii,m_=n.dynCall_viii=ee.dynCall_viii,p_=n.dynCall_iiiiiiiii=ee.dynCall_iiiiiiiii,E_=n.dynCall_iii=ee.dynCall_iii,C_=n.dynCall_iiiiii=ee.dynCall_iiiiii;_.stackAlloc=ee.stackAlloc,_.stackSave=ee.stackSave,_.stackRestore=ee.stackRestore,_.establishStackSpace=ee.establishStackSpace,_.setTempRet0=ee.setTempRet0,_.getTempRet0=ee.getTempRet0;var B_=function(){var r={math:{}};r.math.Long=function(z,D0){this.low_=z|0,this.high_=D0|0},r.math.Long.IntCache_={},r.math.Long.fromInt=function(z){if(-128<=z&&z<128){var D0=r.math.Long.IntCache_[z];if(D0)return D0}var e1=new r.math.Long(z|0,z<0?-1:0);return-128<=z&&z<128&&(r.math.Long.IntCache_[z]=e1),e1},r.math.Long.fromNumber=function(z){return isNaN(z)||!isFinite(z)?r.math.Long.ZERO:z<=-r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MIN_VALUE:z+1>=r.math.Long.TWO_PWR_63_DBL_?r.math.Long.MAX_VALUE:z<0?r.math.Long.fromNumber(-z).negate():new r.math.Long(z%r.math.Long.TWO_PWR_32_DBL_|0,z/r.math.Long.TWO_PWR_32_DBL_|0)},r.math.Long.fromBits=function(z,D0){return new r.math.Long(z,D0)},r.math.Long.fromString=function(z,D0){if(z.length==0)throw Error("number format error: empty string");var e1=D0||10;if(e1<2||36=0)throw Error('number format error: interior "-" character: '+z);for(var B2=r.math.Long.fromNumber(Math.pow(e1,8)),e3=r.math.Long.ZERO,O5=0;O5=0?this.low_:r.math.Long.TWO_PWR_32_DBL_+this.low_},r.math.Long.prototype.getNumBitsAbs=function(){if(this.isNegative())return this.equals(r.math.Long.MIN_VALUE)?64:this.negate().getNumBitsAbs();for(var z=this.high_!=0?this.high_:this.low_,D0=31;D0>0&&!(z&1<0},r.math.Long.prototype.greaterThanOrEqual=function(z){return this.compare(z)>=0},r.math.Long.prototype.compare=function(z){if(this.equals(z))return 0;var D0=this.isNegative(),e1=z.isNegative();return D0&&!e1?-1:!D0&&e1?1:this.subtract(z).isNegative()?-1:1},r.math.Long.prototype.negate=function(){return this.equals(r.math.Long.MIN_VALUE)?r.math.Long.MIN_VALUE:this.not().add(r.math.Long.ONE)},r.math.Long.prototype.add=function(z){var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,i4=0,ai=0,ir=0;return ir+=e3+q9,ai+=ir>>>16,ir&=65535,ai+=B2+r9,i4+=ai>>>16,ai&=65535,i4+=e1+F3,U9+=i4>>>16,i4&=65535,U9+=D0+O5,U9&=65535,r.math.Long.fromBits(ai<<16|ir,U9<<16|i4)},r.math.Long.prototype.subtract=function(z){return this.add(z.negate())},r.math.Long.prototype.multiply=function(z){if(this.isZero())return r.math.Long.ZERO;if(z.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE))return z.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(z.equals(r.math.Long.MIN_VALUE))return this.isOdd()?r.math.Long.MIN_VALUE:r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().multiply(z.negate()):this.negate().multiply(z).negate();if(z.isNegative())return this.multiply(z.negate()).negate();if(this.lessThan(r.math.Long.TWO_PWR_24_)&&z.lessThan(r.math.Long.TWO_PWR_24_))return r.math.Long.fromNumber(this.toNumber()*z.toNumber());var D0=this.high_>>>16,e1=this.high_&65535,B2=this.low_>>>16,e3=this.low_&65535,O5=z.high_>>>16,F3=z.high_&65535,r9=z.low_>>>16,q9=z.low_&65535,U9=0,i4=0,ai=0,ir=0;return ir+=e3*q9,ai+=ir>>>16,ir&=65535,ai+=B2*q9,i4+=ai>>>16,ai&=65535,ai+=e3*r9,i4+=ai>>>16,ai&=65535,i4+=e1*q9,U9+=i4>>>16,i4&=65535,i4+=B2*r9,U9+=i4>>>16,i4&=65535,i4+=e3*F3,U9+=i4>>>16,i4&=65535,U9+=D0*q9+e1*r9+B2*F3+e3*O5,U9&=65535,r.math.Long.fromBits(ai<<16|ir,U9<<16|i4)},r.math.Long.prototype.div=function(z){if(z.isZero())throw Error("division by zero");if(this.isZero())return r.math.Long.ZERO;if(this.equals(r.math.Long.MIN_VALUE)){if(z.equals(r.math.Long.ONE)||z.equals(r.math.Long.NEG_ONE))return r.math.Long.MIN_VALUE;if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ONE;var D0=this.shiftRight(1),e1=D0.div(z).shiftLeft(1);if(e1.equals(r.math.Long.ZERO))return z.isNegative()?r.math.Long.ONE:r.math.Long.NEG_ONE;var O5=this.subtract(z.multiply(e1)),B2=e1.add(O5.div(z));return B2}else if(z.equals(r.math.Long.MIN_VALUE))return r.math.Long.ZERO;if(this.isNegative())return z.isNegative()?this.negate().div(z.negate()):this.negate().div(z).negate();if(z.isNegative())return this.div(z.negate()).negate();for(var e3=r.math.Long.ZERO,O5=this;O5.greaterThanOrEqual(z);){for(var e1=Math.max(1,Math.floor(O5.toNumber()/z.toNumber())),F3=Math.ceil(Math.log(e1)/Math.LN2),r9=F3<=48?1:Math.pow(2,F3-48),q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);U9.isNegative()||U9.greaterThan(O5);)e1-=r9,q9=r.math.Long.fromNumber(e1),U9=q9.multiply(z);q9.isZero()&&(q9=r.math.Long.ONE),e3=e3.add(q9),O5=O5.subtract(U9)}return e3},r.math.Long.prototype.modulo=function(z){return this.subtract(this.div(z).multiply(z))},r.math.Long.prototype.not=function(){return r.math.Long.fromBits(~this.low_,~this.high_)},r.math.Long.prototype.and=function(z){return r.math.Long.fromBits(this.low_&z.low_,this.high_&z.high_)},r.math.Long.prototype.or=function(z){return r.math.Long.fromBits(this.low_|z.low_,this.high_|z.high_)},r.math.Long.prototype.xor=function(z){return r.math.Long.fromBits(this.low_^z.low_,this.high_^z.high_)},r.math.Long.prototype.shiftLeft=function(z){if(z&=63,z==0)return this;var D0=this.low_;if(z<32){var e1=this.high_;return r.math.Long.fromBits(D0<>>32-z)}else return r.math.Long.fromBits(0,D0<>>z|D0<<32-z,D0>>z)}else return r.math.Long.fromBits(D0>>z-32,D0>=0?0:-1)},r.math.Long.prototype.shiftRightUnsigned=function(z){if(z&=63,z==0)return this;var D0=this.high_;if(z<32){var e1=this.low_;return r.math.Long.fromBits(e1>>>z|D0<<32-z,D0>>>z)}else return z==32?r.math.Long.fromBits(D0,0):r.math.Long.fromBits(D0>>>z-32,0)};var l={appName:"Modern Browser"},u,f=0xdeadbeefcafe,Y=(f&16777215)==15715070;function e(z,D0,e1){z!=null&&(typeof z=="number"?this.fromNumber(z,D0,e1):D0==null&&typeof z!="string"?this.fromString(z,256):this.fromString(z,D0))}function X0(){return new e(null)}function r1(z,D0,e1,B2,e3,O5){for(;--O5>=0;){var F3=D0*this[z++]+e1[B2]+e3;e3=Math.floor(F3/67108864),e1[B2++]=F3&67108863}return e3}function x2(z,D0,e1,B2,e3,O5){for(var F3=D0&32767,r9=D0>>15;--O5>=0;){var q9=this[z]&32767,U9=this[z++]>>15,i4=r9*q9+U9*F3;q9=F3*q9+((i4&32767)<<15)+e1[B2]+(e3&1073741823),e3=(q9>>>30)+(i4>>>15)+r9*U9+(e3>>>30),e1[B2++]=q9&1073741823}return e3}function s(z,D0,e1,B2,e3,O5){for(var F3=D0&16383,r9=D0>>14;--O5>=0;){var q9=this[z]&16383,U9=this[z++]>>14,i4=r9*q9+U9*F3;q9=F3*q9+((i4&16383)<<14)+e1[B2]+e3,e3=(q9>>28)+(i4>>14)+r9*U9,e1[B2++]=q9&268435455}return e3}Y&&l.appName=="Microsoft Internet Explorer"?(e.prototype.am=x2,u=30):Y&&l.appName!="Netscape"?(e.prototype.am=r1,u=26):(e.prototype.am=s,u=28),e.prototype.DB=u,e.prototype.DM=(1<=0;--D0)z[D0]=this[D0];z.t=this.t,z.s=this.s}function Dt(z){this.t=1,this.s=z<0?-1:0,z>0?this[0]=z:z<-1?this[0]=z+DV:this.t=0}function te(z){var D0=X0();return D0.fromInt(z),D0}function It(z,D0){var e1;if(D0==16)e1=4;else if(D0==8)e1=3;else if(D0==256)e1=8;else if(D0==2)e1=1;else if(D0==32)e1=5;else if(D0==4)e1=2;else{this.fromRadix(z,D0);return}this.t=0,this.s=0;for(var B2=z.length,e3=!1,O5=0;--B2>=0;){var F3=e1==8?z[B2]&255:K9(z,B2);if(F3<0){z.charAt(B2)=="-"&&(e3=!0);continue}e3=!1,O5==0?this[this.t++]=F3:O5+e1>this.DB?(this[this.t-1]|=(F3&(1<>this.DB-O5):this[this.t-1]|=F3<=this.DB&&(O5-=this.DB)}e1==8&&z[0]&128&&(this.s=-1,O5>0&&(this[this.t-1]|=(1<0&&this[this.t-1]==z;)--this.t}function H7(z){if(this.s<0)return"-"+this.negate().toString(z);var D0;if(z==16)D0=4;else if(z==8)D0=3;else if(z==2)D0=1;else if(z==32)D0=5;else if(z==4)D0=2;else return this.toRadix(z);var e1=(1<0)for(r9>r9)>0&&(e3=!0,O5=G9(B2));F3>=0;)r9>(r9+=this.DB-D0)):(B2=this[F3]>>(r9-=D0)&e1,r9<=0&&(r9+=this.DB,--F3)),B2>0&&(e3=!0),e3&&(O5+=G9(B2));return e3?O5:"0"}function Y7(){var z=X0();return e.ZERO.subTo(this,z),z}function Qr(){return this.s<0?this.negate():this}function j$(z){var D0=this.s-z.s;if(D0!=0)return D0;var e1=this.t;if(D0=e1-z.t,D0!=0)return this.s<0?-D0:D0;for(;--e1>=0;)if((D0=this[e1]-z[e1])!=0)return D0;return 0}function jp(z){var D0=1,e1;return(e1=z>>>16)!=0&&(z=e1,D0+=16),(e1=z>>8)!=0&&(z=e1,D0+=8),(e1=z>>4)!=0&&(z=e1,D0+=4),(e1=z>>2)!=0&&(z=e1,D0+=2),(e1=z>>1)!=0&&(z=e1,D0+=1),D0}function xB(){return this.t<=0?0:this.DB*(this.t-1)+jp(this[this.t-1]^this.s&this.DM)}function LB(z,D0){var e1;for(e1=this.t-1;e1>=0;--e1)D0[e1+z]=this[e1];for(e1=z-1;e1>=0;--e1)D0[e1]=0;D0.t=this.t+z,D0.s=this.s}function MB(z,D0){for(var e1=z;e1=0;--r9)D0[r9+O5+1]=this[r9]>>B2|F3,F3=(this[r9]&e3)<=0;--r9)D0[r9]=0;D0[O5]=F3,D0.t=this.t+O5+1,D0.s=this.s,D0.clamp()}function FB(z,D0){D0.s=this.s;var e1=Math.floor(z/this.DB);if(e1>=this.t){D0.t=0;return}var B2=z%this.DB,e3=this.DB-B2,O5=(1<>B2;for(var F3=e1+1;F3>B2;B2>0&&(D0[this.t-e1-1]|=(this.s&O5)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2-=z.s}D0.s=B2<0?-1:0,B2<-1?D0[e1++]=this.DV+B2:B2>0&&(D0[e1++]=B2),D0.t=e1,D0.clamp()}function TB(z,D0){var e1=this.abs(),B2=z.abs(),e3=e1.t;for(D0.t=e3+B2.t;--e3>=0;)D0[e3]=0;for(e3=0;e3=0;)z[e1]=0;for(e1=0;e1=D0.DV&&(z[e1+D0.t]-=D0.DV,z[e1+D0.t+1]=1)}z.t>0&&(z[z.t-1]+=D0.am(e1,D0[e1],z,2*e1,0,1)),z.s=0,z.clamp()}function GB(z,D0,e1){var B2=z.abs();if(!(B2.t<=0)){var e3=this.abs();if(e3.t0?(B2.lShiftTo(q9,O5),e3.lShiftTo(q9,e1)):(B2.copyTo(O5),e3.copyTo(e1));var U9=O5.t,i4=O5[U9-1];if(i4!=0){var ai=i4*(1<1?O5[U9-2]>>this.F2:0),ir=this.FV/ai,ZB=(1<=0&&(e1[e1.t++]=1,e1.subTo(Pi,e1)),e.ONE.dlShiftTo(U9,Pi),Pi.subTo(O5,O5);O5.t=0;){var Xp=e1[--rA]==i4?this.DM:Math.floor(e1[rA]*ir+(e1[rA-1]+jB)*ZB);if((e1[rA]+=O5.am(0,Xp,e1,Mu,0,U9))0&&e1.rShiftTo(q9,e1),F3<0&&e.ZERO.subTo(e1,e1)}}}function UB(z){var D0=X0();return this.abs().divRemTo(z,null,D0),this.s<0&&D0.compareTo(e.ZERO)>0&&z.subTo(D0,D0),D0}function eA(z){this.m=z}function PB(z){return z.s<0||z.compareTo(this.m)>=0?z.mod(this.m):z}function OB(z){return z}function qB(z){z.divRemTo(this.m,null,z)}function HB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}function tA(z,D0){z.squareTo(D0),this.reduce(D0)}eA.prototype.convert=PB,eA.prototype.revert=OB,eA.prototype.reduce=qB,eA.prototype.mulTo=HB,eA.prototype.sqrTo=tA;function tr(){if(this.t<1)return 0;var z=this[0];if(!(z&1))return 0;var D0=z&3;return D0=D0*(2-(z&15)*D0)&15,D0=D0*(2-(z&255)*D0)&255,D0=D0*(2-((z&65535)*D0&65535))&65535,D0=D0*(2-z*D0%this.DV)%this.DV,D0>0?this.DV-D0:-D0}function qn(z){this.m=z,this.mp=z.invDigit(),this.mpl=this.mp&32767,this.mph=this.mp>>15,this.um=(1<0&&this.m.subTo(D0,D0),D0}function iA(z){var D0=X0();return z.copyTo(D0),this.reduce(D0),D0}function Hn(z){for(;z.t<=this.mt2;)z[z.t++]=0;for(var D0=0;D0>15)*this.mpl&this.um)<<15)&z.DM;for(e1=D0+this.m.t,z[e1]+=this.m.am(0,B2,z,D0,0,this.m.t);z[e1]>=z.DV;)z[e1]-=z.DV,z[++e1]++}z.clamp(),z.drShiftTo(this.m.t,z),z.compareTo(this.m)>=0&&z.subTo(this.m,z)}function YB(z,D0){z.squareTo(D0),this.reduce(D0)}function VB(z,D0,e1){z.multiplyTo(D0,e1),this.reduce(e1)}qn.prototype.convert=Lu,qn.prototype.revert=iA,qn.prototype.reduce=Hn,qn.prototype.mulTo=VB,qn.prototype.sqrTo=YB;function JB(){return(this.t>0?this[0]&1:this.s)==0}function ts(z,D0){if(z>4294967295||z<1)return e.ONE;var e1=X0(),B2=X0(),e3=D0.convert(this),O5=jp(z)-1;for(e3.copyTo(e1);--O5>=0;)if(D0.sqrTo(e1,B2),(z&1<0)D0.mulTo(B2,e3,e1);else{var F3=e1;e1=B2,B2=F3}return D0.revert(e1)}function zB(z,D0){var e1;return z<256||D0.isEven()?e1=new eA(D0):e1=new qn(D0),this.exp(z,e1)}e.prototype.copyTo=Qe,e.prototype.fromInt=Dt,e.prototype.fromString=It,e.prototype.clamp=t4,e.prototype.dlShiftTo=LB,e.prototype.drShiftTo=MB,e.prototype.lShiftTo=RB,e.prototype.rShiftTo=FB,e.prototype.subTo=j6,e.prototype.multiplyTo=TB,e.prototype.squareTo=NB,e.prototype.divRemTo=GB,e.prototype.invDigit=tr,e.prototype.isEven=JB,e.prototype.exp=ts,e.prototype.toString=H7,e.prototype.negate=Y7,e.prototype.abs=Qr,e.prototype.compareTo=j$,e.prototype.bitLength=xB,e.prototype.mod=UB,e.prototype.modPowInt=zB,e.ZERO=te(0),e.ONE=te(1);function Yn(z,D0){this.fromInt(0),D0==null&&(D0=10);for(var e1=this.chunkSize(D0),B2=Math.pow(D0,e1),e3=!1,O5=0,F3=0,r9=0;r9=e1&&(this.dMultiply(B2),this.dAddOffset(F3,0),O5=0,F3=0)}O5>0&&(this.dMultiply(Math.pow(D0,O5)),this.dAddOffset(F3,0)),e3&&e.ZERO.subTo(this,this)}function tn(z){return Math.floor(Math.LN2*this.DB/Math.log(z))}function gC(){return this.s<0?-1:this.t<=0||this.t==1&&this[0]<=0?0:1}function o5(z){this[this.t]=this.am(0,z-1,this,0,0,this.t),++this.t,this.clamp()}function KB(z,D0){if(z!=0){for(;this.t<=D0;)this[this.t++]=0;for(this[D0]+=z;this[D0]>=this.DV;)this[D0]-=this.DV,++D0>=this.t&&(this[this.t++]=0),++this[D0]}}function is(z){if(z==null&&(z=10),this.signum()==0||z<2||z>36)return"0";var D0=this.chunkSize(z),e1=Math.pow(z,D0),B2=te(e1),e3=X0(),O5=X0(),F3="";for(this.divRemTo(B2,e3,O5);e3.signum()>0;)F3=(e1+O5.intValue()).toString(z).substr(1)+F3,e3.divRemTo(B2,e3,O5);return O5.intValue().toString(z)+F3}function rn(){if(this.s<0){if(this.t==1)return this[0]-this.DV;if(this.t==0)return-1}else{if(this.t==1)return this[0];if(this.t==0)return 0}return(this[1]&(1<<32-this.DB)-1)<>=this.DB;if(z.t>=this.DB;B2+=this.s}else{for(B2+=this.s;e1>=this.DB;B2+=z.s}D0.s=B2<0?-1:0,B2>0?D0[e1++]=B2:B2<-1&&(D0[e1++]=this.DV+B2),D0.t=e1,D0.clamp()}e.prototype.fromRadix=Yn,e.prototype.chunkSize=tn,e.prototype.signum=gC,e.prototype.dMultiply=o5,e.prototype.dAddOffset=KB,e.prototype.toRadix=is,e.prototype.intValue=rn,e.prototype.addTo=WB;var l7={abs:function(z,D0){var e1=new r.math.Long(z,D0),B2;e1.isNegative()?B2=e1.negate():B2=e1,N9[bt>>2]=B2.low_,N9[bt+4>>2]=B2.high_},ensureTemps:function(){l7.ensuredTemps||(l7.ensuredTemps=!0,l7.two32=new e,l7.two32.fromString("4294967296",10),l7.two64=new e,l7.two64.fromString("18446744073709551616",10),l7.temp1=new e,l7.temp2=new e)},lh2bignum:function(z,D0){var e1=new e;e1.fromString(D0.toString(),10);var B2=new e;e1.multiplyTo(l7.two32,B2);var e3=new e;e3.fromString(z.toString(),10);var O5=new e;return e3.addTo(B2,O5),O5},stringify:function(z,D0,e1){var B2=new r.math.Long(z,D0).toString();if(e1&&B2[0]=="-"){l7.ensureTemps();var e3=new e;e3.fromString(B2,10),B2=new e,l7.two64.addTo(e3,B2),B2=B2.toString(10)}return B2},fromString:function(z,D0,e1,B2,e3){l7.ensureTemps();var O5=new e;O5.fromString(z,D0);var F3=new e;F3.fromString(e1,10);var r9=new e;if(r9.fromString(B2,10),e3&&O5.compareTo(e.ZERO)<0){var q9=new e;O5.addTo(l7.two64,q9),O5=q9}var U9=!1;O5.compareTo(F3)<0?(O5=F3,U9=!0):O5.compareTo(r9)>0&&(O5=r9,U9=!0);var i4=r.math.Long.fromString(O5.toString());if(N9[bt>>2]=i4.low_,N9[bt+4>>2]=i4.high_,U9)throw"range error"}};return l7}();function Xa(r){this.name="ExitStatus",this.message="Program terminated with exit("+r+")",this.status=r}Xa.prototype=new Error,Xa.prototype.constructor=Xa;var SB,Zp=null,lS=!1;O7=function r(){n.calledRun||cC(),n.calledRun||(O7=r)},n.callMain=n.callMain=function(l){e4(v8==0,"cannot call main when async dependencies remain! (listen on __ATMAIN__)"),e4(Yp.length==0,"cannot call main when preRun functions remain to be called"),l=l||[],Wo();var u=l.length+1;function f(){for(var r1=0;r1<3;r1++)Y.push(0)}var Y=[C3(en(n.thisProgram),"i8",Wa)];f();for(var e=0;e0||(Du(),v8>0)||n.calledRun)return;function l(){n.calledRun||(n.calledRun=!0,!t0&&(Wo(),pB(),c&&Zp!==null&&n.printErr("pre-main prep time: "+(Date.now()-Zp)+" ms"),n.onRuntimeInitialized&&n.onRuntimeInitialized(),n._main&&_B&&n.callMain(r),Y$()))}n.setStatus?(n.setStatus("Running..."),setTimeout(function(){setTimeout(function(){n.setStatus("")},1),l()},1)):l()}n.run=n.run=cC;function bB(r,l){if(!(l&&n.noExitRuntime))throw n.noExitRuntime||(t0=!0,n1=r,v7=SB,Vp(),n.onExit&&n.onExit(r)),h?(process.stdout.once("drain",function(){process.exit(r)}),console.log(" "),setTimeout(function(){process.exit(r)},500)):P&&typeof quit=="function"&&quit(r),new Xa(r)}n.exit=n.exit=bB;var DB=[];function es(r){r!==void 0?(n.print(r),n.printErr(r),r=JSON.stringify(r)):r="",t0=!0,n1=1;var l=` +If this abort() is unexpected, build with -s ASSERTIONS=1 which can give more information.`,u="abort("+r+") at "+Op()+l;throw DB&&DB.forEach(function(f){u=f(u,r)}),u}if(n.abort=n.abort=es,n.preInit)for(typeof n.preInit=="function"&&(n.preInit=[n.preInit]);n.preInit.length>0;)n.preInit.pop()();var _B=!0;n.noInitialRun&&(_B=!1),cC();var cS=n._encoder_init,gS=n._encoder_clear,uS=n._encoder_analysis_buffer,hS=n._encoder_process,dS=n._encoder_data_len,fS=n._encoder_transfer_data,k7=n.HEAPU8,K$=n.HEAPU32,W$=n.HEAPF32,Z$=function(r,l,u){this.numChannels=l,this.oggBuffers=[],this.encoder=cS(this.numChannels,r,u)};Z$.prototype.encode=function(r){for(var l=r[0].length,u=uS(this.encoder,l)>>2,f=0;f>2);this.process(l)},Z$.prototype.finish=function(){this.process(0);let r=this.oggBuffers.slice();return this.cleanup(),r},Z$.prototype.cancel=Z$.prototype.cleanup=function(){gS(this.encoder),delete this.encoder,delete this.oggBuffers},Z$.prototype.process=function(r){hS(this.encoder,r);var l=dS(this.encoder);if(l>0){var u=fS(this.encoder);this.oggBuffers.push(new Uint8Array(k7.subarray(u,u+l)))}},eC.OggVorbisEncoder=Z$}};typeof window<"u"&&window===self&&eC.init();function mk(n,i,A,c){let h=new eC.OggVorbisEncoder(A,i,c);h.encode(n);let p=h.finish(),P=p.reduce((U,W0)=>U+W0.length,0),X=new Uint8Array(P),O=0;for(let U of p)X.set(U,O),O+=U.length;return X}var tC=class{constructor(i,A){let c=document.getElementsByClassName("drop_prompt")[0];document.body.addEventListener("dragover",h=>{h.preventDefault(),c.classList.remove("hidden")}),document.body.addEventListener("dragleave",()=>{c.classList.add("hidden")}),document.body.addEventListener("drop",async h=>{h.preventDefault(),c.classList.add("hidden");let p=h.dataTransfer.files[0];if(!p)return;let P=p.name,X=await p.arrayBuffer(),O=X.slice(0,4),U=new TextDecoder;if(U.decode(O)==="RIFF"){let W0=X.slice(8,12);if(U.decode(W0)==="RMID"){i({buf:X,name:P});return}A(X);return}i({buf:X,name:P})})}};async function pk(){let n="locale.exportAudio.formats.formats.dls.warning.";w4(this.localeManager.getLocaleString(n+"title"),[{type:"text",textContent:this.localeManager.getLocaleString(n+"message"),attributes:{style:"color: red"}},{type:"toggle",translatePathTitle:"locale.exportAudio.formats.formats.soundfont.options.trim",attributes:{"trim-toggle":"1"}},{type:"button",textContent:this.localeManager.getLocaleString(n+"details"),onClick:()=>{window.open("https://github.com/spessasus/SpessaSynth/wiki/DLS-Conversion-Problem")}},{type:"button",textContent:this.localeManager.getLocaleString(n+"confirm"),onClick:async i=>{let A=i.div.querySelector("input[trim-toggle='1']").checked;_e(i.id),M7("%cExporting DLS...",C1.info);let c=await this.seq.getMIDI(),h=Ja(c.embeddedSoundFont||this.soundFont);Ua(c,await this.synth.getSynthesizerSnapshot()),A&&mu(h,c);let p=h.writeDLS(),P=new Blob([p.buffer],{type:"audio/dls"});this.saveBlob(P,`${h.soundFontInfo.INAM||"unnamed"}.dls`),g9()}}],99999999,!0,this.localeManager)}document.body.classList.add("load");var e_=!1,pr=class{channelColors=["rgba(255, 99, 71, 1)","rgba(255, 165, 0, 1)","rgba(255, 215, 0, 1)","rgba(50, 205, 50, 1)","rgba(60, 179, 113, 1)","rgba(0, 128, 0, 1)","rgba(0, 191, 255, 1)","rgba(65, 105, 225, 1)","rgba(138, 43, 226, 1)","rgba(50, 120, 125, 1)","rgba(255, 0, 255, 1)","rgba(255, 20, 147, 1)","rgba(218, 112, 214, 1)","rgba(240, 128, 128, 1)","rgba(255, 192, 203, 1)","rgba(255, 255, 0, 1)"];sfError;constructor(i,A,c,h=e_){this.localeManager=c,this.context=i,this.enableDebug=h,this.isExporting=!1,this.compressionFunc=mk;let p;this.ready=new Promise(P=>p=P),this.initializeContext(i,A).then(()=>{p()})}saveBlob(i,A){let c=URL.createObjectURL(i),h=document.createElement("a");h.href=c,h.download=A,h.click(),U5(h)}async initializeContext(i,A){if(!i.audioWorklet)throw alert("Audio worklet is not supported on your browser. Sorry!"),new Error("Audio worklet is not supported");for(let q of document.querySelectorAll("*[translate-path]"))this.localeManager.bindObjectProperty(q,"innerText",q.getAttribute("translate-path"));for(let q of document.querySelectorAll("*[translate-path-title]"))this.localeManager.bindObjectProperty(q,"innerText",q.getAttribute("translate-path-title")+".title"),this.localeManager.bindObjectProperty(q,"title",q.getAttribute("translate-path-title")+".description");this.soundFont=A;let h=this.enableDebug?"synthetizer/worklet_system/worklet_processor.js":Ik;this.enableDebug&&console.warn("DEBUG ENABLED! DEBUGGING ENABLED!!");let p=window.isLocalEdition?"../../../spessasynth_lib/":"../../spessasynth_lib/";this.workletPath=p+h,i.audioWorklet&&await i.audioWorklet.addModule(new URL(this.workletPath,import.meta.url));let P=new URL(p+"synthetizer/audio_effects/impulse_response_2.flac",import.meta.url),O=await(await fetch(P)).arrayBuffer();this.impulseResponse=await i.decodeAudioData(O),this.audioDelay=new DelayNode(i,{delayTime:0}),this.audioDelay.connect(i.destination),this.synth=new uu(this.audioDelay,this.soundFont,void 0,void 0,{chorusEnabled:!0,chorusConfig:void 0,reverbImpulseResponse:this.impulseResponse,reverbEnabled:!0}),this.synth.eventHandler.addEvent("soundfonterror","manager-sf-error",q=>{this.sfError&&this.sfError(q.message)}),await this.synth.isReady,this.midHandler=new GE,this.wml=new UE(this.synth),this.keyboard=new kp(this.channelColors,this.synth);let U=document.getElementById("note_canvas");U.width=window.innerWidth*window.devicePixelRatio,U.height=window.innerHeight*window.devicePixelRatio,this.renderer=new F7(this.channelColors,this.synth,U,this.audioDelay,window.SPESSASYNTH_VERSION),this.renderer.render(!0);let W0=!1,_=()=>{if(U.width=window.innerWidth*window.devicePixelRatio,U.height=window.innerHeight*window.devicePixelRatio,this.renderer.computeColors(),Ir){if(window.innerWidth/window.innerHeight>1){if(!W0){let q=document.getElementById("title_wrapper"),t0=document.getElementById("settings_div");W0=!0,q.parentElement.insertBefore(t0,q)}}else if(W0){let q=document.getElementById("title_wrapper"),t0=document.getElementById("settings_div");W0=!1,q.parentElement.insertBefore(q,t0)}}this.renderer.render(!1,!0)};_(),window.addEventListener("resize",_.bind(this)),window.addEventListener("orientationchange",_.bind(this)),Ir&&(this.renderer.keyRange={min:48,max:72},this.keyboard.setKeyRange({min:48,max:72},!1)),this.synthUI=new Jr(this.channelColors,document.getElementById("synthetizer_controls"),this.localeManager),this.synthUI.connectSynth(this.synth),this.synthUI.connectKeyboard(this.keyboard),this.playerUI=new YE(document.getElementById("player_info"),this.localeManager),this.seqUI=new Po(document.getElementById("sequencer_controls"),this.localeManager,this.playerUI),this.settingsUI=new w7(document.getElementById("settings_div"),this.synthUI,this.seqUI,this.renderer,this.keyboard,this.midHandler,this.playerUI,this.localeManager),this.dropFileHandler=new tC(q=>{this.play([{binary:q.buf,altName:q.name}]),q.name.length>20&&(q.name=q.name.substring(0,21)+"..."),document.getElementById("file_upload").textContent=q.name},q=>{this.reloadSf(q)}),document.addEventListener("keydown",q=>{switch(q.key.toLowerCase()){case oi.cinematicMode:this.seq&&this.seq.pause();let t0=window.prompt(`Cinematic mode activated! + Paste the link to the image for canvas (leave blank to disable)`,"");if(this.seq&&this.seq.play(),t0===null)return;U.style.background=`linear-gradient(rgba(0, 0, 0, 0.7), rgba(0, 0, 0, 0.7)), center center / cover url("${t0}")`,document.getElementsByClassName("top_part")[0].style.display="none",document.getElementsByClassName("bottom_part")[0].style.display="none",document.body.requestFullscreen().then();break;case oi.videoMode:this.seq&&this.seq.pause();let n1=window.prompt(`Video mode! Paste the link to the video source (leave blank to disable) -Note: the video will be available in console as 'video'`,"");if(a1===null)return;let _1=document.createElement("video");_1.src=a1,_1.classList.add("secret_video"),U.parentElement.appendChild(_1),_1.play(),window.video=_1,this.seq&&(_1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),_1.play(),this.seq.currentTime=0),document.addEventListener("keydown",f1=>{f1.key===" "&&(_1.paused?_1.play():_1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);Q4(new j5(i),4).toLowerCase()==="dls "&&w4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{_e(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{_e(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new RE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}downloadDesfont(){let i=Ja(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};pr.prototype.exportSong=hk;pr.prototype._exportAudioData=wv;pr.prototype._doExportAudioData=yv;pr.prototype.exportMidi=vv;pr.prototype._exportSoundfont=uk;pr.prototype._exportDLS=mk;pr.prototype._exportRMIDI=dk;var t_=44100;sy(!0,!0,!0,!0);var Kr=document.getElementById("title"),pk=document.getElementById("progress_bar"),x$=document.getElementById("midi_file_input");x$.value="";x$.focus();var aB=document.getElementById("export_button");aB.style.display="none";var $B=!1;window.loadedSoundfonts=[];var i_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=i_;async function r_(n,i){let A=await fetch(`${n}`);if(!A.ok)throw Kr.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),h=await(await A.body).getReader(),p=!1,O;try{O=new Uint8Array(parseInt(c))}catch(P){let U="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(U=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),w4("Warning",[{type:"text",textContent:U}]),P}let H=0;do{let P=await h.read();P.value&&(O.set(P.value,H),H+=P.value.length),p=P.done;let U=Math.round(H/c*100);i(U)}while(!p);return O.buffer}async function AB(n){if(!$B){setTimeout(()=>AB(n),100);return}await manager.ready;let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});Kr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(A):manager.play(A),aB.style.display="flex",aB.onclick=window.manager.exportSong.bind(window.manager)}async function Ek(n){async function i(){if(!window.audioContextMain){Kr.innerText="Press anywhere to start the app";return}window.manager?(window.manager.seq&&window.manager.seq.pause(),await window.manager.reloadSf(window.soundFontParser),window.manager.seq&&(window.manager.seq.currentTime-=.1)):(window.manager=new pr(audioContextMain,soundFontParser,Ck,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Kr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),$B=!0}if(window.loadedSoundfonts.find(c=>c.name===n)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===n).sf,await i();return}Kr.innerText="Downloading soundfont...";let A=await r_(n,c=>pk.style.width=`${c/100*Kr.offsetWidth}px`);Kr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=A,pk.style.width="0",window.loadedSoundfonts.push({name:n,sf:window.soundFontParser}),i()}),Kr.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let n=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new n({sampleRate:t_}),window.soundFontParser&&(window.manager=new pr(audioContextMain,soundFontParser,Ck,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Kr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),$B=!0)}document.body.onclick=null};var sB=[],Ck=new VE(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async n=>{if(!n.ok)throw Kr.innerText="Error fetching soundfonts!",n.statusText;let i=document.getElementById("sf_selector");sB=JSON.parse(await n.text());for(let A of sB){let c=document.createElement("option");c.value=A.name;let h=A.name;h.length>29&&(h=h.substring(0,30)+"..."),c.innerText=h,i.appendChild(c)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Ek(i.value),window.manager.seq&&(Kr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Ek(sB[0].name),x$.files[0]&&await AB(x$.files),x$.onchange=async()=>{x$.files[0]&&await AB(x$.files)}});function n_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=n_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(A=>{n(A)}))});window.isLocalEdition=!0; +Note: the video will be available in console as 'video'`,"");if(n1===null)return;let S1=document.createElement("video");S1.src=n1,S1.classList.add("secret_video"),U.parentElement.appendChild(S1),S1.play(),window.video=S1,this.seq&&(S1.currentTime=parseFloat(window.prompt("Video offset to sync to midi, in seconds.","0")),S1.play(),this.seq.currentTime=0),document.addEventListener("keydown",c1=>{c1.key===" "&&(S1.paused?S1.play():S1.pause())});break}}),this.renderer.render(!1,!0)}doDLSCheck(){if(window.isLocalEdition!==!0){let i=this.soundFont.slice(8,12);Q4(new j5(i),4).toLowerCase()==="dls "&&w4(this.localeManager.getLocaleString("locale.convertDls.title"),[{type:"text",textContent:this.localeManager.getLocaleString("locale.convertDls.message")},{type:"button",textContent:this.localeManager.getLocaleString("locale.yes"),onClick:c=>{_e(c.id),this.downloadDesfont()}},{type:"button",textContent:this.localeManager.getLocaleString("locale.no"),onClick:c=>{_e(c.id)}}],99999999)}}async reloadSf(i){await this.synth.soundfontManager.reloadManager(i),this.soundFont=i,setTimeout(()=>{this.doDLSCheck()},3e3)}play(i){if(this.synth){if(this.seq){this.seq.loadNewSongList(i),this.seq.play(!0);return}this.seq=new RE(i,this.synth),this.seq.onError=A=>{document.getElementById("title").textContent=A},this.seqUI.connectSequencer(this.seq),this.playerUI.connectSequencer(this.seq),this.renderer.connectSequencer(this.seq),this.settingsUI.addSequencer(this.seq)}}downloadDesfont(){let i=Ja(this.soundFont),A=i.write(),c=new Blob([A.buffer],{type:"audio/soundfont"});this.saveBlob(c,`${i.soundFontInfo.INAM}.sf2`)}};pr.prototype.exportSong=dk;pr.prototype._exportAudioData=vv;pr.prototype._doExportAudioData=wv;pr.prototype.exportMidi=kv;pr.prototype._exportSoundfont=hk;pr.prototype._exportDLS=pk;pr.prototype._exportRMIDI=fk;var t_=44100;oy(!0,!0,!0,!0);var Kr=document.getElementById("title"),Ek=document.getElementById("progress_bar"),x$=document.getElementById("midi_file_input");x$.value="";x$.focus();var sB=document.getElementById("export_button");sB.style.display="none";var AB=!1;window.loadedSoundfonts=[];var i_=await(await fetch("/getversion")).text();window.SPESSASYNTH_VERSION=i_;async function r_(n,i){let A=await fetch(`${n}`);if(!A.ok)throw Kr.innerText="Error downloading soundfont!",A;let c=A.headers.get("content-length"),h=await(await A.body).getReader(),p=!1,P;try{P=new Uint8Array(parseInt(c))}catch(O){let U="Your browser ran out of memory. Consider using Firefox or SF3 soundfont instead

(see console for error)";throw window.manager&&(U=manager.localeManager.getLocaleString("locale.warnings.outOfMemory")),w4("Warning",[{type:"text",textContent:U}]),O}let X=0;do{let O=await h.read();O.value&&(P.set(O.value,X),X+=O.value.length),p=O.done;let U=Math.round(X/c*100);i(U)}while(!p);return P.buffer}async function aB(n){if(!AB){setTimeout(()=>aB(n),100);return}await manager.ready;let i;n[0].name.length>20?i=n[0].name.substring(0,21)+"...":i=n[0].name,n.length>1&&(i+=` and ${n.length-1} others`),document.getElementById("file_upload").innerText=i,document.getElementById("file_upload").title=n[0].name;let A=[];for(let c of n)A.push({binary:await c.arrayBuffer(),altName:c.name});Kr.style.fontStyle="italic",manager.seq?manager.seq.loadNewSongList(A):manager.play(A),sB.style.display="flex",sB.onclick=window.manager.exportSong.bind(window.manager)}async function Ck(n){async function i(){if(!window.audioContextMain){Kr.innerText="Press anywhere to start the app";return}window.manager?(window.manager.seq&&window.manager.seq.pause(),await window.manager.reloadSf(window.soundFontParser),window.manager.seq&&(window.manager.seq.currentTime-=.1)):(window.manager=new pr(audioContextMain,soundFontParser,Bk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Kr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0)),AB=!0}if(window.loadedSoundfonts.find(c=>c.name===n)){window.soundFontParser=window.loadedSoundfonts.find(c=>c.name===n).sf,await i();return}Kr.innerText="Downloading soundfont...";let A=await r_(n,c=>Ek.style.width=`${c/100*Kr.offsetWidth}px`);Kr.innerText="Parsing soundfont...",setTimeout(()=>{window.soundFontParser=A,Ek.style.width="0",window.loadedSoundfonts.push({name:n,sf:window.soundFontParser}),i()}),Kr.innerText=window.TITLE}document.body.onclick=async()=>{if(!window.audioContextMain){navigator.mediaSession&&(navigator.mediaSession.playbackState="playing");let n=window.AudioContext||window.webkitAudioContext;window.audioContextMain=new n({sampleRate:t_}),window.soundFontParser&&(window.manager=new pr(audioContextMain,soundFontParser,Bk,!0),window.TITLE=window.manager.localeManager.getLocaleString("locale.titleMessage"),Kr.innerText="Initializing...",await manager.ready,manager.synth.setLogLevel(!0,!0,!0,!0),AB=!0)}document.body.onclick=null};var oB=[],Bk=new VE(navigator.language.split("-")[0].toLowerCase());fetch("soundfonts").then(async n=>{if(!n.ok)throw Kr.innerText="Error fetching soundfonts!",n.statusText;let i=document.getElementById("sf_selector");oB=JSON.parse(await n.text());for(let A of oB){let c=document.createElement("option");c.value=A.name;let h=A.name;h.length>29&&(h=h.substring(0,30)+"..."),c.innerText=h,i.appendChild(c)}i.onchange=()=>{i.blur(),fetch(`/setlastsf2?sfname=${encodeURIComponent(i.value)}`),window.manager.seq&&window.manager.seq.pause(),Ck(i.value),window.manager.seq&&(Kr.innerText=window.manager.seq.midiData.midiName||window.TITLE)},await Ck(oB[0].name),x$.files[0]&&await aB(x$.files),x$.onchange=async()=>{x$.files[0]&&await aB(x$.files)}});function n_(n){fetch("/savesettings",{method:"POST",body:JSON.stringify(n),headers:{"Content-type":"application/json; charset=UTF-8"}}).then()}window.saveSettings=n_;window.savedSettings=new Promise(n=>{fetch("/getsettings").then(i=>i.json().then(A=>{n(A)}))});window.isLocalEdition=!0;